:root {
  --ink: #1e2925;
  --muted: #64716b;
  --paper: #f7f5ef;
  --white: #fffefa;
  --green: #3f765f;
  --green-dark: #285342;
  --mint: #d9e8df;
  --coral: #e8866b;
  --yellow: #f0c76b;
  --line: #d9ddd7;
  --shadow: 0 24px 70px rgba(31, 48, 41, .16);
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--paper); }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "DM Sans", sans-serif; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
.app-shell { min-height: 100vh; overflow: hidden; }

.site-header {
  position: fixed; z-index: 20; top: 0; left: 0; width: 100%; height: 82px;
  display: flex; align-items: center; justify-content: space-between; padding: 0 clamp(24px, 5vw, 76px);
}
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); font-family: Manrope, sans-serif; font-size: 19px; font-weight: 700; text-decoration: none; }
.brand-mark { position: relative; display: inline-grid; place-items: center; width: 28px; height: 28px; border: 2px solid var(--green); border-radius: 50%; }
.brand-mark::before, .brand-mark span { content: ""; position: absolute; width: 2px; height: 8px; background: var(--green); border-radius: 2px; transform: translateY(-4px); transform-origin: bottom; }
.brand-mark span { transform: rotate(120deg) translateY(-4px); }
.header-actions { display: flex; align-items: center; gap: 22px; }
.text-button, .inline-action { border: 0; padding: 0; background: none; cursor: pointer; font-weight: 600; }
.text-button:hover, .inline-action:hover { color: var(--green); }
.button { min-height: 48px; border: 1px solid transparent; border-radius: 6px; padding: 0 22px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; cursor: pointer; font-weight: 700; transition: transform .2s, background .2s, border-color .2s; }
.button:hover { transform: translateY(-2px); }
.button svg { width: 18px; }
.button-dark { color: white; background: var(--ink); }
.button-dark:hover { background: var(--green-dark); }
.button-small { min-height: 42px; padding-inline: 18px; }
.button-primary { color: white; background: var(--green); }
.button-primary:hover { background: var(--green-dark); }
.button-primary:disabled { cursor: wait; opacity: .65; transform: none; }
.button-quiet { border-color: #cbd1cc; background: rgba(255,255,255,.45); }
.button-full { width: 100%; margin-top: 6px; }

.view { display: none; min-height: 100vh; }
.view.is-active { display: flex; }
.landing-view { position: relative; flex-direction: column; justify-content: center; padding: 110px clamp(24px, 8vw, 130px) 42vh; background: var(--paper); }
.hero-content { position: relative; z-index: 3; width: min(680px, 100%); padding-top: 3vh; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 20px; color: var(--green); font-size: 13px; font-weight: 700; letter-spacing: 0; text-transform: uppercase; }
.eyebrow > span { width: 28px; height: 2px; background: var(--coral); }
h1 { max-width: 680px; margin: 0; font-family: Manrope, sans-serif; font-size: clamp(54px, 6.3vw, 96px); line-height: .98; letter-spacing: 0; }
.hero-copy { max-width: 480px; margin: 26px 0 30px; color: var(--muted); font-size: 19px; line-height: 1.6; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }

.product-scene { position: absolute; z-index: 1; left: 0; right: 0; bottom: -220px; height: 58vh; min-height: 480px; padding: 30px clamp(24px, 6vw, 90px); overflow: hidden; }
.scene-wash { position: absolute; inset: 0; background: #c7dbcf; }
.calendar-preview { position: relative; width: min(1120px, 100%); height: 590px; margin: 0 auto; display: grid; grid-template-columns: 220px 1fr; overflow: hidden; border: 1px solid rgba(40,83,66,.2); border-radius: 8px; background: var(--white); box-shadow: var(--shadow); transform: rotate(-1.5deg); }
.preview-sidebar { padding: 26px 22px; border-right: 1px solid var(--line); background: #f2f4ef; }
.mini-month { margin-bottom: 20px; font-weight: 700; }.mini-month span { color: var(--muted); font-weight: 400; }
.mini-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px 5px; text-align: center; font-size: 11px; }
.mini-grid span { color: #8c9791; font-size: 9px; }.mini-grid b { min-height: 20px; font-weight: 500; }.mini-grid .selected { display: grid; place-items: center; color: white; border-radius: 50%; background: var(--green); }
.preview-calendars { margin-top: 30px; color: var(--muted); font-size: 12px; }.preview-calendars + .preview-calendars { margin-top: 12px; }.preview-calendars i { display: inline-block; width: 9px; height: 9px; margin-right: 8px; border-radius: 2px; background: var(--coral); }.preview-calendars:last-child i { background: var(--green); }
.preview-main { padding: 25px 32px; }.preview-top { display: flex; justify-content: space-between; margin-bottom: 28px; }.preview-top span { padding: 6px 13px; border: 1px solid var(--line); border-radius: 4px; color: var(--muted); font-size: 11px; }
.week-head { display: grid; grid-template-columns: repeat(5, 1fr); padding-left: 45px; text-align: center; color: #849089; font-size: 9px; line-height: 2; }.week-head b { color: var(--ink); font-size: 17px; }.week-head .today b { display: inline-grid; place-items: center; width: 30px; height: 30px; color: white; border-radius: 50%; background: var(--green); }
.week-body { position: relative; height: 330px; margin-top: 10px; margin-left: 45px; background: repeating-linear-gradient(to bottom, var(--line) 0, var(--line) 1px, transparent 1px, transparent 62px), repeating-linear-gradient(to right, var(--line) 0, var(--line) 1px, transparent 1px, transparent 20%); }
.time-labels { position: absolute; left: -45px; top: -7px; display: grid; gap: 46px; color: #929d97; font-size: 9px; }
.event { position: absolute; width: 17%; min-height: 70px; padding: 10px; border-radius: 5px; font-size: 11px; font-weight: 700; }.event small { display: block; margin-top: 7px; font-size: 9px; font-weight: 400; }.event-green { top: 32px; left: 22%; background: var(--mint); }.event-coral { top: 125px; left: 62%; background: #f5d5cb; }.event-yellow { top: 218px; left: 42%; background: #fae7ba; }

.auth-view { position: relative; align-items: center; justify-content: flex-end; min-height: 100vh; min-height: 100dvh; padding: 70px clamp(24px, 7vw, 110px) 70px calc(39% + clamp(24px, 7vw, 110px)); overflow-y: auto; background: var(--white); }
.back-button { position: absolute; z-index: 3; top: 32px; left: clamp(24px, 5vw, 76px); display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; color: white; background: rgba(255,255,255,.06); cursor: pointer; }.back-button svg { width: 19px; }
.auth-panel { position: relative; z-index: 2; width: min(430px, 100%); margin: 0 auto; }
.auth-heading { margin-bottom: 32px; }.auth-mark { display: none; margin-bottom: 34px; }.auth-heading .eyebrow { margin-bottom: 12px; }.auth-heading h2 { margin: 0 0 10px; font-family: Manrope, sans-serif; font-size: 36px; }.auth-heading > p:last-child { margin: 0; color: var(--muted); }
label { display: inline-block; margin-bottom: 8px; font-size: 13px; font-weight: 700; }.password-label { display: flex; justify-content: space-between; margin-top: 20px; }.password-label .inline-action { margin-bottom: 8px; color: var(--green); font-size: 12px; }
.input-wrap { position: relative; }.input-wrap > svg { position: absolute; top: 15px; left: 15px; width: 18px; color: #829089; }.input-wrap input { width: 100%; height: 50px; border: 1px solid #cfd5d0; border-radius: 5px; padding: 0 48px 0 45px; outline: none; color: var(--ink); background: white; }.input-wrap input:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(63,118,95,.12); }.input-wrap input::placeholder { color: #9aa39e; }
.icon-button { display: grid; place-items: center; width: 38px; height: 38px; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }.input-wrap .icon-button { position: absolute; top: 6px; right: 7px; }.icon-button svg { width: 18px; }
.form-message { min-height: 22px; margin: 12px 0 4px; color: #b14935; font-size: 13px; }.form-message.success { color: var(--green); }
.auth-switch { margin: 22px 0 0; text-align: center; color: var(--muted); font-size: 14px; }.auth-switch .inline-action { color: var(--green); }
.signup-invite-field { margin-top: 20px; }.signup-invite-field label { display: block; }.signup-invite-field small { display: block; margin-top: 6px; color: var(--muted); font-size: 11px; }
.auth-aside { position: absolute; left: 0; top: 0; bottom: 0; width: 39%; display: flex; flex-direction: column; justify-content: flex-end; padding: 10vh 5vw; overflow: hidden; background: var(--green-dark); color: white; }.auth-aside::before { content: ""; position: absolute; inset: 9% 12%; border: 1px solid rgba(255,255,255,.12); }.auth-aside blockquote { position: relative; z-index: 2; max-width: 390px; margin: 0 0 28px; font-family: Manrope, sans-serif; font-size: 27px; line-height: 1.45; }.aside-lines { position: absolute; inset: 10% -20% auto 18%; height: 46%; transform: rotate(-12deg); }.aside-lines span { display: block; height: 1px; margin: 50px 0; background: rgba(255,255,255,.13); }.aside-lines span:nth-child(2) { width: 75%; }.aside-lines span:nth-child(3) { width: 58%; }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.calendar-view { flex-direction: column; background: #f3f5f1; }.calendar-app-header { height: 68px; flex: 0 0 68px; display: grid; grid-template-columns: 1fr minmax(260px, auto) 1fr; align-items: center; gap: 20px; padding: 0 24px; border-bottom: 1px solid var(--line); background: var(--white); }.account-menu { display: flex; align-items: center; justify-self: end; gap: 14px; color: var(--muted); font-size: 13px; }.bordered { border: 1px solid var(--line); border-radius: 5px; }
.calendar-center { display: flex; align-items: center; gap: 10px; }.calendar-switcher { position: relative; width: 260px; height: 40px; display: flex; align-items: center; border: 1px solid var(--line); border-radius: 5px; background: #f7f8f5; }.calendar-switcher > svg:first-of-type { width: 17px; margin-left: 12px; color: var(--green); }.calendar-switcher > svg:last-of-type { position: absolute; right: 10px; width: 15px; color: var(--muted); pointer-events: none; }.calendar-switcher select { width: 100%; height: 100%; border: 0; padding: 0 34px 0 10px; outline: none; appearance: none; color: var(--ink); background: transparent; cursor: pointer; font-size: 13px; font-weight: 600; }
.team-switcher { height: 40px; display: flex; align-items: center; border: 1px solid var(--line); border-radius: 5px; background: white; }.team-switcher > svg { width: 16px; margin-left: 10px; color: var(--green); }.team-switcher select { width: 145px; height: 100%; border: 0; padding: 0 6px; outline: none; color: var(--ink); background: transparent; cursor: pointer; font-size: 12px; font-weight: 600; }.team-switcher .icon-button { width: 32px; height: 32px; margin-right: 3px; border-left: 1px solid var(--line); border-radius: 0; color: var(--muted); }.team-switcher .icon-button svg { width: 15px; }
.collaboration-status { height: 40px; display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; white-space: nowrap; }.live-dot { width: 7px; height: 7px; border-radius: 50%; background: #aeb7b1; }.live-dot.is-live { background: #3aa76d; box-shadow: 0 0 0 3px rgba(58,167,109,.13); }.live-dot.has-error { background: #d46954; }.collaborator-list { display: flex; padding-left: 3px; }.collaborator-avatar { width: 25px; height: 25px; display: grid; place-items: center; margin-left: -5px; border: 2px solid var(--white); border-radius: 50%; color: white; background: var(--green); font-size: 8px; font-weight: 700; }.collaboration-status .icon-button { width: 34px; height: 34px; margin-left: 2px; background: white; }
.avatar-button { display: grid; place-items: center; width: 38px; height: 38px; border: 0; border-radius: 50%; color: white; background: var(--green); cursor: pointer; font-size: 13px; font-weight: 700; }
.app-workspace { flex: 1; min-height: 0; display: grid; grid-template-columns: 190px 1fr; }.app-nav { display: flex; flex-direction: column; gap: 5px; padding: 20px 14px; border-right: 1px solid var(--line); background: #eef1ec; }.app-nav-item { width: 100%; min-height: 42px; display: flex; align-items: center; gap: 12px; border: 0; border-radius: 5px; padding: 0 13px; color: var(--muted); background: transparent; cursor: pointer; font-size: 14px; font-weight: 600; text-align: left; }.app-nav-item svg { width: 18px; }.app-nav-item:hover { color: var(--ink); background: rgba(255,255,255,.65); }.app-nav-item.is-active { color: var(--green-dark); background: white; box-shadow: 0 1px 4px rgba(31,48,41,.07); }.nav-signout { margin-top: auto; }
.app-page { display: none; min-width: 0; min-height: 0; overflow: auto; }.app-page.is-active { display: block; }#calendar-page.is-active { display: flex; flex-direction: column; }#calendar-container { flex: 1; min-height: 0; display: flex; flex-direction: column; padding: 0 18px 18px; }#calendar { width: 100%; min-height: 500px; flex: 1; max-width: 1500px; margin: auto; padding: 20px; border: 1px solid var(--line); border-radius: 7px; background: white; box-shadow: 0 12px 35px rgba(31,48,41,.08); }
.task-calendar-toolbar { min-height: 92px; max-width: 1500px; display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 0 auto 10px; padding: 12px 18px; border: 1px solid var(--line); border-radius: 7px; background: white; }.task-calendar-toolbar .eyebrow { margin: 0 0 2px; color: var(--muted); font-size: 9px; }.task-calendar-toolbar h3 { display: inline; margin: 0 10px 0 0; font-family: Manrope, sans-serif; font-size: 20px; }.task-calendar-toolbar > div > span { color: var(--muted); font-size: 11px; }.task-calendar-filters { display: flex; align-items: flex-end; gap: 9px; }.task-calendar-filters label { margin: 0; color: var(--muted); font-size: 9px; text-transform: uppercase; }.task-calendar-filters select { min-width: 125px; height: 36px; display: block; margin-top: 4px; border: 1px solid var(--line); border-radius: 5px; padding: 0 28px 0 10px; color: var(--ink); background: #f6f7f4; font-size: 11px; text-transform: none; }.task-calendar-filters .button { min-height: 36px; padding-inline: 13px; font-size: 11px; }
.content-workspace { flex: 1; min-width: 0; overflow: auto; padding: 38px clamp(24px, 4vw, 64px) 60px; background: var(--white); }.content-workspace.calendar-mode { flex: 0 0 auto; overflow: visible; padding-bottom: 0; }.content-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; max-width: 1320px; margin: 0 auto 18px; padding-top: 8px; border-top: 1px solid var(--line); }.content-header .eyebrow { margin: 20px 0 5px; }.content-header h2 { margin: 0; font-family: Manrope, sans-serif; font-size: 31px; }.content-header-actions { display: flex; align-items: center; gap: 9px; }.content-search { position: relative; display: flex; align-items: center; margin: 0; }.content-search svg { position: absolute; left: 11px; width: 17px; color: var(--muted); }.content-search input { width: 190px; height: 38px; border: 1px solid var(--line); border-radius: 5px; padding: 0 12px 0 35px; outline: none; background: #f5f4f0; }.content-search input:focus { border-color: var(--green); background: white; }.content-view-switcher { max-width: 1320px; display: flex; gap: 8px; margin: 0 auto 25px; }.content-view-button { min-height: 42px; display: inline-flex; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 21px; padding: 0 17px; color: var(--muted); background: white; cursor: pointer; font-weight: 600; }.content-view-button svg { width: 18px; }.content-view-button.is-active { color: var(--ink); background: #f1f0ec; }
.content-list-panel { max-width: 1320px; margin: auto; }.content-table-wrap { overflow-x: auto; border-bottom: 1px solid var(--line); }.content-table { width: 100%; min-width: 900px; border-collapse: collapse; table-layout: fixed; }.content-table th { height: 48px; border-bottom: 1px solid var(--line); padding: 8px 10px; color: #6c756f; font-size: 12px; font-weight: 500; text-align: left; vertical-align: bottom; }.content-table th:first-child { width: 33%; }.content-table th:nth-child(2) { width: 12%; }.content-table th:nth-child(3) { width: 16%; }.content-table th:nth-child(4) { width: 15%; }.content-table th:nth-child(5) { width: 20%; }.content-table th:last-child { width: 44px; }.content-table td { min-height: 62px; border-bottom: 1px solid var(--line); padding: 12px 10px; vertical-align: middle; font-size: 13px; }.content-table tr:hover td { background: #fafaf7; }.topic-cell { display: flex; align-items: flex-start; gap: 9px; }.topic-cell > i { width: 3px; min-height: 38px; border-radius: 2px; background: var(--platform-color, var(--green)); }.topic-cell button { border: 0; padding: 0; text-align: left; color: var(--ink); background: transparent; cursor: pointer; line-height: 1.45; }.topic-cell button:hover { color: var(--green); }.topic-comment-count { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }.table-status { height: 30px; border: 0; border-radius: 15px; padding: 0 24px 0 10px; appearance: none; background: #e9e6f6; color: #665291; font-size: 11px; font-weight: 700; cursor: pointer; }.table-status[data-status="Drafted"] { color: #8b651e; background: #f8e8b8; }.table-status[data-status="Published"] { color: #26704c; background: #dcefe3; }.table-date { border: 0; padding: 5px 0; color: var(--ink); background: transparent; font-size: 12px; }.type-pill, .platform-chip { display: inline-flex; align-items: center; border-radius: 14px; font-size: 11px; font-weight: 600; white-space: nowrap; }.type-pill { border: 1px solid color-mix(in srgb, var(--platform-color, var(--green)) 45%, white); padding: 5px 9px; color: #39443f; background: repeating-linear-gradient(135deg, color-mix(in srgb, var(--platform-color, var(--green)) 13%, white) 0 5px, color-mix(in srgb, var(--platform-color, var(--green)) 5%, white) 5px 10px); }.platform-chips { display: flex; flex-wrap: wrap; gap: 5px; }.platform-chip { padding: 5px 9px; color: color-mix(in srgb, var(--chip-color) 65%, #111); background: color-mix(in srgb, var(--chip-color) 20%, white); }.row-menu { border: 0; background: transparent; cursor: pointer; }.row-menu svg { width: 17px; }.content-empty { min-height: 220px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 7px; color: var(--muted); }.content-empty svg { width: 27px; }.content-empty strong { color: var(--ink); }.content-empty span { font-size: 12px; }.add-content-row { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; border: 0; padding: 0 8px; color: var(--muted); background: transparent; cursor: pointer; }.add-content-row svg { width: 17px; }.add-content-row:hover { color: var(--green); }
.campaign-panel { max-width: 1320px; margin: auto; }.campaign-board-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 34px; }.campaign-board-header .eyebrow { margin-bottom: 7px; color: var(--muted); font-size: 10px; }.campaign-board-header h3 { margin: 0 0 5px; font-family: Manrope, sans-serif; font-size: 27px; }.campaign-board-header p:last-child { margin: 0; color: var(--muted); font-size: 12px; }.campaign-board-header .button { min-height: 40px; padding-inline: 16px; font-size: 12px; }.campaign-board-header .button svg { width: 16px; }.campaign-group { margin-bottom: 38px; }.campaign-group h4 { margin: 0 0 9px; color: var(--campaign-accent); font-family: Manrope, sans-serif; font-size: 18px; font-weight: 600; }.campaign-table-wrap { overflow-x: auto; }.campaign-table { width: 100%; min-width: 840px; border-spacing: 4px; table-layout: fixed; }.campaign-table th { height: 28px; padding: 0 10px; color: #69736e; font-size: 11px; font-weight: 500; text-align: left; }.campaign-table th:first-child { width: 31%; }.campaign-table th:nth-child(2) { width: 7%; }.campaign-table th:nth-child(3) { width: 22%; }.campaign-table th:nth-child(4) { width: 13%; }.campaign-table th:nth-child(5) { width: 15%; }.campaign-table td { height: 44px; padding: 7px 10px; background: #f1f3f2; font-size: 12px; vertical-align: middle; }.campaign-table td:first-child { border-left: 3px solid var(--campaign-accent); }.campaign-topic-cell button { width: 100%; overflow: hidden; border: 0; padding: 0; color: var(--ink); background: transparent; cursor: pointer; text-align: left; text-overflow: ellipsis; white-space: nowrap; }.campaign-topic-cell button:hover { color: var(--campaign-accent); }.campaign-timeline { height: 10px; overflow: hidden; border-radius: 6px; background: #cfd4d8; }.campaign-timeline i { display: block; height: 100%; border-radius: inherit; background: var(--campaign-accent); }.campaign-table td small { display: block; margin-top: 3px; color: #7b8580; font-size: 9px; }.campaign-status { min-height: 29px; display: inline-flex; align-items: center; justify-content: center; min-width: 92px; border-radius: 3px; padding: 0 10px; color: white; background: #82908a; font-size: 11px; font-weight: 600; }.campaign-status-published { background: #22b97a; }.campaign-status-in-progress { background: #eea735; }.campaign-status-planned { background: #687d73; }.campaign-channels { display: flex; align-items: center; gap: 4px; overflow: hidden; }.campaign-channels span { width: 25px; height: 25px; display: grid; place-items: center; overflow: hidden; border-radius: 3px; color: white; background: var(--chip-color); font-size: 0; font-weight: 700; }.campaign-channels span::first-letter { font-size: 10px; }.campaign-channels small { margin: 0; }.campaign-empty { border-top: 1px solid var(--line); }
.campaign-table { min-width: 980px; }.campaign-table th:first-child { width: 27%; }.campaign-table th:nth-child(2) { width: 11%; }.campaign-table th:nth-child(3) { width: 6%; }.campaign-table th:nth-child(4) { width: 20%; }.campaign-table th:nth-child(5) { width: 12%; }.campaign-table th:nth-child(6) { width: 14%; }.campaign-priority { display: inline-flex; align-items: center; gap: 5px; color: #66716c; font-size: 10px; font-weight: 700; }.campaign-priority::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }.campaign-priority-critical { color: #d84c4c; }.campaign-priority-high { color: #df8d2d; }.campaign-priority-medium { color: #397fb6; }.campaign-priority-low { color: #75817b; }
.eisenhower-assessment { margin: 20px 0 0; border: 1px solid #d9ddd7; border-radius: 7px; padding: 17px; background: #f8f9f6; }.eisenhower-assessment legend { padding: 0 6px; font-size: 13px; font-weight: 700; }.eisenhower-assessment > p { margin: -2px 0 14px; color: var(--muted); font-size: 11px; }.eisenhower-questions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.eisenhower-question { border: 1px solid #e0e4df; border-radius: 5px; padding: 12px; background: white; }.eisenhower-question > strong, .eisenhower-question > small { display: block; }.eisenhower-question > strong { font-size: 12px; }.eisenhower-question > small { min-height: 30px; margin-top: 3px; color: var(--muted); font-size: 10px; }.eisenhower-question > div { display: flex; gap: 6px; margin-top: 8px; }.eisenhower-question label { position: relative; flex: 1; margin: 0; cursor: pointer; }.eisenhower-question input { position: absolute; opacity: 0; }.eisenhower-question label span { min-height: 30px; display: grid; place-items: center; border: 1px solid #d3d9d4; border-radius: 4px; color: var(--muted); font-size: 11px; }.eisenhower-question input:checked + span { border-color: var(--green); color: var(--green-dark); background: var(--mint); }.eisenhower-question input:focus-visible + span { outline: 2px solid var(--green); outline-offset: 2px; }.eisenhower-result { display: flex; align-items: center; gap: 9px; margin-top: 10px; border-left: 3px solid #9aa49f; padding: 9px 11px; background: white; }.eisenhower-result span { font-size: 11px; font-weight: 700; }.eisenhower-result small { color: var(--muted); font-size: 10px; }.eisenhower-result[data-quadrant="do"] { border-color: #d84c4c; }.eisenhower-result[data-quadrant="schedule"] { border-color: #df8d2d; }.eisenhower-result[data-quadrant="delegate"] { border-color: #397fb6; }.eisenhower-result[data-quadrant="reconsider"] { border-color: #75817b; }
.account-page { padding: 52px clamp(28px, 6vw, 88px) 80px; background: var(--white); }.page-heading, .account-form { width: min(880px, 100%); margin: 0 auto; }.page-heading { margin-bottom: 42px; }.page-heading .eyebrow { margin-bottom: 10px; }.page-heading h2 { margin: 0 0 8px; font-family: Manrope, sans-serif; font-size: 38px; }.page-heading > p:last-child { margin: 0; color: var(--muted); }
.account-form { border-top: 1px solid var(--line); }.settings-section { padding: 30px 0; border-bottom: 1px solid var(--line); }.profile-identity { display: flex; align-items: center; gap: 18px; }.profile-avatar { display: grid; place-items: center; width: 68px; height: 68px; flex: 0 0 68px; border-radius: 50%; color: white; background: var(--green); font-family: Manrope, sans-serif; font-size: 23px; font-weight: 700; }.profile-identity strong, .profile-identity span { display: block; }.profile-identity span { margin-top: 5px; color: var(--muted); font-size: 13px; }
.form-section { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(300px, 1fr); gap: 55px; }.section-intro h3 { margin: 0 0 6px; font-size: 16px; }.section-intro p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }.section-fields > label:not(:first-child) { margin-top: 20px; }.section-fields small { display: block; margin-top: 6px; color: #87918c; font-size: 11px; line-height: 1.45; }.settings-input { width: 100%; height: 46px; border: 1px solid #cfd5d0; border-radius: 5px; padding: 0 13px; outline: none; color: var(--ink); background: white; }.settings-input:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(63,118,95,.12); }.settings-input:disabled { color: #7a8580; background: #f0f2ef; }.two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.toggle-row { min-height: 58px; display: flex !important; align-items: center; justify-content: space-between; gap: 25px; margin: 0 !important; cursor: pointer; }.toggle-row + .toggle-row { border-top: 1px solid #e8ebe7; }.toggle-row span, .toggle-row strong, .toggle-row small { display: block; }.toggle-row strong { font-size: 13px; }.toggle-row input { position: absolute; opacity: 0; pointer-events: none; }.toggle-row i { position: relative; width: 38px; height: 22px; flex: 0 0 38px; border-radius: 12px; background: #c4cbc6; transition: background .2s; }.toggle-row i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: white; transition: transform .2s; }.toggle-row input:checked + i { background: var(--green); }.toggle-row input:checked + i::after { transform: translateX(16px); }.form-footer { display: flex; align-items: center; justify-content: flex-end; gap: 20px; padding-top: 22px; }.save-message { flex: 1; margin: 0; color: #b14935; font-size: 13px; }.save-message.success { color: var(--green); }.security-form { margin-top: 58px; }
.account-access { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 28px 0; border-bottom: 1px solid var(--line); }.account-access h3 { margin: 0 0 6px; font-size: 16px; }.account-access p { margin: 0; color: var(--muted); font-size: 13px; }.account-access .button { flex: 0 0 auto; }
.platform-settings { padding-bottom: 25px; border-bottom: 1px solid var(--line); }.platform-settings-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 25px 0; }.platform-settings-heading h3 { margin: 0 0 6px; font-size: 16px; }.platform-settings-heading p { margin: 0; color: var(--muted); font-size: 13px; }.platform-settings-heading .button svg { width: 16px; }.platform-settings-list { border-top: 1px solid var(--line); }.platform-setting-row { min-height: 58px; display: grid; grid-template-columns: 24px 1fr 2fr auto; align-items: center; gap: 12px; border-bottom: 1px solid var(--line); }.platform-swatch { width: 15px; height: 15px; border-radius: 4px; background: var(--swatch); }.platform-setting-row strong { font-size: 13px; }.platform-setting-row span { color: var(--muted); font-size: 11px; }.platform-row-actions { display: flex; }.platform-row-actions .icon-button svg { width: 15px; }.platform-editor { display: grid; grid-template-columns: 1fr 80px 1.5fr; gap: 14px; align-items: start; padding: 24px 0 0; }.platform-editor label { display: block; }.platform-color-field input { width: 44px; height: 44px; border: 0; padding: 2px; background: transparent; }.platform-types-field small { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; }.platform-editor-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 8px; }.platform-editor > .save-message { grid-column: 1 / -1; }
.modal-backdrop { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(25,37,32,.48); }.modal-backdrop[hidden] { display: none; }.event-modal { width: min(620px, 100%); max-height: calc(100vh - 40px); overflow: auto; border-radius: 7px; padding: 28px; background: var(--white); box-shadow: var(--shadow); }.modal-header { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 26px; }.modal-header .eyebrow { margin-bottom: 7px; }.modal-header h2 { margin: 0; font-family: Manrope, sans-serif; font-size: 27px; }.event-taxonomy-grid, .event-date-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 20px; }.platform-picker { margin: 20px 0 0; border: 0; padding: 0; }.platform-picker legend { margin-bottom: 8px; font-size: 13px; font-weight: 700; }.platform-picker > div { display: flex; flex-wrap: wrap; gap: 7px; }.platform-choice { position: relative; cursor: pointer; }.platform-choice input { position: absolute; opacity: 0; }.platform-choice span { min-height: 32px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid color-mix(in srgb, var(--choice-color) 35%, white); border-radius: 16px; padding: 0 11px; color: color-mix(in srgb, var(--choice-color) 70%, #111); background: color-mix(in srgb, var(--choice-color) 9%, white); font-size: 11px; font-weight: 600; }.platform-choice span::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--choice-color); }.platform-choice input:checked + span { outline: 2px solid color-mix(in srgb, var(--choice-color) 55%, white); background: color-mix(in srgb, var(--choice-color) 22%, white); }.event-options { min-height: 55px; display: flex; align-items: center; justify-content: space-between; margin-top: 14px; }.checkbox-row { display: flex; align-items: center; gap: 9px; margin: 0; cursor: pointer; }.checkbox-row input { width: 17px; height: 17px; accent-color: var(--green); }.color-field { display: flex; align-items: center; gap: 9px; margin: 0; }.color-field input { width: 34px; height: 34px; border: 0; padding: 2px; background: transparent; cursor: pointer; }.modal-actions { display: grid; grid-template-columns: auto 1fr auto auto; gap: 9px; align-items: center; margin-top: 14px; }.delete-button { display: none; border-color: #e4b5ac; color: #a94431; background: transparent; }.delete-button.is-visible { display: inline-flex; }
.platform-choice-empty { width: 100%; border: 1px dashed var(--line); border-radius: 6px; padding: 11px 12px; color: var(--muted); background: #f7f8f5; font-size: 12px; }
.modal-actions { grid-template-columns: auto auto 1fr auto auto; }.comments-button { display: none; border-color: var(--line); background: transparent; }.comments-button.is-visible { display: inline-flex; }.comments-button svg { width: 16px; }
.notes-modal { width: min(600px, 100%); }.notes-list { max-height: 340px; overflow: auto; margin: 0 -8px 24px; padding: 0 8px; }.empty-notes { padding: 32px 12px; text-align: center; color: var(--muted); font-size: 13px; }.note-item { display: grid; grid-template-columns: 34px 1fr auto; gap: 11px; padding: 14px 0; border-bottom: 1px solid #e6e9e5; }.note-avatar { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--green); font-size: 10px; font-weight: 700; }.note-meta { display: flex; align-items: baseline; gap: 8px; margin-bottom: 4px; }.note-meta strong { font-size: 12px; }.note-meta time { color: #8a948f; font-size: 10px; }.note-item p { margin: 0; color: #47534e; font-size: 13px; line-height: 1.5; white-space: pre-wrap; }.note-delete { align-self: start; width: 30px; height: 30px; border: 0; color: #9a6559; background: transparent; cursor: pointer; }.note-delete svg { width: 15px; }.note-composer { padding-top: 20px; border-top: 1px solid var(--line); }.note-composer textarea { width: 100%; resize: vertical; border: 1px solid #cfd5d0; border-radius: 5px; padding: 11px 12px; outline: none; color: var(--ink); background: white; line-height: 1.5; }.note-composer textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(63,118,95,.12); }.note-actions { display: flex; justify-content: flex-end; margin-top: 8px; }.note-actions .button svg { width: 16px; }.day-note-marker { position: absolute; right: 4px; bottom: 3px; display: grid; place-items: center; min-width: 17px; height: 17px; border-radius: 9px; color: white; background: var(--coral); font-size: 9px; font-weight: 700; pointer-events: none; }.fc-day { position: relative; }.event-note-count { display: inline-flex; align-items: center; gap: 2px; margin-left: 5px; font-size: 9px; opacity: .9; }.event-note-count svg { width: 10px; height: 10px; }
.teams-modal { width: min(760px, 100%); }.modal-header #organization-name { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; }.team-membership-list { display: grid; gap: 8px; margin: 22px 0; }.team-membership-row { min-height: 58px; display: grid; grid-template-columns: 12px 1fr auto auto; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 6px; padding: 8px 12px; }.team-membership-row > i { width: 10px; height: 10px; border-radius: 50%; background: var(--team-color); }.team-membership-row strong { display: block; font-size: 13px; }.team-membership-row small { color: var(--muted); font-size: 10px; }.team-code { border-radius: 4px; padding: 5px 8px; color: #53615b; background: #eef1ed; font-family: monospace; font-size: 10px; }.team-membership-row .button { min-height: 30px; padding-inline: 10px; font-size: 10px; }.team-actions-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding-top: 20px; border-top: 1px solid var(--line); }.team-actions-grid form { border-radius: 7px; padding: 16px; background: #f5f6f3; }.team-actions-grid h3 { margin: 0 0 3px; font-family: Manrope, sans-serif; font-size: 15px; }.team-actions-grid p { margin: 0 0 14px; color: var(--muted); font-size: 11px; }.team-actions-grid label { display: block; }.team-actions-grid .settings-input { margin-bottom: 10px; }.team-actions-grid .button { width: 100%; }
.invite-code-panel, .member-progress-panel { margin: 18px 0; border: 1px solid var(--line); border-radius: 7px; padding: 15px; background: #fafbf8; }.invite-code-panel h3, .member-progress-panel h3 { margin: 0 0 3px; font-family: Manrope, sans-serif; font-size: 15px; }.invite-code-panel p, .member-progress-panel p { margin: 0 0 12px; color: var(--muted); font-size: 10px; }.invite-code-row { min-height: 38px; display: grid; grid-template-columns: 100px 1fr auto 34px; align-items: center; gap: 8px; border-top: 1px solid var(--line); }.invite-code-row > span { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }.invite-code-row code { font-size: 11px; letter-spacing: .06em; }.invite-code-row .button { min-height: 28px; padding-inline: 9px; font-size: 9px; }.invite-code-row .icon-button { width: 28px; height: 28px; }.invite-code-row .icon-button svg { width: 13px; }.member-progress-panel { padding: 0; overflow: hidden; }.member-progress-panel > header { display: flex; justify-content: space-between; align-items: flex-start; padding: 15px; }.member-progress-panel > header > span { color: var(--muted); font-size: 9px; }.member-progress-table-wrap { overflow-x: auto; }.member-progress-table { width: 100%; min-width: 720px; border-collapse: collapse; }.member-progress-table th, .member-progress-table td { border-top: 1px solid var(--line); padding: 9px 8px; text-align: left; font-size: 10px; }.member-progress-table th { color: var(--muted); font-weight: 600; }.member-progress-table td strong, .member-progress-table td small { display: block; }.member-progress-table td small { color: var(--muted); margin-top: 2px; }.member-progress-table select { max-width: 135px; height: 28px; border: 1px solid var(--line); border-radius: 4px; background: white; font-size: 9px; }.member-progress-table .remove-member { width: 28px; height: 28px; color: #a7473b; }.member-progress-table .remove-member svg { width: 13px; }
.invite-code-row .button.is-copied { border-color: var(--green); color: white; background: var(--green); transform: none; }
.organization-danger-zone { margin-top: 20px; border: 1px solid #e2b5ad; border-radius: 7px; padding: 16px; background: #fff7f5; }.organization-danger-zone h3 { margin: 0 0 4px; color: #9a382d; font-family: Manrope, sans-serif; font-size: 15px; }.organization-danger-zone p { margin: 0 0 14px; color: #7b5b55; font-size: 11px; }.organization-danger-zone label { display: block; }.organization-danger-zone > div:last-child { display: grid; grid-template-columns: 1fr auto; gap: 10px; }.organization-danger-zone .settings-input { margin: 0; }.organization-danger-zone .delete-button { min-height: 42px; }
.account-danger-zone { border: 1px solid #e2b5ad; border-radius: 7px; padding: 20px; background: #fff7f5; }.account-danger-zone h3 { margin: 0 0 5px; color: #9a382d; }.account-danger-zone > div:first-child p { margin: 0 0 16px; color: #7b5b55; font-size: 12px; }.account-danger-zone > div:nth-of-type(2) { display: grid; grid-template-columns: 1fr auto; gap: 10px; }.account-danger-zone .settings-input { margin: 0; }.account-danger-zone .delete-button { min-height: 42px; }
.calendar-campaign-label, .calendar-priority-label { display: inline-flex; margin-left: 5px; border-radius: 8px; padding: 1px 5px; background: rgba(255,255,255,.2); font-size: 8px; font-weight: 600; }.calendar-priority-label { background: rgba(0,0,0,.18); }
.fc-event.task-overdue { box-shadow: inset 3px 0 #b83f35, 0 0 0 1px rgba(184,63,53,.22); }.fc-event[data-status="Published"] .fc-title { text-decoration: line-through; text-decoration-thickness: 1px; }
.calendar-type-label { display: inline-flex; margin-left: 5px; border: 1px solid rgba(255,255,255,.55); border-radius: 8px; padding: 1px 5px; background: rgba(255,255,255,.18); font-size: 8px; font-weight: 600; }.fc-event[data-status="Ideated"] { border-style: dashed !important; opacity: .82; }.fc-event[data-status="Published"] { box-shadow: inset 0 0 0 1px rgba(255,255,255,.6); }
.content-table { min-width: 1100px; }.content-table th:first-child { width: 21%; }.content-table th:nth-child(2) { width: 23%; }.content-table th:nth-child(3) { width: 11%; }.content-table th:nth-child(4) { width: 14%; }.content-table th:nth-child(5) { width: 13%; }.content-table th:nth-child(6) { width: 18%; }.content-table th:last-child { width: 44px; }.post-cell { color: #4f5a55; font-size: 12px; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.post-label { margin-top: 18px; }.event-post-input { width: 100%; resize: vertical; border: 1px solid #cfd5d0; border-radius: 5px; padding: 10px 12px; outline: none; color: var(--ink); background: white; line-height: 1.5; }.event-post-input:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(63,118,95,.12); }
.compact-calendar .fc-event { padding-block: 0 !important; font-size: 11px !important; }
.fc-button-primary { border-color: var(--green) !important; background: var(--green) !important; }.fc-button-primary:not(:disabled):hover { background: var(--green-dark) !important; }.fc-today { background: #eef5f0 !important; }

.campaign-groups { display: grid; gap: 30px; }
.campaign-chart { margin-bottom: 30px; overflow: hidden; border-radius: 8px; color: white; background: #20213f; box-shadow: 0 10px 28px rgba(31,48,41,.08); }
.campaign-chart > header { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 22px; border-bottom: 1px solid rgba(255,255,255,.16); }
.campaign-chart > header .eyebrow { margin: 0 0 3px; color: rgba(255,255,255,.58); font-size: 9px; }
.campaign-chart > header h4 { margin: 0; color: white; font-family: Manrope, sans-serif; font-size: 17px; }
.campaign-chart > header > span { border-radius: 14px; padding: 5px 10px; color: rgba(255,255,255,.78); background: rgba(255,255,255,.09); font-size: 10px; font-weight: 700; }
.campaign-chart-content { min-height: 300px; display: flex; align-items: center; justify-content: center; gap: clamp(55px, 10vw, 150px); padding: 32px; }
.campaign-pie { width: 220px; height: 220px; flex: 0 0 220px; position: relative; display: grid; place-items: center; border-radius: 50%; box-shadow: 0 0 0 1px rgba(255,255,255,.08); }
.campaign-pie > span { width: 116px; height: 116px; display: grid; place-content: center; border-radius: 50%; background: #20213f; text-align: center; }
.campaign-pie strong { color: white; font-family: Manrope, sans-serif; font-size: 31px; line-height: 1; }
.campaign-pie small { margin-top: 5px; color: rgba(255,255,255,.62); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.campaign-chart-legend { width: min(250px, 100%); display: grid; gap: 14px; }
.campaign-legend-row { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 20px; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.12); font-size: 12px; }
.campaign-legend-row span { display: flex; align-items: center; gap: 9px; }.campaign-legend-row span::before { content: ""; width: 10px; height: 10px; flex: 0 0 10px; border-radius: 50%; background: var(--legend-color); }
.campaign-legend-row strong { color: rgba(255,255,255,.78); font-size: 11px; }.campaign-chart.is-empty .campaign-pie { opacity: .65; }
.campaign-kanban { overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #20213f; box-shadow: 0 10px 28px rgba(31,48,41,.08); }
.campaign-kanban-heading { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 22px; color: var(--ink); background: white; }
.campaign-kanban-heading span { display: block; margin-bottom: 3px; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.campaign-kanban-heading h4 { margin: 0; font-family: Manrope, sans-serif; font-size: 20px; }
.campaign-kanban-heading small { flex: 0 0 auto; border-radius: 14px; padding: 5px 10px; color: #53615b; background: #eef1ed; font-size: 10px; font-weight: 700; }
.kanban-board { display: grid; grid-template-columns: repeat(3, minmax(230px, 1fr)); gap: 14px; overflow-x: auto; padding: 18px; }
.kanban-column { min-height: 210px; border-radius: 6px; padding: 12px; background: #ef9f2f; transition: outline-color .15s, transform .15s; }
.kanban-column-ideated { background: #66736d; }.kanban-column-drafted { background: #ee9f2c; }.kanban-column-published { background: #14b978; }
.kanban-column.is-drag-over { outline: 3px solid rgba(255,255,255,.8); outline-offset: -4px; transform: translateY(-2px); }
.kanban-column h5 { display: flex; align-items: center; justify-content: space-between; margin: 0 2px 11px; color: white; font-size: 14px; font-weight: 600; }
.kanban-column h5 b { min-width: 23px; height: 23px; display: grid; place-items: center; border-radius: 12px; background: rgba(0,0,0,.16); font-size: 10px; }
.kanban-cards { display: grid; align-content: start; gap: 10px; min-height: 150px; }
.kanban-card { position: relative; display: grid; gap: 11px; border-left: 4px solid var(--platform-color); border-radius: 5px; padding: 13px 13px 10px; background: white; box-shadow: 0 2px 7px rgba(20,23,38,.24); cursor: grab; }
.kanban-card.is-dragging { opacity: .45; cursor: grabbing; }
.kanban-card-title { border: 0; padding: 0; color: #28322e; background: transparent; cursor: pointer; font-size: 13px; font-weight: 600; line-height: 1.4; text-align: left; }
.kanban-card-title:hover { color: var(--platform-color); }
.kanban-card-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #7a8580; font-size: 9px; }
.kanban-card-meta span { max-width: 55%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kanban-status-select { width: 100%; height: 28px; border: 1px solid #dfe4df; border-radius: 4px; padding: 0 7px; outline: none; color: #53615b; background: #f5f7f4; font-size: 10px; cursor: pointer; }
.kanban-column-empty { margin: 20px 0 0; color: rgba(255,255,255,.75); font-size: 11px; text-align: center; }

.schedule-panel { max-width: 1320px; margin: auto; }
.schedule-panel-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.schedule-panel-header .eyebrow { margin-bottom: 7px; color: var(--muted); font-size: 10px; }
.schedule-panel-header h3 { margin: 0 0 5px; font-family: Manrope, sans-serif; font-size: 27px; }
.schedule-panel-header p:last-child { margin: 0; color: var(--muted); font-size: 12px; }
.schedule-panel-header .button { min-height: 40px; padding-inline: 16px; font-size: 12px; }
.schedule-panel-header .button svg { width: 16px; }
.schedule-shell { max-height: 660px; overflow: auto; border: 1px solid #303352; border-radius: 8px; background: #20213f; box-shadow: 0 10px 28px rgba(31,48,41,.1); }
.schedule-canvas { position: relative; color: #f7f8ff; }
.schedule-head { position: sticky; z-index: 8; top: 0; display: grid; grid-template-columns: 240px 1fr; min-height: 68px; border-bottom: 1px solid rgba(255,255,255,.15); background: #20213f; }
.schedule-corner { position: sticky; z-index: 9; left: 0; display: flex; align-items: center; padding: 0 20px; border-right: 1px solid rgba(255,255,255,.15); color: rgba(255,255,255,.62); background: #20213f; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.schedule-dates { display: grid; }
.schedule-date { min-width: 48px; display: grid; place-items: center; align-content: center; gap: 4px; border-right: 1px solid rgba(255,255,255,.08); color: rgba(255,255,255,.55); font-size: 8px; text-align: center; text-transform: uppercase; }
.schedule-date b { color: #f7f8ff; font-size: 12px; }
.schedule-date.is-weekend { background: rgba(255,255,255,.025); }
.schedule-date.is-today { background: rgba(232,134,107,.14); }
.schedule-date.is-today b { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--coral); }
.schedule-group { border-bottom: 1px solid rgba(255,255,255,.13); }
.schedule-group:last-child { border-bottom: 0; }
.schedule-group-heading { position: sticky; z-index: 6; left: 0; width: 240px; min-height: 43px; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; border-right: 1px solid rgba(255,255,255,.14); color: white; font-size: 12px; }
.schedule-group-heading span { min-width: 23px; height: 23px; display: grid; place-items: center; border-radius: 12px; background: rgba(0,0,0,.18); font-size: 9px; }
.schedule-group-ideated { background: #66736d; }.schedule-group-drafted { background: #d99229; }.schedule-group-published { background: #159b68; }
.schedule-row { min-height: 58px; display: grid; grid-template-columns: 240px 1fr; border-top: 1px solid rgba(255,255,255,.08); }
.schedule-row-label { position: sticky; z-index: 5; left: 0; min-width: 0; display: grid; align-content: center; gap: 3px; border: 0; border-right: 1px solid rgba(255,255,255,.14); padding: 8px 18px; color: white; background: #292a49; cursor: pointer; text-align: left; }
.schedule-row-label:hover strong { color: #f2b5a6; }
.schedule-row-label strong, .schedule-row-label span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.schedule-row-label strong { font-size: 11px; font-weight: 600; }.schedule-row-label span { color: rgba(255,255,255,.48); font-size: 9px; }
.schedule-track { position: relative; min-width: 0; background: repeating-linear-gradient(to right, rgba(255,255,255,.085) 0, rgba(255,255,255,.085) 1px, transparent 1px, transparent calc(100% / var(--schedule-days))); }
.schedule-canvas.has-today .schedule-track::after { content: ""; position: absolute; z-index: 1; top: 0; bottom: 0; left: var(--today-position); width: 1px; background: rgba(232,134,107,.8); pointer-events: none; }
.schedule-bar { position: absolute; z-index: 2; top: 14px; height: 30px; min-width: 18px; overflow: hidden; border: 0; border-radius: 15px; padding: 0 11px; color: white; background: var(--bar-color); box-shadow: 0 3px 9px rgba(9,11,25,.28); cursor: pointer; text-align: left; }
.schedule-bar:hover { filter: brightness(1.08); transform: translateY(-1px); }
.schedule-bar > span { position: relative; z-index: 2; display: block; overflow: hidden; font-size: 9px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.schedule-bar-ideated { opacity: .75; outline: 1px dashed rgba(255,255,255,.85); outline-offset: -2px; }
.schedule-bar-drafted { box-shadow: inset 3px 0 #f0a12e, 0 3px 9px rgba(9,11,25,.28); }
.schedule-bar-published { box-shadow: inset 3px 0 #14b978, 0 3px 9px rgba(9,11,25,.28); }
.schedule-lane-empty { min-height: 50px; margin-left: 240px; display: flex; align-items: center; padding-left: 18px; color: rgba(255,255,255,.35); font-size: 10px; }
.schedule-empty { min-height: 290px; display: grid; place-content: center; gap: 5px; color: white; text-align: center; }.schedule-empty span { color: rgba(255,255,255,.55); font-size: 11px; }
.gantt-campaign-heading { position: sticky; z-index: 6; left: 0; width: 240px; min-height: 43px; display: grid; align-content: center; gap: 2px; border-right: 1px solid rgba(255,255,255,.14); padding: 6px 18px; background: #353757; }
.gantt-campaign-heading strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.gantt-campaign-heading span { color: rgba(255,255,255,.48); font-size: 9px; }
.gantt-group .schedule-row-label { padding-left: 28px; }.gantt-group .schedule-row-label strong::before { content: ""; display: inline-block; width: 7px; height: 1px; margin: 0 7px 3px 0; background: rgba(255,255,255,.4); }
.gantt-canvas .schedule-bar { background: color-mix(in srgb, var(--bar-color) 72%, #20213f); }
.gantt-canvas .schedule-bar > i { position: absolute; z-index: 1; inset: 0 auto 0 0; border-radius: inherit; background: var(--bar-color); opacity: .9; }

.activity-panel { max-width: 1320px; margin: auto; }
.activity-year-label { margin: 0; color: var(--muted); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.activity-year-label select { width: 116px; height: 40px; display: block; margin-top: 5px; border: 1px solid var(--line); border-radius: 5px; padding: 0 30px 0 12px; outline: none; color: var(--ink); background: white; font-size: 12px; font-weight: 700; }
.activity-year-label select:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(63,118,95,.12); }
.activity-card { overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: white; box-shadow: 0 10px 28px rgba(31,48,41,.08); }
.activity-card-header { min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 16px 22px; border-bottom: 1px solid var(--line); }
.activity-card-header strong { display: block; font-family: Manrope, sans-serif; font-size: 18px; }.activity-card-header > div > span { color: var(--muted); font-size: 10px; }
.activity-legend { display: flex; align-items: center; gap: 5px; color: var(--muted); font-size: 9px; }.activity-legend i, .activity-cell { width: 12px; height: 12px; border: 1px solid rgba(27,31,35,.06); border-radius: 2px; background: #ebedf0; }
.activity-legend i[data-level="1"], .activity-cell[data-level="1"] { background: #c9e8d5; }.activity-legend i[data-level="2"], .activity-cell[data-level="2"] { background: #79c99a; }.activity-legend i[data-level="3"], .activity-cell[data-level="3"] { background: #3f9967; }.activity-legend i[data-level="4"], .activity-cell[data-level="4"] { background: #236b46; }
.activity-calendar-scroll { overflow-x: auto; padding: 24px 22px 20px; }
.activity-calendar { --activity-weeks: 53; width: max-content; min-width: 100%; display: grid; grid-template-columns: 32px repeat(var(--activity-weeks), 12px); grid-template-rows: 18px repeat(7, 12px); gap: 4px; align-items: center; }
.activity-month-label { color: #53615b; font-size: 9px; white-space: nowrap; }.activity-day-label { align-self: center; color: #7b8580; font-size: 8px; }
.activity-cell { border: 1px solid rgba(27,31,35,.06); padding: 0; cursor: default; }
.activity-cell:not([data-level="0"]) { cursor: pointer; }.activity-cell:not([data-level="0"]):hover { outline: 2px solid var(--green-dark); outline-offset: 1px; transform: scale(1.08); }.activity-cell.is-outside { visibility: hidden; }.activity-cell.is-today { box-shadow: 0 0 0 2px var(--coral); }
.activity-summary { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); background: #fafbf9; }
.activity-summary-item { min-height: 82px; display: grid; grid-template-columns: 9px 1fr auto; align-items: center; gap: 9px; padding: 14px 20px; border-right: 1px solid var(--line); }.activity-summary-item:last-child { border-right: 0; }.activity-summary-item > i { width: 9px; height: 9px; border-radius: 2px; background: var(--summary-color); }.activity-summary-item span { color: var(--muted); font-size: 10px; }.activity-summary-item strong { color: var(--ink); font-family: Manrope, sans-serif; font-size: 18px; }

.campaign-header-actions { display: flex; gap: 8px; }
.campaign-chart-controls { display: flex; align-items: center; gap: 7px; }.campaign-chart-controls select { height: 32px; border: 1px solid rgba(255,255,255,.18); border-radius: 4px; padding: 0 25px 0 9px; outline: none; color: rgba(255,255,255,.86); background: #2d2f51; font-size: 9px; }.campaign-chart-controls > span { border-radius: 14px; padding: 5px 10px; color: rgba(255,255,255,.78); background: rgba(255,255,255,.09); font-size: 10px; font-weight: 700; white-space: nowrap; }
.campaign-picker-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; }.campaign-picker-row .button { min-height: 44px; padding-inline: 14px; }.campaign-picker-row .button svg { width: 15px; }
.quick-campaign-editor { margin: 10px 0 16px; border: 1px solid var(--line); border-radius: 7px; padding: 12px; background: #f7f8f5; }.quick-campaign-editor > div { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; }.quick-campaign-editor .settings-input { margin: 0; }.quick-campaign-editor .save-message { margin: 8px 0 0; }
.schedule-toggle { width: 100%; min-height: 62px; display: flex; align-items: center; gap: 12px; margin: 20px 0 0; border: 1px solid var(--line); border-radius: 6px; padding: 10px 12px; background: #f5f7f4; cursor: pointer; }.schedule-toggle input { width: 18px; height: 18px; accent-color: var(--green); }.schedule-toggle span { display: grid; gap: 2px; }.schedule-toggle strong { font-size: 12px; }.schedule-toggle small { color: var(--muted); font-size: 10px; font-weight: 400; }.event-date-grid[hidden], .event-options[hidden] { display: none; }
.backlog-panel { max-width: 1320px; margin: auto; }.backlog-groups { display: grid; gap: 20px; }.backlog-campaign { overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #f4f5f2; }.backlog-campaign > header { min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 18px; border-bottom: 1px solid var(--line); background: white; }.backlog-campaign h4 { margin: 0; font-family: Manrope, sans-serif; font-size: 16px; }.backlog-campaign > header span { color: var(--muted); font-size: 10px; }.backlog-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; padding: 14px; }.backlog-cards .kanban-card { box-shadow: 0 2px 8px rgba(31,48,41,.1); }

.event-strategy-grid { display: grid; grid-template-columns: 1fr 1.25fr .8fr; gap: 12px; margin-top: 16px; }.event-strategy-grid label { display: block; }
.event-attributes { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }.event-attributes span { max-width: 130px; overflow: hidden; border-radius: 9px; padding: 2px 6px; color: #66716c; background: #e5e9e5; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.kanban-card-strategy { display: flex; flex-wrap: wrap; gap: 4px; }.kanban-card-strategy span, .kanban-card-strategy b { max-width: 100%; overflow: hidden; border-radius: 9px; padding: 2px 6px; color: #65716b; background: #edf0ed; font-size: 8px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }.kanban-card-strategy b { color: var(--platform-color); background: color-mix(in srgb, var(--platform-color) 10%, white); }
.calendar-tag-label { display: inline-flex; margin-left: 5px; border-radius: 8px; padding: 1px 5px; color: white; background: rgba(0,0,0,.22); font-size: 8px; font-weight: 700; }

/* Keep the event body as the move target in every calendar view. Without an
   explicit touch action, horizontal gestures can be claimed by the browser
   before FullCalendar receives them. */
#calendar .fc-event.fc-draggable,
#calendar .fc-event.fc-draggable .fc-content {
  cursor: grab;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
}
#calendar .fc-event.fc-dragging,
#calendar .fc-event.fc-dragging .fc-content { cursor: grabbing; }

/* FullCalendar 4's month-view resize handles are only 7px wide and invisible.
   Give both edges a usable, visible target while leaving the centre available
   for moving the whole event to another day. */
#calendar .fc-day-grid-event.fc-allow-mouse-resize .fc-resizer {
  width: 12px;
  top: -1px;
  bottom: -1px;
}
#calendar .fc-day-grid-event.fc-allow-mouse-resize .fc-resizer::after {
  content: "";
  position: absolute;
  top: 3px;
  bottom: 3px;
  width: 2px;
  border-radius: 2px;
  background: rgba(255,255,255,.9);
}
#calendar .fc-day-grid-event .fc-start-resizer::after { left: 3px; }
#calendar .fc-day-grid-event .fc-end-resizer::after { right: 3px; }

@media (max-width: 850px) {
  .landing-view { justify-content: flex-start; padding-top: 150px; padding-bottom: 330px; }.product-scene { bottom: -170px; height: 470px; min-height: 0; padding-inline: 20px; }.calendar-preview { width: 760px; margin-left: 3vw; grid-template-columns: 170px 1fr; }.preview-sidebar { padding-inline: 15px; }
  .auth-view { justify-content: center; padding: 90px clamp(24px, 8vw, 70px); }.auth-aside { display: none; }.auth-panel { margin: 0; }.auth-mark { display: inline-grid; }.back-button { border-color: var(--line); color: var(--ink); background: transparent; }
  .app-workspace { grid-template-columns: 72px 1fr; }.app-nav { padding-inline: 10px; }.app-nav-item { justify-content: center; padding: 0; }.app-nav-item span { display: none; }.account-page { padding-inline: 35px; }.form-section { grid-template-columns: 1fr; gap: 18px; }
  .content-workspace { padding-inline: 24px; }.team-switcher select { width: 105px; }.task-calendar-toolbar { align-items: flex-start; flex-direction: column; }.task-calendar-filters { width: 100%; }.task-calendar-filters label { flex: 1; }.task-calendar-filters select { width: 100%; }.platform-editor { grid-template-columns: 1fr 80px; }.platform-types-field { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .site-header { height: 70px; padding-inline: 18px; }.header-actions { gap: 14px; }.header-actions .text-button { display: none; }.landing-view { padding: 125px 20px 300px; }.hero-content { padding: 0; }h1 { font-size: 50px; }.hero-copy { margin-block: 20px 25px; font-size: 17px; }.hero-actions { align-items: stretch; flex-direction: column; }.hero-actions .button { width: 100%; }.product-scene { bottom: -210px; padding-inline: 12px; }.calendar-preview { margin-left: 0; transform: rotate(-1deg) scale(.78); transform-origin: left top; }
  .auth-view { padding: 80px 20px 40px; }.back-button { top: 20px; left: 20px; }.auth-heading h2 { font-size: 30px; }.account-menu span { display: none; }.calendar-app-header { padding-inline: 16px; }.app-workspace { display: flex; flex-direction: column; }.app-nav { order: 2; height: 64px; flex: 0 0 64px; flex-direction: row; padding: 8px 10px; border: 0; border-top: 1px solid var(--line); }.app-nav-item { flex: 1; flex-direction: column; gap: 2px; min-height: 48px; font-size: 10px; }.app-nav-item span { display: block; }.app-nav-item svg { width: 17px; }.nav-signout { display: none; margin: 0; }.app-page { flex: 1; order: 1; }.account-page { padding: 30px 20px 55px; }.page-heading { margin-bottom: 28px; }.page-heading h2 { font-size: 31px; }.settings-section { padding: 24px 0; }.two-column { grid-template-columns: 1fr; }.form-footer, .account-access { align-items: stretch; flex-direction: column; }.form-footer .button, .account-access .button { width: 100%; }#calendar-container { padding: 8px; }#calendar { padding: 8px; }.fc-toolbar { display: block !important; text-align: center; }.fc-center { margin: 12px 0; }
}
@media (max-width: 720px) {
  .calendar-app-header { grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; }.calendar-app-header .brand > span:last-child { display: none; }.calendar-center { min-width: 0; }.calendar-switcher { width: 100%; min-width: 0; }.calendar-switcher > svg:first-of-type { display: none; }.calendar-switcher select { padding-left: 10px; text-overflow: ellipsis; }.team-switcher { flex: 0 0 38px; }.team-switcher > svg, .team-switcher select { display: none; }.team-switcher .icon-button { width: 36px; margin: 0; border: 0; }.collaboration-status > span:not(.live-dot), .collaborator-list { display: none; }.account-menu { gap: 0; }
}
@media (max-width: 520px) {
  .content-workspace { padding: 25px 14px 45px; }.content-header { align-items: flex-start; }.content-header-actions { padding-top: 18px; }.content-search { display: none; }.content-view-switcher { overflow-x: auto; }.content-view-button { flex: 0 0 auto; justify-content: center; padding-inline: 12px; }.campaign-board-header { align-items: flex-start; flex-direction: column; }.campaign-chart-content { min-height: 0; flex-direction: column; gap: 28px; padding: 28px 18px; }.campaign-pie { width: 190px; height: 190px; flex-basis: 190px; }.campaign-kanban-heading { padding-inline: 16px; }.kanban-board { grid-template-columns: repeat(3, 245px); padding: 12px; }.task-calendar-filters { display: grid; grid-template-columns: 1fr 1fr; }.task-calendar-filters .button { grid-column: 1 / -1; }.team-actions-grid { grid-template-columns: 1fr; }.team-membership-row { grid-template-columns: 10px 1fr auto; }.team-membership-row .team-code { display: none; }.event-modal { padding: 22px 18px; }.event-taxonomy-grid, .event-date-grid { grid-template-columns: 1fr; }.modal-actions { grid-template-columns: 1fr 1fr; }.modal-actions span { display: none; }.modal-actions .button { width: 100%; padding-inline: 12px; }.quick-campaign-editor > div { grid-template-columns: 1fr 1fr; }.quick-campaign-editor .settings-input { grid-column: 1 / -1; }.platform-settings-heading { align-items: flex-start; flex-direction: column; }.platform-setting-row { grid-template-columns: 20px 1fr auto; }.platform-setting-row > span { display: none; }.platform-editor { grid-template-columns: 1fr; }.platform-color-field, .platform-types-field { grid-column: auto; }
}
@media (max-width: 520px) { .schedule-panel-header { align-items: flex-start; flex-direction: column; }.schedule-shell { max-height: 560px; }.schedule-head, .schedule-row { grid-template-columns: 190px 1fr; }.schedule-corner, .schedule-group-heading, .gantt-campaign-heading { width: 190px; }.schedule-lane-empty { margin-left: 190px; } }

/* Keep the seven content views visible as two balanced rows: four, then three. */
.content-view-switcher {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  overflow: visible;
}
.content-view-button {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  justify-content: center;
  border-radius: 24px;
  text-align: center;
}
.content-view-button svg { flex: 0 0 auto; }

@media (max-width: 520px) {
  .content-view-switcher { grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
  .content-view-button { min-height: 44px; padding-inline: 10px; }
}
@media (max-width: 620px) { .activity-card-header { align-items: flex-start; flex-direction: column; }.activity-summary { grid-template-columns: 1fr 1fr; }.activity-summary-item:nth-child(2) { border-right: 0; }.activity-summary-item:nth-child(-n+2) { border-bottom: 1px solid var(--line); } }
@media (max-width: 620px) { .campaign-chart > header { align-items: flex-start; flex-direction: column; }.campaign-chart-controls { width: 100%; flex-wrap: wrap; }.campaign-chart-controls select { flex: 1; }.campaign-header-actions { width: 100%; }.campaign-header-actions .button { flex: 1; } }
@media (max-width: 520px) { .eisenhower-questions { grid-template-columns: 1fr; }.eisenhower-result { align-items: flex-start; flex-direction: column; gap: 2px; } }
@media (max-width: 520px) { .event-strategy-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }
