/* Application shell and workspace views. */
body { background: #000050; }
.shell { display: flex; min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: 272px; z-index: 90; display: flex; flex-direction: column; gap: 22px; padding: 24px 18px 18px; background: #000050; border-right: 1px solid rgba(150,180,255,.16); overflow-y: auto; }
.workspace { flex: 1 1 auto; min-width: 0; margin-left: 272px; }
.appbar { position: sticky; top: 0; z-index: 80; height: 64px; display: flex; align-items: center; gap: 18px; padding: 0 28px; background: rgba(0,0,80,.92); border-bottom: 1px solid rgba(150,180,255,.14); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.app { min-height: calc(100vh - 64px); }
.appbar-menu { display: none; width: 36px; height: 36px; border-radius: 9px; border: 1px solid rgba(150,180,255,.2); background: transparent; color: #fff; place-items: center; }
.appbar-menu .icon { width: 18px; height: 18px; }
.appbar-crumb { display: flex; align-items: center; gap: 9px; font-size: 11px; color: var(--text-dim); font-weight: 300; min-width: 0; }
.appbar-crumb a { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 7px; color: var(--cyan); }
.appbar-crumb a:hover { background: rgba(255,255,255,.06); color: #fff; }
.appbar-crumb a .icon { width: 15px; height: 15px; }
.appbar-crumb i { font-style: normal; color: rgba(255,255,255,.25); }
.appbar-crumb strong { color: #fff; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.appbar-actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.appbar-search { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 10px 0 12px; border-radius: 9px; border: 1px solid rgba(150,180,255,.18); background: rgba(255,255,255,.03); color: var(--text-soft); font-size: 11.5px; }
.appbar-search:hover { border-color: rgba(75,245,255,.45); color: #fff; }
.appbar-search .icon { width: 15px; height: 15px; }
.appbar-user { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--blue); color: #fff; font-size: 10px; font-weight: 700; border: 2px solid rgba(255,255,255,.2); }
.side-brand { display: flex; align-items: center; gap: 12px; padding: 2px 6px 8px; }
.side-brand img { width: 40px; height: auto; flex: 0 0 auto; }
.side-close { display: none; position: absolute; top: 28px; right: 16px; width: 32px; height: 32px; border-radius: 8px; border: 1px solid rgba(150,180,255,.18); background: transparent; color: var(--text-soft); place-items: center; }
.side-close:hover { color: #fff; background: rgba(255,255,255,.06); }
.side-close .icon { width: 16px; height: 16px; }
.side-brand div { display: flex; flex-direction: column; gap: 2px; }
.side-brand strong { font-family: var(--display); font-size: 16px; font-weight: 700; }
.side-brand span { font-size: 9.5px; font-weight: 300; letter-spacing: .13em; text-transform: uppercase; color: var(--text-soft); }
.side-quarter { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; padding: 12px 14px; border: 1px solid rgba(75,245,255,.18); border-radius: 12px; background: rgba(75,245,255,.045); }
.side-quarter div { display: flex; flex-direction: column; gap: 2px; }
.side-quarter span { font-size: 8px; font-weight: 300; letter-spacing: .14em; text-transform: uppercase; color: var(--cyan); }
.side-quarter strong { font-family: var(--display); font-size: 17px; font-weight: 700; }
.side-quarter small { font-size: 9px; font-weight: 300; color: var(--text-soft); }
.side-nav { display: flex; flex-direction: column; gap: 18px; flex: 1 1 auto; }
.side-group { display: flex; flex-direction: column; gap: 2px; }
.side-label { font-size: 8.5px; font-weight: 300; letter-spacing: .16em; text-transform: uppercase; color: var(--text-dim); padding: 0 10px 6px; }
.side-link { display: flex; align-items: center; gap: 10px; min-height: 38px; padding: 0 10px; border-radius: 9px; color: var(--text-soft); font-size: 12.5px; }
.side-link .icon { width: 16px; height: 16px; color: var(--text-dim); }
.side-link span { flex: 1; }
.side-link:hover { background: rgba(255,255,255,.055); color: #fff; }
.side-link:hover .icon { color: var(--cyan); }
.side-link.is-active { background: rgba(16,97,255,.18); color: #fff; box-shadow: inset 0 0 0 1px rgba(75,245,255,.18); }
.side-link.is-active .icon { color: var(--cyan); }
.side-count { font-style: normal; font-size: 9.5px; color: var(--text-dim); background: rgba(255,255,255,.07); padding: 2px 7px; border-radius: 999px; }
.side-link.is-active .side-count { color: var(--cyan); background: rgba(75,245,255,.1); }
.side-bottom { display: flex; flex-direction: column; gap: 8px; padding-top: 12px; border-top: 1px solid rgba(150,180,255,.14); }
.side-action { display: flex; align-items: center; gap: 9px; height: 40px; padding: 0 11px; border-radius: 9px; border: 1px solid rgba(150,180,255,.18); background: transparent; color: #fff; font-size: 11.5px; font-weight: 700; text-align: left; }
.side-action .icon { width: 15px; height: 15px; color: var(--cyan); }
.side-action span { flex: 1; }
.side-action:hover { background: rgba(255,255,255,.06); }
.side-action-primary { background: var(--blue); border-color: var(--blue); }
.side-action-primary .icon { color: #fff; }
.side-action-primary:hover { background: var(--blue-bright); }
.side-user { display: flex; align-items: center; gap: 10px; margin-top: 8px; padding: 10px 6px 2px; }
.side-avatar { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: rgba(75,245,255,.1); border: 1px solid rgba(75,245,255,.25); color: var(--cyan); font-size: 9px; font-weight: 700; }
.side-user div { display: flex; flex-direction: column; gap: 2px; }
.side-user strong { font-size: 11px; font-weight: 700; }
.side-user span { font-size: 8.5px; font-weight: 300; letter-spacing: .1em; color: var(--text-dim); }
.nav-scrim { position: fixed; inset: 0; z-index: 85; background: rgba(0,0,0,.5); backdrop-filter: blur(3px); }
body.is-studio .sidebar, body.is-studio .appbar { display: none; }
body.is-studio .workspace { margin-left: 0; }
body.is-studio .app { min-height: 100vh; }
body.search-open, body.is-presenting { overflow: hidden; }
.page { max-width: 1360px; padding: 30px 34px 0; }
.page-top { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 28px; }
.page-top-copy h1 { font-family: var(--display); font-weight: 700; font-size: clamp(38px, 3.8vw, 52px); letter-spacing: -.025em; line-height: 1.02; margin-top: 8px; }
.page-top-copy p { font-size: 13px; line-height: 1.6; color: var(--text-soft); margin-top: 10px; max-width: 620px; }
.page-top-copy .kicker { color: var(--cyan); }
.page-top-actions { display: flex; gap: 8px; flex-wrap: wrap; flex: 0 0 auto; }
.page-top-actions .btn { height: 40px; }
.panel-head-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.panel-head-row h2 { font-family: var(--display); font-size: 22px; font-weight: 400; letter-spacing: -.015em; margin-top: 3px; }
.panel-head-row .kicker { color: var(--blue); }
.panel-note { font-size: 9px; font-weight: 300; color: var(--muted-light); }
a.panel-note { display: inline-flex; align-items: center; gap: 4px; color: var(--blue); }
a.panel-note .icon { width: 11px; height: 11px; }
.pill-approved { background: #e4fbef; color: #00794a; border: 1px solid #c8f3dd; }
.text-link.dark { color: var(--blue); }
.dashboard-top { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(300px,.75fr); gap: 14px; }
.dash-next-card { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 180px; gap: 20px; padding: 28px; border-radius: 22px; border: 1px solid rgba(75,245,255,.22); background: radial-gradient(600px 300px at 95% 0%, rgba(16,97,255,.35), transparent 65%), rgba(255,255,255,.045); overflow: hidden; }
.dash-next-card::after { content: ""; position: absolute; width: 260px; height: 260px; right: -120px; bottom: -160px; border-radius: 50%; border: 1px solid rgba(75,245,255,.16); box-shadow: 0 0 0 36px rgba(75,245,255,.025); pointer-events: none; }
.dash-next-copy { position: relative; z-index: 1; min-width: 0; }
.dash-next-copy .eyebrow { color: var(--cyan); }
.dash-next-copy h2 { font-family: var(--display); font-size: 34px; font-weight: 700; letter-spacing: -.025em; line-height: 1.05; margin-top: 18px; }
.dash-next-summary { font-size: 12.5px; line-height: 1.6; color: var(--text-soft); margin-top: 10px; max-width: 600px; }
.dash-next-meta { display: flex; flex-wrap: wrap; gap: 7px 16px; margin-top: 16px; }
.dash-next-meta span { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 300; color: var(--text-soft); }
.dash-next-meta .icon { width: 13px; height: 13px; color: var(--cyan); }
.dash-next-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 22px; }
.dash-next-media { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; text-align: center; }
.dash-next-media .avatar { border: 3px solid rgba(75,245,255,.4); }
.dash-next-person { display: flex; flex-direction: column; gap: 3px; }
.dash-next-person strong { font-size: 11.5px; }
.dash-next-person span { font-size: 9.5px; font-weight: 300; color: var(--text-soft); }
.dash-empty-mark { width: 92px; height: 92px; border-radius: 50%; display: grid; place-items: center; background: rgba(75,245,255,.08); color: var(--cyan); }
.dash-kpi-panel { display: flex; flex-direction: column; justify-content: space-between; padding: 24px; border-radius: 22px; background: rgba(255,255,255,.04); border: 1px solid rgba(150,180,255,.18); }
.dash-kpi-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.dash-kpi-head .kicker { color: var(--cyan); }
.dash-kpi-head .status-inline { font-size: 9px; padding: 5px 8px; }
.dash-kpis { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; margin: 22px 0; }
.dash-kpi strong { display: block; font-family: var(--display); font-size: 36px; font-weight: 700; letter-spacing: -.03em; line-height: 1; }
.dash-kpi span { display: block; font-size: 8.5px; font-weight: 300; letter-spacing: .13em; text-transform: uppercase; color: var(--text-soft); margin-top: 6px; }
.dash-kpi-accent strong { color: var(--cyan); }
.dash-kpi-foot { display: flex; justify-content: space-between; gap: 10px; padding-top: 12px; border-top: 1px solid rgba(150,180,255,.16); font-size: 8px; font-weight: 300; letter-spacing: .1em; color: var(--text-dim); text-transform: uppercase; }
.dashboard-mid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(320px,.8fr); gap: 14px; margin-top: 14px; }
.dashboard-mid .panel, .dashboard-lower .panel { border-radius: 20px; }
.dash-calendar-panel, .dash-briefs-panel, .dashboard-list-panel { padding: 24px; }
.mini-months { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.month-cal { display: flex; flex-direction: column; min-width: 0; }
.month-cal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.month-cal-head > div { display: flex; flex-direction: column; gap: 2px; }
.month-cal-index { font-size: 8px; font-weight: 700; letter-spacing: .12em; color: var(--blue); }
.month-cal-head h3 { font-family: var(--display); font-size: 20px; font-weight: 400; letter-spacing: -.01em; }
.month-cal-count { font-family: var(--display); font-size: 17px; color: var(--blue); }
.mini-dows, .mini-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 3px; }
.mini-dows { margin-top: 8px; }
.mini-dows span { text-align: center; font-size: 7px; font-weight: 300; letter-spacing: .06em; text-transform: uppercase; color: #8c9abd; padding-bottom: 3px; }
.mini-day { position: relative; min-height: 27px; border-radius: 5px; background: #f7f9fe; display: flex; align-items: center; justify-content: center; font-size: 9px; font-weight: 300; color: var(--ink); }
.mini-day.is-blank { background: transparent; }
.mini-day.is-weekend { background: #eff3fa; }
.mini-day.has-event { background: #e6efff; color: #0b44b8; font-weight: 700; }
.mini-day.has-event:hover { background: var(--blue); color: #fff; }
.mini-day.has-event i { position: absolute; bottom: 3px; width: 4px; height: 4px; border-radius: 50%; background: var(--blue); }
.mini-day.has-event.is-key i { background: #c69c00; box-shadow: 0 0 0 1px #fff; }
.mini-day.has-event:hover i { background: var(--cyan); }
.month-cal-link { display: inline-flex; align-items: center; gap: 5px; margin-top: 8px; font-size: 9px; font-weight: 700; color: var(--blue); }
.month-cal-link .icon { width: 11px; height: 11px; }
.month-cal-large { padding: 18px; background: #fff; border: 1px solid var(--line); border-radius: 16px; color: var(--ink); }
.month-cal-large .month-cal-head h3 { color: var(--ink); }
.month-cal-large .mini-day { min-height: 34px; font-size: 10px; }
.month-cal-large .mini-dows span { font-size: 7.5px; }
.dash-brief-list { display: flex; flex-direction: column; }
.dash-brief-row { display: flex; align-items: center; gap: 10px; padding: 11px 0; border-top: 1px solid var(--line); }
.dash-brief-row:first-child { border-top: 0; }
.dash-brief-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.dash-brief-body strong { font-size: 11.5px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dash-brief-body span { font-size: 9px; font-weight: 300; color: var(--muted-light); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dash-brief-row .icon { width: 13px; height: 13px; color: var(--blue); flex: 0 0 auto; }
.dash-brief-row .pill { flex: 0 0 auto; }
.dashboard-lower { display: grid; grid-template-columns: 1.1fr .9fr 1fr; gap: 14px; margin-top: 14px; }
.check-list { display: flex; flex-direction: column; gap: 12px; }
.check-row { display: flex; align-items: flex-start; gap: 10px; }
.check-box { width: 20px; height: 20px; flex: 0 0 auto; border-radius: 50%; border: 1px solid #c9d6f2; display: grid; place-items: center; color: var(--blue); }
.check-box .icon { width: 11px; height: 11px; }
.check-row div { display: flex; flex-direction: column; gap: 2px; }
.check-row strong { font-size: 10.5px; font-weight: 700; line-height: 1.35; }
.check-row span { font-size: 9px; font-weight: 300; color: var(--muted-light); }
.dash-people { display: flex; flex-direction: column; gap: 10px; }
.dash-person { display: flex; align-items: center; gap: 9px; }
.dash-person div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.dash-person strong { font-size: 10.5px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dash-person span { font-size: 8.5px; font-weight: 300; color: var(--muted-light); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dash-protocol { display: flex; flex-direction: column; gap: 10px; }
.dash-protocol-row { display: flex; flex-direction: column; gap: 2px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.dash-protocol-row:last-child { border-bottom: 0; padding-bottom: 0; }
.dash-protocol-row strong { font-size: 10px; font-weight: 700; line-height: 1.3; }
.dash-protocol-row span { font-size: 8.5px; font-weight: 300; color: var(--muted-light); }
.calendar-summary { display: flex; gap: 24px; flex-wrap: wrap; margin: -8px 0 22px; padding: 14px 0; border-top: 1px solid rgba(150,180,255,.14); border-bottom: 1px solid rgba(150,180,255,.14); }
.calendar-summary span, .calendar-summary a { font-size: 10px; font-weight: 300; letter-spacing: .06em; text-transform: uppercase; color: var(--text-soft); }
.calendar-summary a:hover { color: #fff; }
.calendar-summary a:hover strong { color: var(--cyan); }
.calendar-summary strong { font-family: var(--display); font-size: 20px; font-weight: 700; color: #fff; margin-right: 5px; }
.calendar-layout { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 16px; }
.quarter-months { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; align-items: start; }
.month-cal-large { align-self: start; }
.calendar-agenda { padding: 22px; align-self: start; }
.calendar-agenda .panel-head-row { margin-bottom: 10px; }
.agenda-filter { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 10px; }
.filter-chip { height: 28px; padding: 0 10px; border-radius: 999px; border: 1px solid rgba(150,180,255,.2); background: transparent; color: var(--text-soft); font-size: 9.5px; font-weight: 700; }
.filter-chip:hover { border-color: rgba(75,245,255,.5); color: #fff; }
.filter-chip.is-active { background: var(--blue); border-color: var(--blue); color: #fff; }
.calendar-agenda .filter-chip { color: var(--muted-light); border-color: var(--line); }
.calendar-agenda .filter-chip:hover { color: var(--blue); border-color: #a9c4ff; }
.calendar-agenda .filter-chip.is-active { color: #fff; background: var(--blue); border-color: var(--blue); }
.engagement-table .muted-copy { color: var(--muted-light); }
.quarter-agenda-list { display: flex; flex-direction: column; }
.quarter-agenda-row { display: flex; align-items: center; gap: 9px; padding: 10px 0; border-top: 1px solid var(--line); }
.quarter-agenda-row:hover .agenda-body strong { color: var(--blue); }
.agenda-date { width: 32px; flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 1px; }
.agenda-date span { font-family: var(--display); font-size: 16px; font-weight: 700; line-height: 1; }
.agenda-date small { font-size: 7px; font-weight: 300; letter-spacing: .08em; color: var(--blue); }
.agenda-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.agenda-body strong { font-size: 10.5px; font-weight: 700; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.agenda-body span { font-size: 8.5px; font-weight: 300; color: var(--muted-light); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.quarter-agenda-row > .icon { width: 13px; height: 13px; color: var(--blue); flex: 0 0 auto; }
.list-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.list-toolbar .search-field { width: 320px; }
.filter-group { display: flex; flex-wrap: wrap; gap: 5px; }
.engagement-table { background: #fff; color: var(--ink); border-radius: 18px; overflow: hidden; }
.engagement-head, .engagement-row { display: grid; grid-template-columns: 64px minmax(220px,2fr) .9fr 1fr 1fr .9fr 1.1fr; gap: 12px; align-items: center; padding: 13px 18px; }
.engagement-head { border-bottom: 1px solid var(--line); font-size: 8px; font-weight: 300; letter-spacing: .12em; text-transform: uppercase; color: var(--muted-light); }
.engagement-row { border-top: 1px solid var(--line); }
.engagement-row:hover { background: #f7faff; }
.eng-date { display: flex; flex-direction: column; gap: 1px; }
.eng-date strong { font-family: var(--display); font-size: 17px; font-weight: 700; line-height: 1; }
.eng-date span { font-size: 7.5px; font-weight: 300; letter-spacing: .1em; color: var(--blue); }
.eng-name { display: flex; align-items: center; gap: 7px; min-width: 0; }
.eng-name a { font-size: 12px; font-weight: 700; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eng-name a:hover { color: var(--blue); }
.eng-format .pill { background: var(--paper-2); color: var(--ink); }
.eng-city { display: flex; align-items: center; gap: 4px; font-size: 10px; font-weight: 300; color: var(--muted-light); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eng-city .icon { width: 11px; height: 11px; color: var(--blue); flex: 0 0 auto; }
.eng-ceo { font-size: 10px; font-weight: 300; color: var(--muted-light); }
.eng-status { display: flex; align-items: center; gap: 4px; }
.eng-actions { display: flex; align-items: center; justify-content: flex-end; gap: 4px; }
.eng-actions .icon-btn { width: 28px; height: 28px; color: var(--muted-light); }
.eng-actions .icon-btn:hover { color: var(--blue); background: #eef4ff; }
.briefs-list { display: flex; flex-direction: column; gap: 12px; }
.brief-list-row { display: grid; grid-template-columns: 92px minmax(0,1fr) 150px; gap: 20px; padding: 22px; background: #fff; color: var(--ink); border-radius: 18px; }
.brief-list-logo .logo-tile { width: 92px; height: 62px; }
.brief-list-body { min-width: 0; }
.brief-list-title { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.brief-list-title a { font-family: var(--display); font-size: 21px; font-weight: 400; letter-spacing: -.015em; }
.brief-list-title a:hover { color: var(--blue); }
.brief-list-meta { font-size: 9.5px; font-weight: 300; color: var(--muted-light); margin-top: 4px; }
.brief-list-why { font-size: 11px; line-height: 1.55; color: var(--muted-light); margin-top: 9px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.brief-list-stats { display: flex; gap: 20px; margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--line); }
.brief-list-stats strong { display: block; font-family: var(--display); font-size: 17px; font-weight: 700; line-height: 1; }
.brief-list-stats span { display: block; font-size: 7px; font-weight: 300; letter-spacing: .08em; text-transform: uppercase; color: var(--muted-light); margin-top: 3px; }
.brief-list-side { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.brief-list-side .text-link { font-size: 9.5px; }

@media (max-width: 1180px) {
  .sidebar { transform: translateX(-100%); transition: transform .22s ease; box-shadow: 20px 0 60px -20px rgba(0,0,0,.6); }
  body.nav-open .sidebar { transform: translateX(0); }
  body.nav-open { overflow: hidden; }
  .side-close { display: grid; }
  .workspace { margin-left: 0; }
  .appbar { padding: 0 18px; }
  .appbar-menu { display: grid; }
  .dashboard-top, .dashboard-mid { grid-template-columns: 1fr; }
  .dashboard-lower { grid-template-columns: 1fr 1fr; }
  .calendar-layout { grid-template-columns: 1fr; }
  .quarter-months { grid-template-columns: 1fr; }
  .mini-months { gap: 12px; }
  .appbar-search span, .appbar-search kbd { display: none; }
  .appbar-search { width: 36px; padding: 0; justify-content: center; }
  .appbar-new span, .appbar-edit span { display: none; }
  .appbar-new, .appbar-edit { width: 36px; padding: 0; gap: 0; }
}
@media (max-width: 860px) {
  .appbar { gap: 10px; }
  .appbar-crumb i { display: none; }
  .appbar-user { display: none; }
  .appbar-actions .btn-primary span { display: none; }
  .appbar-actions .btn-primary { width: 36px; padding: 0; }
  .page { padding: 22px 18px 0; }
  .page-top { flex-direction: column; align-items: flex-start; gap: 14px; }
  .page-top-actions { width: 100%; }
  .page-top-actions .btn { flex: 1; }
  .dash-next-card { grid-template-columns: 1fr; }
  .dash-next-media { flex-direction: row; justify-content: flex-start; text-align: left; }
  .dash-next-person { text-align: left; }
  .mini-months { grid-template-columns: 1fr; }
  .dashboard-lower { grid-template-columns: 1fr; }
  .list-toolbar { flex-direction: column; align-items: flex-start; }
  .list-toolbar .search-field { width: 100%; }
  .engagement-head { display: none; }
  .engagement-row { grid-template-columns: 55px minmax(0,1fr) 34px; gap: 8px; padding: 14px; }
  .eng-format, .eng-city, .eng-ceo, .eng-status { display: none; }
  .eng-actions { grid-column: 3; grid-row: 1; }
  .eng-actions .avatar-stack { display: none; }
  .brief-list-row { grid-template-columns: 1fr; gap: 14px; padding: 18px; }
  .brief-list-logo .logo-tile { width: 100px; height: 64px; }
  .brief-list-side { flex-direction: row; align-items: center; flex-wrap: wrap; }
  .calendar-summary { gap: 12px; }
  .calendar-summary span, .calendar-summary a { width: 45%; }
}
@media (max-width: 560px) {
  .dashboard .page-top-copy h1 { font-size: 34px; }
  .dash-next-copy h2 { font-size: 28px; }
  .dash-kpi-panel { padding: 18px; }
  .dash-calendar-panel, .dash-briefs-panel, .dashboard-list-panel { padding: 18px; }
  .side-quarter { display: flex; padding: 10px 12px; }
  .mini-day { min-height: 30px; }
  .month-cal-large .mini-day { min-height: 36px; }
  .calendar-summary span, .calendar-summary a { width: 45%; }
  .brief-list-title a { font-size: 19px; }
}

/* Plan-first workspace */
.view-switch { display: inline-flex; align-items: center; gap: 2px; height: 40px; padding: 3px; border: 1px solid rgba(150,180,255,.2); border-radius: 10px; background: rgba(255,255,255,.03); }
.view-tab { display: inline-flex; align-items: center; height: 32px; padding: 0 12px; border-radius: 7px; font-size: 10px; font-weight: 700; color: var(--text-soft); }
.view-tab:hover { color: #fff; }
.view-tab.is-active { background: var(--blue); color: #fff; }
.plan-ribbon { display: grid; grid-template-columns: minmax(0,1.45fr) .42fr .42fr minmax(220px,.85fr); gap: 10px; margin-bottom: 18px; }
.plan-next { position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 10px; padding: 20px 22px; border-radius: 18px; border: 1px solid rgba(75,245,255,.24); background: radial-gradient(500px 260px at 100% 0%, rgba(16,97,255,.32), transparent 65%), rgba(255,255,255,.045); overflow: hidden; }
.plan-next::after { content: ""; position: absolute; width: 220px; height: 220px; right: -110px; bottom: -150px; border-radius: 50%; border: 1px solid rgba(75,245,255,.16); pointer-events: none; }
.plan-next-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.plan-next-top .eyebrow { color: var(--cyan); }
.plan-countdown { font-size: 8.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink); background: var(--cyan); padding: 4px 7px; border-radius: 999px; }
.plan-next-main { display: flex; align-items: center; gap: 13px; }
.plan-next-main h2 { font-family: var(--display); font-size: 25px; font-weight: 700; letter-spacing: -.02em; line-height: 1.1; }
.plan-next-main span { display: block; margin-top: 5px; font-size: 9.5px; font-weight: 300; color: var(--text-soft); }
.plan-next-link { display: inline-flex; align-items: center; gap: 5px; font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--cyan); }
.plan-next-link .icon { width: 12px; height: 12px; }
.plan-next-empty { justify-content: center; }
.plan-ribbon-metric { display: flex; flex-direction: column; justify-content: center; gap: 4px; padding: 18px; border-radius: 18px; border: 1px solid rgba(150,180,255,.18); background: rgba(255,255,255,.035); }
.plan-ribbon-metric strong { font-family: var(--display); font-size: 32px; font-weight: 700; letter-spacing: -.03em; line-height: 1; }
.plan-ribbon-metric span { font-size: 8px; font-weight: 300; letter-spacing: .12em; text-transform: uppercase; color: var(--text-soft); }
.plan-travel { display: flex; flex-direction: column; justify-content: center; gap: 4px; padding: 18px; border-radius: 18px; border: 1px solid rgba(150,180,255,.18); background: rgba(255,255,255,.035); }
.plan-travel span { font-size: 8px; font-weight: 300; letter-spacing: .12em; text-transform: uppercase; color: var(--cyan); }
.plan-travel strong { font-size: 10.5px; font-weight: 700; line-height: 1.35; }
.plan-travel small { font-size: 8.5px; font-weight: 300; color: var(--text-soft); line-height: 1.35; }
.plan-months { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; align-items: stretch; }
.plan-months .month-cal-large { height: 100%; }
.plan-months .month-cal-link { margin-top: auto; }
.plan-months .month-cal-large { padding: 18px 18px 14px; }
.month-event-list { margin-top: 10px; padding-top: 7px; border-top: 1px solid var(--line); display: flex; flex-direction: column; }
.month-event { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; gap: 6px; align-items: center; padding: 6px 0; border-bottom: 1px solid #eef2fa; }
.month-event:last-child { border-bottom: 0; }
.month-event:hover .me-title { color: var(--blue); }
.me-date { font-size: 8px; font-weight: 700; color: var(--blue); }
.me-title { display: flex; align-items: center; gap: 4px; font-size: 9.5px; font-weight: 700; line-height: 1.25; min-width: 0; }
.me-title .icon { width: 9px; height: 9px; color: #c69c00; fill: currentColor; flex: 0 0 auto; }
.me-city { font-size: 7.5px; font-weight: 300; color: var(--muted-light); white-space: nowrap; }
.month-event-empty { padding: 12px 0 6px; font-size: 9px; font-weight: 300; color: var(--muted-light); }
.plan-prep { margin-top: 18px; padding: 24px; border-radius: 20px; background: #fff; color: var(--ink); }
.plan-prep .panel-head-row { margin-bottom: 14px; }
.prep-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.prep-card { display: flex; align-items: center; gap: 9px; padding: 11px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); min-width: 0; }
.prep-card:hover { border-color: #a9c4ff; background: #f2f7ff; }
.prep-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.prep-body span { font-size: 7.5px; font-weight: 300; color: var(--muted-light); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.prep-body strong { font-size: 10px; font-weight: 700; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.prep-body small { font-size: 7px; font-weight: 300; color: var(--blue); }
.prep-card > .icon { width: 12px; height: 12px; color: var(--blue); flex: 0 0 auto; }
@media (max-width: 1180px) {
  .plan-ribbon { grid-template-columns: 1fr 1fr 1fr; }
  .plan-next { grid-column: 1 / -1; }
  .plan-months { grid-template-columns: 1fr; }
  .prep-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 860px) {
  .plan-ribbon { grid-template-columns: 1fr 1fr; }
  .plan-travel { grid-column: 1 / -1; }
  .plan-prep { padding: 18px; }
  .prep-grid { grid-template-columns: 1fr; }
  .view-switch { height: 36px; }
  .view-tab { height: 28px; padding: 0 9px; font-size: 9.5px; }
  .page-top-actions { flex-wrap: wrap; }
}

/* At-a-glance overview */
.overview-grid { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 14px; }
.overview-timeline { padding: 24px; }
.timeline-months { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.ov-month { min-width: 0; }
.ov-month-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; padding-bottom: 9px; border-bottom: 1px solid var(--line); color: inherit; }
.ov-month-head:hover h3 { color: var(--blue); }
.ov-month-head:hover .ov-count { color: var(--ink); }
.ov-month-head > div { display: flex; flex-direction: column; gap: 2px; }
.ov-index { font-size: 7.5px; font-weight: 700; letter-spacing: .12em; color: var(--blue); }
.ov-month-head h3 { font-family: var(--display); font-size: 20px; font-weight: 400; letter-spacing: -.01em; }
.ov-count { font-family: var(--display); font-size: 17px; color: var(--blue); }
.ov-events { display: flex; flex-direction: column; }
.ov-event { display: grid; grid-template-columns: 48px minmax(0,1fr) 8px; gap: 7px; align-items: center; padding: 10px 0; border-bottom: 1px solid #eef2fa; }
.ov-event:hover .ov-event-body strong { color: var(--blue); }
.ov-date { font-size: 8px; font-weight: 700; color: var(--blue); line-height: 1.2; }
.ov-event-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ov-event-body strong { font-size: 10.5px; font-weight: 700; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ov-event-body span { font-size: 8px; font-weight: 300; color: var(--muted-light); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ov-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--blue); justify-self: end; }
.ov-dot.green { background: #00b25a; }
.ov-dot.is-key { box-shadow: 0 0 0 2px rgba(255,220,0,.55); }
.ov-empty { padding: 28px 0 10px; font-size: 9px; font-weight: 300; color: var(--muted-light); }
.overview-aside { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.next-panel { display: flex; flex-direction: column; gap: 9px; padding: 18px; border-radius: 18px; border: 1px solid rgba(75,245,255,.22); background: radial-gradient(400px 220px at 100% 0%, rgba(16,97,255,.35), transparent 70%), rgba(255,255,255,.045); }
.next-panel-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 8px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--cyan); }
.next-panel-count { font-size: 8px; color: var(--ink); background: var(--cyan); padding: 3px 6px; border-radius: 999px; letter-spacing: .06em; }
.next-panel-main { display: flex; align-items: center; gap: 10px; }
.next-panel-main h2 { font-family: var(--display); font-size: 19px; font-weight: 700; letter-spacing: -.015em; line-height: 1.1; }
.next-panel-main span { display: block; margin-top: 4px; font-size: 8.5px; font-weight: 300; color: var(--text-soft); }
.next-panel-meta { display: flex; align-items: center; gap: 5px; font-size: 8.5px; font-weight: 300; color: var(--text-soft); line-height: 1.4; }
.next-panel-meta .icon { width: 11px; height: 11px; color: var(--cyan); flex: 0 0 auto; }
.next-panel-link { display: inline-flex; align-items: center; gap: 4px; margin-top: 2px; font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--cyan); }
.next-panel-link .icon { width: 11px; height: 11px; }
.next-panel-empty { justify-content: center; }
.next-panel-empty > span { font-size: 8px; color: var(--cyan); letter-spacing: .1em; text-transform: uppercase; }
.next-panel-empty h2 { font-family: var(--display); font-size: 20px; font-weight: 700; }
.overview-kpis { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(150,180,255,.16); border: 1px solid rgba(150,180,255,.16); border-radius: 14px; overflow: hidden; }
.overview-kpis > a, .overview-kpis > div { background: #000050; padding: 12px 14px; color: inherit; display: block; }
.overview-kpis > a:nth-child(4n+1), .overview-kpis > a:nth-child(4n+2), .overview-kpis > div:nth-child(4n+1), .overview-kpis > div:nth-child(4n+2) { background: rgba(255,255,255,.035); }
.overview-kpis > a:hover { background: rgba(16,97,255,.28); }
.overview-kpis > a:hover span { color: var(--cyan); }
.overview-kpis strong { display: block; font-family: var(--display); font-size: 24px; font-weight: 700; letter-spacing: -.02em; line-height: 1; }
.overview-kpis span { display: block; margin-top: 4px; font-size: 7.5px; font-weight: 300; letter-spacing: .1em; text-transform: uppercase; color: var(--text-soft); }
.travel-panel { display: flex; flex-direction: column; gap: 3px; padding: 15px; border-radius: 14px; border: 1px solid rgba(150,180,255,.18); background: rgba(255,255,255,.03); color: inherit; }
.travel-panel:hover { border-color: rgba(75,245,255,.45); background: rgba(75,245,255,.06); }
.travel-panel span { font-size: 7.5px; font-weight: 300; letter-spacing: .12em; text-transform: uppercase; color: var(--cyan); }
.travel-panel strong { font-size: 10px; font-weight: 700; line-height: 1.3; }
.travel-panel small { font-size: 8px; font-weight: 300; color: var(--text-soft); line-height: 1.4; }
.overview-briefs { margin-top: 18px; }
.overview-briefs .panel-head-row { margin-bottom: 10px; }
.brief-mini-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.brief-mini { display: flex; align-items: center; gap: 9px; padding: 11px; border-radius: 13px; background: #fff; color: var(--ink); border: 1px solid var(--line); }
.brief-mini:hover { border-color: #a9c4ff; background: #f7faff; }
.brief-mini > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.brief-mini span { font-size: 7.5px; font-weight: 300; color: var(--muted-light); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.brief-mini strong { font-size: 10px; font-weight: 700; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.brief-mini small { font-size: 7px; font-weight: 300; color: var(--blue); }
.brief-mini > .icon { width: 12px; height: 12px; color: var(--blue); flex: 0 0 auto; }
@media (max-width: 1180px) {
  .overview-grid { grid-template-columns: 1fr; }
  .overview-aside { display: grid; grid-template-columns: 1fr 1fr; }
  .next-panel { grid-column: 1 / -1; }
  .travel-panel { grid-column: 1 / -1; }
  .brief-mini-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 860px) {
  .timeline-months { grid-template-columns: 1fr; gap: 14px; }
  .overview-aside { grid-template-columns: 1fr; }
  .overview-timeline { padding: 18px; }
  .brief-mini-grid { grid-template-columns: 1fr; }
}

/* Plan filters: time is a filter; calendar/list are views */
.plan-filters { display: flex; align-items: center; justify-content: space-between; gap: 12px 18px; flex-wrap: wrap; padding-bottom: 13px; margin-bottom: 18px; border-bottom: 1px solid rgba(150,180,255,.16); }
.filter-cluster { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.filter-label { margin-right: 5px; font-size: 8px; font-weight: 300; letter-spacing: .13em; text-transform: uppercase; color: var(--text-dim); }
.plan-chip { display: inline-flex; align-items: center; height: 28px; padding: 0 10px; border-radius: 7px; color: var(--text-soft); font-size: 9.5px; font-weight: 600; white-space: nowrap; }
.plan-chip:hover { color: #fff; background: rgba(255,255,255,.055); }
.plan-chip.is-active { color: #fff; background: rgba(16,97,255,.32); box-shadow: inset 0 0 0 1px rgba(75,245,255,.22); }
.range-panel { padding: 24px; }
.range-panel .muted-copy { color: var(--muted-light); }
.range-list { display: flex; flex-direction: column; }
.range-row { display: grid; grid-template-columns: 48px minmax(0,1fr) 100px 110px 16px; gap: 12px; align-items: center; padding: 15px 4px; border-bottom: 1px solid #eef2fa; color: var(--ink); }
.range-row:last-child { border-bottom: 0; }
.range-row:hover .range-main strong { color: var(--blue); }
.range-date { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.range-date strong { font-family: var(--display); font-size: 20px; line-height: 1; color: var(--blue); }
.range-date span { font-size: 7px; font-weight: 700; letter-spacing: .1em; color: var(--muted-light); }
.range-main { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.range-main strong { font-size: 12px; font-weight: 700; }
.range-main span { font-size: 8.5px; font-weight: 300; color: var(--muted-light); }
.range-type, .range-status { display: flex; align-items: center; }
.range-row > .icon { width: 14px; height: 14px; color: var(--blue); }
.range-empty { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 54px 20px; text-align: center; }
.range-empty h3 { font-family: var(--display); font-size: 19px; font-weight: 400; }
.range-empty p { font-size: 10px; font-weight: 300; color: var(--muted-light); }
.range-empty .empty-icon { margin-bottom: 4px; }
@media (max-width: 860px) {
  .range-row { grid-template-columns: 40px minmax(0,1fr) 16px; gap: 8px; }
  .range-type, .range-status { display: none; }
  .range-panel { padding: 16px; }
  .plan-filters { gap: 8px; }
  .filter-cluster { gap: 2px; }
  .filter-label { width: 100%; }
}

:where(a, button, input, select, textarea):focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }

/* Readability and hierarchy pass */
.page-top { margin-bottom: 24px; }
.page-top-copy h1 { font-size: clamp(34px, 3.3vw, 46px); }
.page-top-copy p { font-size: 14.5px; line-height: 1.55; max-width: 680px; }
.panel-head-row h2 { font-size: 24px; }
.side-brand strong { font-size: 18px; }
.side-brand span { font-size: 10.5px; }
.side-nav { gap: 4px; }
.side-link { min-height: 42px; font-size: 14px; gap: 11px; }
.side-link .icon { width: 17px; height: 17px; }
.side-count { font-size: 10.5px; }
.side-divider { height: 1px; margin: 9px 10px; background: rgba(150,180,255,.14); }
.side-action { height: 42px; font-size: 12.5px; }
.side-user strong { font-size: 11px; }
.side-user span { font-size: 8.5px; }
.appbar-crumb { font-size: 14px; gap: 10px; }
.appbar-crumb strong { font-size: 14px; }
.appbar-crumb a { width: 28px; height: 28px; }
.appbar-search { font-size: 12.5px; height: 38px; }
.appbar-user { font-size: 11px; }
.btn-small { font-size: 13.5px; height: 38px; }
.filter-label { font-size: 10px; }
.plan-chip { height: 32px; font-size: 11.5px; padding: 0 12px; }
.filter-chip { height: 30px; font-size: 10.5px; padding: 0 11px; }
.ov-index { font-size: 9px; }
.ov-month-head h3 { font-size: 22px; }
.ov-count { font-size: 19px; }
.ov-date { font-size: 9.5px; }
.ov-event-body strong { font-size: 12px; }
.ov-event-body span { font-size: 9.5px; }
.ov-empty { font-size: 10px; }
.panel-note { font-size: 10px; }
.next-panel-top { font-size: 9.5px; }
.next-panel-main h2 { font-size: 21px; }
.next-panel-main span { font-size: 10px; }
.next-panel-meta { font-size: 9.5px; }
.next-panel-link { font-size: 9.5px; }
.overview-kpis strong { font-size: 28px; }
.overview-kpis span { font-size: 9.5px; }
.travel-panel span { font-size: 9px; }
.travel-panel strong { font-size: 11.5px; }
.travel-panel small { font-size: 9.5px; }
.brief-mini span { font-size: 9px; }
.brief-mini strong { font-size: 11.5px; }
.brief-mini small { font-size: 9px; }
.calendar-summary span, .calendar-summary a { font-size: 11.5px; }
.calendar-summary strong { font-size: 22px; }
.mini-dows span { font-size: 8.5px; }
.mini-day { font-size: 10px; }
.month-cal-head h3 { font-size: 22px; }
.month-cal-count { font-size: 19px; }
.month-cal-large .mini-day { font-size: 11px; min-height: 38px; }
.month-cal-large .mini-dows span { font-size: 8.5px; }
.panel-head-row .kicker { color: var(--blue); }
@media (max-width: 860px) {
  .page-top-copy h1 { font-size: 38px; }
  .side-link { font-size: 14px; }
}

/* List and agenda readability */
.quarter-agenda-row { padding: 12px 0; gap: 10px; }
.agenda-date small { font-size: 8.5px; }
.agenda-body strong { font-size: 12px; }
.agenda-body span { font-size: 9.5px; }
.eng-name a { font-size: 13.5px; }
.eng-city, .eng-ceo { font-size: 11px; }
.eng-date span { font-size: 8.5px; }
.engagement-head { font-size: 9.5px; }
.month-event { padding: 8px 0; }
.me-date { font-size: 9.5px; }
.me-title { font-size: 11px; }
.me-city { font-size: 9px; }
.month-event-empty { font-size: 10px; }
.prep-body span { font-size: 9px; }
.prep-body strong { font-size: 11.5px; }
.prep-body small { font-size: 8.5px; }

/* Nested navigation */
.side-group { display: flex; flex-direction: column; gap: 2px; }
.side-parent { position: relative; }
.side-parent.is-active { background: rgba(16,97,255,.12); box-shadow: none; }
.side-sub { display: flex; flex-direction: column; gap: 1px; margin: 3px 0 8px 27px; padding-left: 10px; border-left: 1px solid rgba(150,180,255,.18); }
.side-sublink { display: flex; align-items: center; min-height: 31px; padding: 0 8px; border-radius: 7px; color: var(--text-soft); font-size: 12px; }
.side-sublink span { flex: 1; }
.side-sublink em { font-style: normal; font-size: 9.5px; color: var(--text-dim); }
.side-sublink:hover { color: #fff; background: rgba(255,255,255,.05); }
.side-sublink.is-active { color: var(--cyan); background: rgba(75,245,255,.07); }
.side-sublink.is-active em { color: var(--cyan); }

/* Home: next two weeks */
.home-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-bottom: 14px; }
.home-summary > div { padding: 16px 18px; border-radius: 14px; border: 1px solid rgba(150,180,255,.18); background: rgba(255,255,255,.035); }
.home-summary strong { display: block; font-family: var(--display); font-size: 28px; line-height: 1; letter-spacing: -.02em; color: #fff; }
.home-summary span { display: block; margin-top: 5px; font-size: 9.5px; font-weight: 300; letter-spacing: .1em; text-transform: uppercase; color: var(--text-soft); }
.home-layout { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 14px; }
.home-upcoming { padding: 24px; }
.home-events { display: flex; flex-direction: column; }
.home-event { display: grid; grid-template-columns: 58px minmax(0,1fr) 18px; gap: 14px; align-items: center; padding: 16px 2px; border-top: 1px solid var(--line); color: var(--ink); }
.home-event:first-child { border-top: 0; }
.home-event:hover .home-event-main h3 { color: var(--blue); }
.home-date { display: flex; flex-direction: column; align-items: center; gap: 1px; }
.home-date strong { font-family: var(--display); font-size: 26px; line-height: 1; color: var(--blue); }
.home-date span { font-size: 8px; font-weight: 700; letter-spacing: .1em; color: var(--muted-light); }
.home-date small { font-size: 8px; font-weight: 300; color: var(--muted-light); }
.home-event-main { min-width: 0; }
.home-event-top { display: flex; align-items: center; gap: 7px; }
.home-travel { font-size: 9px; font-weight: 300; color: var(--muted-light); }
.home-event-main h3 { margin: 5px 0 4px; font-family: var(--display); font-size: 20px; font-weight: 400; letter-spacing: -.015em; line-height: 1.15; }
.home-activity { display: flex; align-items: center; gap: 6px; font-size: 10.5px; font-weight: 700; color: var(--blue); }
.home-activity .icon { width: 13px; height: 13px; }
.home-event-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 12px; margin-top: 6px; font-size: 9.5px; font-weight: 300; color: var(--muted-light); }
.home-event-meta > span { display: inline-flex; align-items: center; gap: 4px; }
.home-event-meta .icon { width: 12px; height: 12px; color: var(--blue); }
.home-people { margin-left: 2px; }
.home-event-foot { margin-top: 8px; }
.home-needs { display: inline-flex; align-items: center; gap: 5px; font-size: 9px; font-weight: 700; color: #9b6b00; }
.home-needs .icon { width: 12px; height: 12px; }
.home-event > .icon { width: 14px; height: 14px; color: var(--blue); }
.home-side { display: flex; flex-direction: column; gap: 12px; }
.home-attention, .home-quarter { padding: 20px; }
.attention-row { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid var(--line); color: var(--ink); }
.attention-row:first-of-type { border-top: 0; }
.attention-row:hover strong { color: var(--blue); }
.attention-icon { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; background: var(--paper-2); color: var(--blue); flex: 0 0 auto; }
.attention-icon .icon { width: 14px; height: 14px; }
.attention-row > span:nth-child(2) { display: flex; flex-direction: column; gap: 2px; flex: 1; }
.attention-row strong { font-size: 11px; font-weight: 700; line-height: 1.25; }
.attention-row small { font-size: 9px; font-weight: 300; color: var(--muted-light); }
.attention-row > .icon { width: 13px; height: 13px; color: var(--blue); flex: 0 0 auto; }
.home-quarter-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-bottom: 14px; }
.home-quarter-grid a { display: flex; flex-direction: column; gap: 3px; padding: 10px; border-radius: 9px; background: var(--paper); border: 1px solid var(--line); }
.home-quarter-grid strong { font-family: var(--display); font-size: 22px; line-height: 1; color: var(--blue); }
.home-quarter-grid span { font-size: 8px; font-weight: 300; color: var(--muted-light); }
.home-empty { padding: 40px 0; text-align: center; }
.home-empty h3 { font-family: var(--display); font-size: 20px; font-weight: 400; }
.home-empty p { margin-top: 6px; font-size: 11px; color: var(--muted-light); }
@media (max-width: 1180px) {
  .home-layout { grid-template-columns: 1fr; }
  .home-side { display: grid; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .home-summary { grid-template-columns: 1fr 1fr; }
  .home-side { grid-template-columns: 1fr; }
  .home-event { grid-template-columns: 48px minmax(0,1fr) 14px; gap: 10px; }
  .home-event-main h3 { font-size: 18px; }
  .home-event-meta { font-size: 9px; }
}

/* Briefings */
.briefings-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.briefing-card { display: flex; flex-direction: column; gap: 10px; padding: 22px; background: #fff; color: var(--ink); border: 1px solid var(--line); border-radius: 18px; }
.briefing-card:hover { border-color: #a9c4ff; }
.briefing-top { display: flex; align-items: center; justify-content: space-between; }
.briefing-date { font-size: 9px; font-weight: 300; letter-spacing: .04em; color: var(--blue); }
.briefing-card h2 { font-family: var(--display); font-size: 23px; font-weight: 400; line-height: 1.15; letter-spacing: -.02em; }
.briefing-card p { font-size: 11px; font-weight: 300; line-height: 1.55; color: var(--muted-light); }
.briefing-foot { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 8px; color: var(--blue); font-size: 9px; font-weight: 700; }
.briefing-foot .icon { width: 14px; height: 14px; }
.protocol-reference { display: flex; align-items: center; gap: 12px; margin-top: 14px; padding: 18px 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff; color: var(--ink); }
.protocol-reference:hover strong { color: var(--blue); }
.protocol-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: var(--paper-2); color: var(--blue); }
.protocol-icon .icon { width: 17px; height: 17px; }
.protocol-reference div { display: flex; flex-direction: column; gap: 2px; flex: 1; }
.protocol-reference strong { font-size: 12px; }
.protocol-reference span { font-size: 10px; font-weight: 300; color: var(--muted-light); }
.protocol-reference > .icon { width: 14px; height: 14px; color: var(--blue); }
@media (max-width: 800px) { .briefings-grid { grid-template-columns: 1fr; } }

/* Calendar range presets */
.calendar-ranges { display: flex; flex-wrap: wrap; gap: 4px; padding-bottom: 14px; margin-bottom: 8px; border-bottom: 1px solid rgba(150,180,255,.14); }
.range-chip { display: inline-flex; align-items: center; height: 32px; padding: 0 12px; border-radius: 8px; font-size: 10.5px; font-weight: 600; color: var(--text-soft); white-space: nowrap; }
.range-chip:hover { color: #fff; background: rgba(255,255,255,.06); }
.range-chip.is-active { color: #fff; background: var(--blue); }
html[data-theme="light"] .range-chip { color: #4c5a7a; }
html[data-theme="light"] .range-chip:hover { color: #000050; background: #eef4ff; }
html[data-theme="light"] .range-chip.is-active { color: #fff; background: #1061ff; }
.calendar-range-panel { padding: 24px; }
.calendar-range-panel .panel-head-row h2 { font-size: 26px; }
.range-agenda { margin-top: 6px; }
.range-agenda-row { display: flex; align-items: center; gap: 10px; padding: 14px 0; border-top: 1px solid var(--line); color: var(--ink); }
.range-agenda-row:first-child { border-top: 0; }



/* Search overlay */
.search-overlay { position: fixed; inset: 0; z-index: 80; display: flex; justify-content: center; align-items: flex-start; padding: 11vh 20px 40px; background: rgba(0,0,40,.55); backdrop-filter: blur(8px); }
.search-overlay[hidden] { display: none; }
body.search-open { overflow: hidden; }
.search-panel { width: min(680px, 100%); max-height: 76vh; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--border); border-radius: 18px; background: var(--surface); box-shadow: 0 28px 80px rgba(0,0,30,.35); }
.search-input-row { display: flex; align-items: center; gap: 12px; padding: 15px 18px; border-bottom: 1px solid var(--line); }
.search-input-row > .icon { width: 19px; height: 19px; color: var(--blue); flex: 0 0 auto; }
.search-input-row input { flex: 1; min-width: 0; height: 30px; border: 0; outline: 0; background: transparent; color: var(--ink); font-family: var(--text); font-size: 15px; }
.search-input-row input::placeholder { color: var(--text-dim); }
.search-esc { height: 24px; padding: 0 7px; border: 1px solid var(--border); border-radius: 5px; color: var(--text-soft); font-size: 9px; font-weight: 700; }
.search-results { overflow: auto; padding: 10px 10px 14px; }
.search-group-label { padding: 13px 9px 6px; font-size: 8.5px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: var(--muted-light); }
.search-quick { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; }
.search-result { display: flex; align-items: center; gap: 10px; padding: 9px; border-radius: 9px; color: var(--ink); }
.search-result:hover, .search-result.is-active { background: var(--paper); }
.search-result-icon { width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 8px; background: var(--paper-2); color: var(--blue); }
.search-result-icon .icon { width: 15px; height: 15px; }
.search-result > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.search-result strong { font-size: 11px; font-weight: 700; }
.search-result span { overflow: hidden; font-size: 9px; font-weight: 300; color: var(--muted-light); text-overflow: ellipsis; white-space: nowrap; }
.search-empty { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 42px 16px; text-align: center; }
.search-empty .icon { width: 22px; height: 22px; color: var(--blue); }
.search-empty strong { font-family: var(--display); font-size: 19px; font-weight: 400; }
.search-empty span { font-size: 10px; color: var(--muted-light); }
.search-foot { display: flex; justify-content: space-between; gap: 10px; padding: 10px 18px; border-top: 1px solid var(--line); color: var(--muted-light); font-size: 8.5px; }
html[data-theme="dark"] .search-panel { box-shadow: 0 28px 90px rgba(0,0,0,.55); }
html[dir="rtl"] .search-panel { direction: rtl; }
html[dir="rtl"] .search-input-row input { text-align: right; }
html[dir="rtl"] .search-result { direction: rtl; }
@media (max-width: 640px) {
  .search-overlay { padding: 4vh 10px 20px; }
  .search-quick { grid-template-columns: 1fr; }
  .search-foot span:last-child { display: none; }
}

.protocol-list { max-width: 100%; }
.protocol-row { grid-template-columns: minmax(0,1.15fr) minmax(0,1fr) 44px; }
.protocol-row > div { min-width: 0; }
.protocol-approaches { min-width: 0; }
.protocol-row h2 { overflow-wrap: anywhere; }
html[dir="rtl"] .protocol-row { direction: rtl; }

.protocol-row { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr) minmax(120px,.8fr); }
@media (max-width: 800px) { .protocol-row { grid-template-columns: 1fr; gap: 10px; } }
