:root{color-scheme:light;--bg:#f9f9f7;--sidebar:rgba(226,227,228,.88);--surface:#fff;--surface-2:#f2f2ef;--text:#2d2d2b;--muted:#777773;--quiet:#a3a39f;--line:#e3e3df;--line-strong:#d2d2ce;--accent:#397ff0;--accent-soft:rgba(57,127,240,.11);--success:#17865d;--warning:#b77211;--danger:#cb4b45;--shadow:0 18px 60px rgba(45,45,43,.08);--sidebar-width:258px;--radius:12px;--font:Geist,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mono:"Geist Mono",ui-monospace,monospace}
html[data-theme="dark"]{color-scheme:dark;--bg:#181818;--sidebar:rgba(33,34,36,.9);--surface:#202122;--surface-2:#27282a;--text:#f7f7f5;--muted:#a4a4a0;--quiet:#767672;--line:#303134;--line-strong:#424348;--shadow:0 18px 70px rgba(0,0,0,.28)}
@media(prefers-color-scheme:dark){html[data-theme="system"]{color-scheme:dark;--bg:#181818;--sidebar:rgba(33,34,36,.9);--surface:#202122;--surface-2:#27282a;--text:#f7f7f5;--muted:#a4a4a0;--quiet:#767672;--line:#303134;--line-strong:#424348;--shadow:0 18px 70px rgba(0,0,0,.28)}}
html[data-accent="terracotta"]{--accent:#cc7d5e;--accent-soft:rgba(204,125,94,.13)}html[data-accent="green"]{--accent:#16896a;--accent-soft:rgba(22,137,106,.12)}
*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px}button,textarea{font:inherit;color:inherit}button{cursor:pointer}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.os-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100dvh;transition:grid-template-columns .24s cubic-bezier(.16,1,.3,1)}body.sidebar-collapsed{--sidebar-width:72px}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;padding:14px 10px 12px;background:var(--sidebar);border-right:1px solid var(--line);backdrop-filter:blur(24px) saturate(125%);overflow:hidden}.sidebar.solid{backdrop-filter:none;background:var(--surface-2)}.sidebar-top{display:flex;align-items:center;justify-content:space-between;height:46px;padding:0 7px 0 10px}.brand{display:flex;align-items:center;gap:10px;border:0;background:none;font-size:16px;font-weight:600;white-space:nowrap}.brand-mark,.assistant-mark{position:relative;display:inline-flex;width:20px;height:20px}.brand-mark i,.assistant-mark i{position:absolute;width:7px;height:7px;border-radius:99px;background:var(--accent)}.brand-mark i:nth-child(1),.assistant-mark i:nth-child(1){left:6px;top:0}.brand-mark i:nth-child(2),.assistant-mark i:nth-child(2){left:1px;top:10px}.brand-mark i:nth-child(3),.assistant-mark i:nth-child(3){right:1px;top:10px}.icon-button{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--muted)}.icon-button:hover{background:var(--surface-2);color:var(--text)}.nav-primary{display:flex;flex-direction:column;gap:3px;margin-top:18px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;height:40px;padding:0 11px;border:0;border-radius:8px;background:transparent;color:var(--muted);text-align:left;white-space:nowrap;transition:background .15s,color .15s,transform .15s}.nav-item svg{width:18px;height:18px;flex:0 0 18px}.nav-item:hover{background:rgba(255,255,255,.36);color:var(--text)}.nav-item:active{transform:translateY(1px)}.nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:500}.recent-block{margin-top:22px;min-height:0;overflow:hidden}.nav-label,.eyebrow{margin:0;color:var(--quiet);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.nav-label{padding:0 11px 8px}.recent-list{display:flex;flex-direction:column;gap:2px}.recent-item{width:100%;padding:8px 11px;border:0;border-radius:7px;background:none;color:var(--muted);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-item:hover{background:rgba(255,255,255,.32);color:var(--text)}.sidebar-bottom{margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}.user-row{display:flex;align-items:center;gap:10px;padding:14px 10px 2px}.avatar{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:var(--text);color:var(--bg);font:500 11px var(--mono)}.user-copy{display:flex;min-width:0;flex-direction:column;white-space:nowrap}.user-copy strong{font-size:12px}.user-copy small{margin-top:2px;color:var(--quiet);font-size:11px}body.sidebar-collapsed .brand>span:last-child,body.sidebar-collapsed .sidebar-toggle,body.sidebar-collapsed .nav-item span,body.sidebar-collapsed .recent-block,body.sidebar-collapsed .user-copy{display:none}body.sidebar-collapsed .sidebar-top{justify-content:center;padding:0}body.sidebar-collapsed .nav-item{justify-content:center;padding:0}body.sidebar-collapsed .user-row{justify-content:center;padding-inline:0}
.workspace{min-width:0}.view{display:none;min-height:100dvh}.view.active{display:block}.view-home{max-width:1520px;margin:0 auto;padding:28px clamp(24px,3.2vw,52px) 80px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.page-header h1,.chat-header h1{margin:7px 0 0;font-size:27px;font-weight:500;letter-spacing:-.035em}.header-actions{display:flex;align-items:center;gap:14px}.sync-state{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.sync-state i{width:7px;height:7px;border-radius:50%;background:var(--warning)}.sync-state.healthy i{background:var(--success)}.quiet-button,.primary-button{min-height:38px;padding:0 13px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.03)}.quiet-button:hover,.primary-button:hover{border-color:var(--quiet)}kbd{margin-left:9px;padding:2px 5px;border:1px solid var(--line);border-radius:5px;background:var(--surface-2);color:var(--quiet);font:11px var(--mono)}.context-bar{display:flex;gap:4px;margin:28px 0 32px;padding-bottom:12px;border-bottom:1px solid var(--line)}.context-tab{padding:7px 12px;border:0;border-radius:7px;background:transparent;color:var(--muted)}.context-tab:hover{background:var(--surface-2);color:var(--text)}.context-tab.active{background:var(--accent-soft);color:var(--accent);font-weight:500}.home-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:44px}.home-main{min-width:0}.brief-strip{position:relative;margin-bottom:42px;padding:2px 0 2px 18px;border-left:2px solid var(--accent)}.brief-strip h2{margin:0 0 8px;font-size:16px;font-weight:500}.brief-strip p{margin:0;max-width:78ch;color:var(--muted);font-size:15px;line-height:1.55}.brief-meta{display:flex;gap:12px;margin-top:13px;color:var(--quiet);font:11px var(--mono)}.content-section{margin-bottom:40px}.section-heading,.rail-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:13px}.section-heading h2,.rail-heading h2{margin:5px 0 0;font-size:16px;font-weight:500;letter-spacing:-.015em}.count{margin-left:6px;color:var(--quiet);font:12px var(--mono)}.text-button{padding:4px 0;border:0;background:none;color:var(--accent);font-size:12px}.action-list,.agenda-list,.people-list,.development-list{border-top:1px solid var(--line)}.action-row{display:grid;grid-template-columns:4px minmax(0,1fr) auto;gap:14px;align-items:center;min-height:72px;padding:12px 0;border-bottom:1px solid var(--line)}.priority-line{width:3px;height:38px;border-radius:4px;background:var(--line-strong)}.priority-line.high,.priority-line.critical{background:var(--danger)}.priority-line.medium{background:var(--warning)}.row-copy{min-width:0}.row-title{margin:0;font-weight:500;line-height:1.35}.row-subtitle{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-meta{display:flex;align-items:center;gap:10px;color:var(--quiet);font-size:11px}.context-badge{padding:3px 7px;border-radius:5px;background:var(--surface-2);color:var(--muted)}.row-actions{display:flex;gap:4px}.row-actions button{padding:6px 8px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:11px}.row-actions button:hover{background:var(--surface-2);color:var(--text)}.agenda-row{display:flex;align-items:center;gap:12px;min-height:68px;padding:8px 0;border-bottom:1px solid var(--line)}.agenda-time{flex-shrink:0;width:70px;font:12px var(--mono);color:var(--muted);text-align:right}.agenda-rule{flex-shrink:0;width:3px;height:36px;border-radius:3px;background:var(--accent);align-self:center}.agenda-row.past{opacity:.58}.agenda-row.conflict .agenda-rule{background:var(--danger)}.agenda-row .row-copy{flex:1;min-width:0}.agenda-row .cal-row-actions{margin-left:auto;flex-shrink:0}.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}.person-row,.development-row{display:flex;align-items:flex-start;gap:11px;padding:13px 0;border-bottom:1px solid var(--line)}.person-row .avatar{background:var(--surface-2);color:var(--text)}.person-row .row-copy,.development-row .row-copy{flex:1}.development-source{width:7px;height:7px;margin-top:5px;border-radius:50%;background:var(--accent);flex:0 0 7px}.empty-row{padding:20px 0;color:var(--muted);line-height:1.5}.home-rail{min-width:0}.rail-section{margin-bottom:14px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.rail-heading{align-items:center;margin-bottom:15px}.rail-heading h2{margin:0}.rail-heading>span{color:var(--quiet);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.next-label{display:flex;justify-content:space-between;color:var(--accent);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.next-title{margin:18px 0 6px;font-size:17px;font-weight:500}.next-meta,.next-purpose{color:var(--muted);font-size:12px;line-height:1.5}.next-purpose{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line)}.pulse-row,.source-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.pulse-row:first-child,.source-row:first-child{border-top:0}.pulse-dot,.health-dot{width:8px;height:8px;border-radius:50%;background:var(--success)}.pulse-dot.attention_needed,.health-dot.partial{background:var(--warning)}.pulse-dot.stale,.health-dot.failed{background:var(--danger)}.pulse-name,.source-name{font-size:12px}.pulse-focus{max-width:110px;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pulse-count{font:11px var(--mono);color:var(--muted)}.home-loading{padding:34px 0}.skeleton{width:76%;height:62px;margin-bottom:16px;border-radius:8px;background:linear-gradient(90deg,var(--surface-2),var(--line),var(--surface-2));background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton.wide{width:100%;height:100px}.skeleton.short{width:58%}@keyframes shimmer{to{background-position:-200% 0}}.inline-state{padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.inline-state.error{display:flex;align-items:center;gap:12px;border-color:color-mix(in srgb,var(--danger),transparent 65%)}.inline-state.error span{color:var(--muted)}.inline-state.error button{margin-left:auto;border:0;background:none;color:var(--accent)}
.view-ask.active{display:grid;grid-template-columns:minmax(430px,44%) minmax(520px,56%);height:100dvh;overflow:hidden}.chat-pane{position:relative;display:flex;min-width:0;height:100dvh;flex-direction:column;border-right:1px solid var(--line);background:var(--bg);overflow:hidden}.chat-header{flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;padding:26px 28px 8px}.chat-header h1{font-size:20px}.context-chips{flex-shrink:0;display:flex;gap:6px;padding:7px 28px 14px}.context-chip{padding:5px 8px;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:11px}.messages{flex:1;min-height:0;overflow-y:auto;padding:20px max(28px,6vw) 32px;scroll-behavior:smooth}.welcome-message{max-width:620px;margin:12vh auto 0;text-align:left}.welcome-message .assistant-mark{width:24px;height:24px;margin-bottom:20px}.welcome-message h2{margin:0;font-size:25px;font-weight:500;letter-spacing:-.03em}.welcome-message p{max-width:56ch;color:var(--muted);font-size:15px;line-height:1.6}.prompt-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:25px}.prompt-grid button{padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);text-align:left;color:var(--muted)}.prompt-grid button:hover{border-color:var(--line-strong);color:var(--text)}.message{max-width:680px;margin:0 auto 26px}.message.user{padding-left:50px}.message-head{display:flex;align-items:center;gap:9px;margin-bottom:8px;font-size:12px;font-weight:500}.message-head time{color:var(--quiet);font-weight:400}.message-body{font-size:14px;line-height:1.65}.message-body p{margin:0 0 10px}.message-body ul{margin:8px 0;padding-left:19px}.citation-list{margin-top:14px;padding-top:10px;border-top:1px solid var(--line)}.citation-list-label{display:block;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--quiet);margin-bottom:6px}.citation-chips{display:flex;flex-wrap:wrap;gap:5px}.citation{padding:3px 7px;background:var(--surface-2);border-radius:4px;color:var(--quiet);font-size:10px;cursor:default;user-select:none}.thinking{color:var(--muted)}.thinking::after{content:"";display:inline-block;width:18px;height:8px;margin-left:7px;background:radial-gradient(circle,var(--accent) 2px,transparent 3px) 0 50%/6px 6px repeat-x;animation:think 1s infinite linear}@keyframes think{to{background-position:6px 50%}}.composer{flex-shrink:0;margin:0 24px 20px;padding:13px;border:1px solid var(--line-strong);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.composer textarea{display:block;width:100%;max-height:160px;resize:none;padding:2px 3px 10px;border:0;outline:0;background:transparent;line-height:1.5}.composer-footer{display:flex;align-items:center;justify-content:space-between}.composer-tool{padding:6px 8px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:11px}.composer-tool:hover{background:var(--surface-2)}.send-button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:9px;background:var(--text);color:var(--bg)}.send-button:active{transform:translateY(1px)}.send-button:disabled{opacity:.4}.send-button svg{width:17px}.artifact-pane{position:relative;overflow:auto;background:var(--surface-2)}.artifact-empty{position:absolute;top:50%;left:50%;width:min(360px,75%);transform:translate(-50%,-50%);text-align:center;color:var(--muted)}.artifact-empty svg{width:32px;height:32px;color:var(--quiet)}.artifact-empty h2{margin:18px 0 8px;color:var(--text);font-size:18px;font-weight:500}.artifact-empty p{margin:0;line-height:1.55}.artifact-document{min-height:calc(100% - 56px);margin:28px;padding:40px 48px 80px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.artifact-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px}.artifact-toolbar .eyebrow{color:var(--accent)}.artifact-document h1{margin:0 0 8px;font-size:28px;font-weight:500;letter-spacing:-.035em}.artifact-document h2{margin:32px 0 10px;font-size:15px}.artifact-document p,.artifact-document li{color:var(--muted);line-height:1.65}.artifact-document table{width:100%;margin-top:12px;border-collapse:collapse;font-size:12px}.artifact-document th,.artifact-document td{padding:9px;border-bottom:1px solid var(--line);text-align:left}.artifact-document th{color:var(--quiet);font-weight:500}.view-placeholder.active{display:grid;place-items:center}.view-placeholder>div{max-width:520px;padding:30px}.view-placeholder h1{margin:8px 0 12px;font-size:30px;font-weight:500}.view-placeholder p{color:var(--muted);line-height:1.6}.primary-button{margin-top:12px;background:var(--accent);border-color:var(--accent);color:#fff}
.appearance-dialog{width:min(680px,calc(100% - 32px));padding:0;border:1px solid var(--line);border-radius:16px;background:var(--bg);color:var(--text);box-shadow:var(--shadow)}.appearance-dialog::backdrop{background:rgba(20,20,18,.28);backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;padding:24px;border-bottom:1px solid var(--line)}.dialog-head h2{margin:6px 0 0;font-size:22px}.theme-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:24px}.theme-options>button{padding:7px;border:1px solid transparent;border-radius:10px;background:transparent;text-align:center}.theme-options>button.selected{border-color:var(--accent);background:var(--accent-soft)}.theme-options strong{display:block;margin-top:8px;font-size:12px}.theme-preview{display:block;height:100px;border:1px solid var(--line);border-radius:8px;background:#f9f9f7}.theme-preview::after{content:"";display:block;width:70%;height:60%;margin:24px auto 0;border-radius:6px;background:#fff;box-shadow:0 0 0 1px #e4e4df}.dark-preview{background:#181818}.dark-preview::after{background:#252525;box-shadow:0 0 0 1px #353535}.system-preview{background:linear-gradient(90deg,#f9f9f7 50%,#181818 50%)}.setting-row{display:flex;align-items:center;justify-content:space-between;margin:0 24px;padding:18px 0;border-top:1px solid var(--line)}.setting-row strong,.setting-row small{display:block}.setting-row small{margin-top:4px;color:var(--muted);font-size:11px}.accent-options{display:flex;gap:8px}.accent-options button{width:26px;height:26px;border:3px solid var(--bg);border-radius:50%;box-shadow:0 0 0 1px var(--line-strong);background:#397ff0}.accent-options button:nth-child(2){background:#cc7d5e}.accent-options button:nth-child(3){background:#16896a}.accent-options button.selected{box-shadow:0 0 0 2px var(--text)}.switch input{position:absolute;opacity:0}.switch span{position:relative;display:block;width:38px;height:22px;border-radius:20px;background:var(--line-strong)}.switch span::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--surface);transition:transform .2s}.switch input:checked+span{background:var(--accent)}.switch input:checked+span::after{transform:translateX(16px)}.toast{position:fixed;right:24px;bottom:24px;z-index:20;max-width:360px;padding:11px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1100px){.home-layout{grid-template-columns:1fr}.home-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.lower-grid{grid-template-columns:1fr}.view-ask.active{grid-template-columns:1fr}.artifact-pane{display:none}.home-rail .rail-section{margin:0}}
@media(max-width:760px){:root{--sidebar-width:0px}.sidebar{position:fixed;z-index:10;width:258px;transform:translateX(-100%);transition:transform .25s}.sidebar.open{transform:translateX(0)}.view-home{padding:20px 18px 60px}.page-header{display:block}.header-actions{justify-content:space-between;margin-top:18px}.home-rail{grid-template-columns:1fr}.lower-grid{display:block}.prompt-grid{grid-template-columns:1fr}.messages{padding-inline:20px}.composer{margin:0 14px 14px}.chat-header,.context-chips{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.pulse-row{display:block;padding:12px 0;border-top:1px solid var(--line)}.pulse-row:first-child{border-top:0}.pulse-top{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center}.pulse-bars{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin:9px 0 0 17px}.pulse-track{height:5px;overflow:hidden;border-radius:5px;background:var(--surface-2)}.pulse-fill{height:100%;min-width:3px;border-radius:5px;background:var(--accent)}.pulse-fill.due{background:var(--warning)}.pulse-legend{color:var(--quiet);font:9px var(--mono)}.pulse-focus{max-width:none;margin:7px 0 0 17px}.source-group{padding:11px 0;border-top:1px solid var(--line)}.source-group:first-child{border-top:0}.source-summary{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center}.source-accounts{margin:7px 0 0 17px;color:var(--muted);font-size:10px;line-height:1.55}.source-time{color:var(--quiet);font:9px var(--mono)}.source-health{max-height:290px;overflow:auto}
.side-drawer-backdrop{position:fixed;inset:0;z-index:29;background:color-mix(in srgb,var(--bg),transparent 20%);backdrop-filter:blur(3px)}.side-drawer{position:fixed;z-index:30;top:0;right:0;width:min(520px,100vw);height:100dvh;overflow:hidden;border-left:1px solid var(--line);background:var(--bg);box-shadow:var(--shadow);transform:translateX(102%);transition:transform .28s cubic-bezier(.16,1,.3,1)}.side-drawer.open{transform:translateX(0)}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;height:80px;padding:22px 24px;border-bottom:1px solid var(--line)}.drawer-header h2{margin:5px 0 0;font-size:19px;font-weight:500;letter-spacing:-.025em}.drawer-body{height:calc(100dvh - 80px);overflow-y:auto;padding:24px 24px 60px}.drawer-loading .skeleton{width:100%;height:54px}.drawer-profile{display:flex;align-items:center;gap:14px;padding-bottom:20px;border-bottom:1px solid var(--line)}.drawer-profile .avatar{width:40px;height:40px;flex-basis:40px}.drawer-profile h3{margin:0 0 3px;font-size:16px;font-weight:500}.drawer-profile p{margin:0;color:var(--muted);font-size:12px}.drawer-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:20px 0;background:var(--line)}.drawer-stat{padding:12px;background:var(--bg)}.drawer-stat strong{display:block;font:600 17px var(--mono)}.drawer-stat span{color:var(--quiet);font-size:10px}.drawer-section{margin-top:26px}.drawer-section h3{margin:0 0 11px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--quiet)}.drawer-item{display:block;position:relative;padding:11px 0 11px 16px;border-top:1px solid var(--line);color:var(--text);text-decoration:none}.drawer-item::before{content:"";position:absolute;top:17px;left:2px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.drawer-item strong{display:block;font-size:13px;font-weight:500}.drawer-item p{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.drawer-actions{display:flex;gap:8px;margin-top:20px;padding-bottom:20px}.drawer-ask{display:flex;height:100%;flex-direction:column;min-height:0;overflow:hidden}.drawer-context-note{flex-shrink:0;padding:9px 12px;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-size:11px}.drawer-messages{flex:1;min-height:0;overflow-y:auto;padding:16px 0 24px;scroll-behavior:smooth}.drawer-composer{flex-shrink:0;position:static;margin:0 0 10px;padding:12px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface)}
.next-schedule{display:grid;grid-template-columns:3px 1fr;gap:13px;margin-top:18px}.next-schedule-line{border-radius:3px;background:var(--accent)}.next-time{margin:0 0 6px;color:var(--accent);font:10px var(--mono);text-transform:uppercase}.next-schedule .next-title{margin:0 0 6px}.next-actions{display:flex;align-items:center;justify-content:space-between;margin-top:16px}.next-actions .quiet-button{min-height:32px;font-size:11px}.rail-section:first-child{background:color-mix(in srgb,var(--accent-soft),var(--surface) 55%)}.next-title{font-size:18px}
.section-trust{font-size:10px;color:var(--quiet);margin-left:8px;align-self:center}.glance-bar{display:flex;align-items:center;padding:8px 0 16px;gap:0;margin-bottom:4px;border-bottom:1px solid var(--line)}.glance-stat{display:flex;flex-direction:column;align-items:center;padding:0 20px;gap:2px}.glance-stat:first-child{padding-left:0}.glance-stat strong{font:600 22px var(--mono);line-height:1;color:var(--text)}.glance-stat small{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--quiet)}.glance-conflict strong{color:var(--warning)}.glance-divider{width:1px;height:30px;background:var(--line)}.occasions-strip{display:flex;flex-wrap:wrap;gap:7px;padding:12px 0;margin-bottom:4px}.occasion-pill{padding:4px 10px;border-radius:20px;background:var(--surface-2);color:var(--muted);font-size:11px;border:1px solid var(--line)}
.waiting-row{display:block;padding:16px;margin-bottom:10px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);transition:border-color .15s,box-shadow .15s}.waiting-row:hover{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.waiting-top{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:flex-start}.waiting-copy{min-width:0}.waiting-excerpt{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.waiting-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.waiting-since{font:10px var(--mono);color:var(--quiet)}.waiting-badge{font-size:9px;font-weight:600;padding:3px 8px;border-radius:5px;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}.waiting-badge.explicit{background:var(--accent-soft);color:var(--accent)}.waiting-badge.implicit{background:var(--surface-2);color:var(--quiet)}.waiting-badge.unresolved{background:color-mix(in srgb,var(--warning),transparent 82%);color:var(--warning)}.waiting-badge.owner{background:var(--surface-2);color:var(--muted)}.waiting-actions{display:flex;align-items:center;gap:8px;margin-top:12px;padding-left:42px}.waiting-actions a.quiet-button,.waiting-actions button.quiet-button{display:inline-flex;align-items:center;justify-content:center;height:30px;min-height:30px;padding:0 12px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface-2);color:var(--text);font-size:11px;font-weight:500;text-decoration:none!important;cursor:pointer;transition:background .12s,border-color .12s}.waiting-actions a.quiet-button:hover,.waiting-actions button.quiet-button:hover{background:var(--line);border-color:var(--quiet);text-decoration:none!important}.pulse-coverage-banner{margin-bottom:12px;padding:9px 12px;border-radius:8px;background:color-mix(in srgb,var(--warning),transparent 88%);color:var(--warning);font-size:11px;line-height:1.4;border:1px solid color-mix(in srgb,var(--warning),transparent 72%)}
.view-calendar,.view-people,.view-cos{overflow:auto}.view-calendar .page-header,.view-people .page-header,.view-cos .page-header{padding:28px clamp(24px,3.2vw,52px) 20px;border-bottom:1px solid var(--line)}.cal-list{padding:24px clamp(24px,3.2vw,52px) 60px;max-width:900px}.cal-day-group{margin-bottom:28px}.cal-day-label{padding:8px 0 10px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--quiet);border-bottom:1px solid var(--line)}.cal-row{cursor:pointer;border-radius:8px;transition:background .12s}.cal-row:hover{background:var(--surface-2)}
.people-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px clamp(24px,3.2vw,52px);border-bottom:1px solid var(--line);background:var(--surface-2);flex-wrap:wrap}.people-filter-tabs{display:flex;gap:6px;flex-wrap:wrap}.filter-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--muted);font-size:12px;font-weight:500;cursor:pointer;transition:all .12s}.filter-tab:hover{border-color:var(--quiet);color:var(--text)}.filter-tab.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.tab-count{font:11px var(--mono);color:inherit;opacity:.8}.people-sort-wrap{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.select-input{height:32px;padding:0 8px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--text);font:12px var(--font);outline:none;cursor:pointer}.view-toggle{display:flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.view-toggle .icon-button{width:28px;height:28px;border-radius:6px}.view-toggle .icon-button.active{background:var(--surface);color:var(--accent);box-shadow:0 1px 2px rgba(0,0,0,.06)}
.people-content{padding:24px clamp(24px,3.2vw,52px) 60px;max-width:1520px;margin:0 auto}.people-table-container{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.people-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.people-table th{padding:12px 16px;border-bottom:1px solid var(--line);color:var(--quiet);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:var(--surface-2)}.people-table td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle}.person-table-row{cursor:pointer;transition:background .12s}.person-table-row:hover{background:var(--surface-2)}.contact-cell{display:flex;align-items:center;gap:12px}.contact-info strong{display:block;font-weight:500;color:var(--text)}.contact-info small{display:block;color:var(--muted);font-size:11px}.org-cell{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.org-badge{display:inline-block;padding:2px 7px;border-radius:4px;background:var(--surface-2);color:var(--text);font-size:11px;font-weight:500;border:1px solid var(--line)}.role-text{color:var(--muted);font-size:12px;padding:2px 6px;border-radius:4px;transition:all 0.12s;}.role-text:hover{background:var(--surface-2);cursor:pointer;color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong);}.role-text.empty-role{border:1px dashed var(--line-strong);color:var(--quiet);}.loop-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:12px;font-size:11px;font-weight:600}.loop-badge.active{background:color-mix(in srgb,var(--warning),transparent 85%);color:var(--warning);border:1px solid color-mix(in srgb,var(--warning),transparent 70%)}.loop-badge.clear{color:var(--quiet);font-weight:400;font-size:12px}.action-cell{display:flex;justify-content:flex-end;gap:6px}.action-btn{height:28px;padding:0 10px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--muted);font-size:11px;cursor:pointer;transition:all .12s}.action-btn:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.people-directory{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.person-dir-card{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:flex-start;padding:16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);cursor:pointer;transition:border-color .15s,box-shadow .15s}.person-dir-card:hover{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.search-input{height:34px;padding:0 12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-2);color:var(--text);font:13px var(--font);outline:none;min-width:240px}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.load-more-row{padding:20px clamp(24px,3.2vw,52px);text-align:center}.cos-brief-strip{padding:0 clamp(24px,3.2vw,52px) 24px}.cos-board{padding:0 clamp(24px,3.2vw,52px) 60px;max-width:900px}.quiet-button[data-cos-window].selected{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.avatar-sm{width:22px;height:22px;flex-shrink:0;font-size:9px}.person-card-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}.item-badges{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.item-done{opacity:.38;pointer-events:none;transition:opacity .2s}.cos-brief .brief-strip,.cos-brief{margin-bottom:0}.cal-row-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.cal-join-btn{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 10px;font-size:11px;font-weight:500;text-decoration:none;color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent),transparent 75%);border-radius:6px;transition:all .15s}.cal-join-btn:hover{background:var(--accent);color:#fff;text-decoration:none}.cal-upload-transcript-btn{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 10px;font-size:11px;font-weight:500;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;cursor:pointer;transition:all .15s;opacity:0;white-space:nowrap}.cal-row:hover .cal-upload-transcript-btn{opacity:1}.cal-upload-transcript-btn:hover{background:var(--surface);color:var(--text);border-color:var(--line-strong);box-shadow:0 1px 3px rgba(0,0,0,.06)}.cal-day-label{display:flex;align-items:center;justify-content:space-between;padding:12px 0 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:2px}.cal-day-label.today{color:var(--text);font-weight:700}.today-chip{padding:2px 7px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:600;letter-spacing:0}.occasion-tag{background:color-mix(in srgb,#ec4899,transparent 88%);color:#db2777;border:1px solid color-mix(in srgb,#ec4899,transparent 75%)}.conflict-tag{background:color-mix(in srgb,var(--danger),transparent 88%);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger),transparent 75%);font-weight:600}.confirmed-tag{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}.pending-tag{background:color-mix(in srgb,var(--warning),transparent 88%);color:var(--warning);border:1px solid color-mix(in srgb,var(--warning),transparent 75%)}.drawer-event-meta{margin:0 0 16px;color:var(--muted);font-size:12px;line-height:1.5}.drawer-join-btn{display:block;margin-bottom:16px}.rep-activity-heading{margin-top:16px;margin-bottom:4px}.row-people{color:var(--muted)}
.development-row{cursor:pointer;border-radius:7px;transition:background .12s}.development-row:hover{background:var(--surface-2)}.drawer-badge-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.waiting-excerpt-full{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.6;max-width:none;display:block}.waiting-discuss-btn{flex-shrink:0}




/* Dev drawer — new components */
.drawer-meta-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}
.drawer-source-badge{flex-shrink:0;display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--quiet);font:500 10px var(--font);letter-spacing:.03em;white-space:nowrap}
.drawer-action-callout{background:var(--accent-soft);border-radius:8px;padding:12px 14px;margin-top:20px!important}
.drawer-action-callout h3{color:var(--accent)!important}
.drawer-action-callout .row-subtitle{color:var(--text)}
.drawer-actions--compact{display:flex;align-items:center;gap:10px;margin-top:24px;padding-bottom:20px;flex-wrap:wrap}
.drawer-actions--compact .primary-button{margin:0;flex-shrink:0}
.ghost-pill{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:17px;border:1px solid var(--line-strong);background:transparent;color:var(--muted);font-size:12px;font-weight:500;text-decoration:none;cursor:pointer;transition:border-color .12s,color .12s,background .12s;white-space:nowrap}
.ghost-pill:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}

/* ── Answer formatting: markdown + citations + drilldown ───────────── */
/* Numbered citation chips (ol list replaces flat pill row) */
.citation-chips{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.citation-chips li.citation{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--muted);padding:4px 0;border-bottom:1px solid var(--line);transition:background .2s}
.citation-chips li.citation:last-child{border-bottom:none}
.cite-num{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line-strong);font-size:10px;font-weight:600;color:var(--quiet);margin-top:1px}
/* Inline superscript citation refs [N] */
sup.cite-ref{font-size:9px;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:4px;padding:1px 3px;margin:0 1px;cursor:pointer;vertical-align:super;line-height:1;letter-spacing:.02em;transition:background .15s}
sup.cite-ref:hover{background:var(--accent);color:#fff}
/* Cited source highlight flash */
.cite-highlight{background:var(--accent-soft)!important;outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
/* Drill-down "Tell me more" button inside bullet points */
.drill-btn{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:10px;border:1px solid var(--line-strong);background:transparent;color:var(--accent);font-size:10px;font-weight:500;cursor:pointer;vertical-align:middle;white-space:nowrap;transition:background .12s,color .12s}
.drill-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
/* Message body markdown: ensure bold, italic, code render correctly */
.message-body strong{font-weight:600;color:var(--text)}
.message-body em{font-style:italic;color:var(--quiet)}
.message-body code{font-family:monospace;font-size:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:3px;padding:1px 4px}
.message-body ul{margin:6px 0 6px 18px;padding:0}
.message-body ul li{margin-bottom:4px;line-height:1.5}
.message-body p:last-child{margin-bottom:0}

/* ── Phase A: Home Daily Command Center & Sober Editorial Design ── */
.brief-command-card{position:relative;margin-bottom:28px;padding:22px 26px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 20px rgba(0,0,0,.02)}
.brief-command-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.brief-command-title{margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--text)}
.brief-narrative-text{margin:0 0 16px;color:var(--text);font-size:14.5px;line-height:1.6;max-width:82ch}
.brief-pills-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.brief-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);font:500 11px var(--mono)}
.brief-pill.accent{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent),transparent 75%)}
.brief-listen-btn{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-size:12px;font-weight:500;cursor:pointer;transition:all .12s}
.brief-listen-btn:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}

/* ── Priority Focus Deck & Cards ── */
.focus-deck{display:flex;flex-direction:column;gap:12px}
.focus-card{display:block;padding:18px 20px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);transition:border-color .15s,box-shadow .15s,transform .15s}
.focus-card:hover{border-color:var(--accent);box-shadow:0 4px 16px rgba(0,0,0,.04)}
.focus-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.focus-actor{display:flex;align-items:center;gap:10px}
.focus-actor strong{font-size:14px;font-weight:600;color:var(--text)}
.focus-since{font:11px var(--mono);color:var(--quiet)}
.focus-title{margin:0 0 8px;font-size:13.5px;font-weight:500;color:var(--text);line-height:1.4}
.focus-reason-box{margin:0 0 14px;padding:8px 12px;border-radius:8px;background:var(--surface-2);font-size:12px;color:var(--muted);line-height:1.5}
.focus-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.focus-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;padding:0 14px;border-radius:6px;background:var(--accent);color:#fff;font-size:11.5px;font-weight:500;border:0;cursor:pointer;transition:all .12s}
.focus-btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}

/* ── Triage Tabs & Compact Rows ── */
.triage-tabs{display:flex;gap:6px}
.triage-tab{padding:5px 12px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:12px;cursor:pointer;transition:all .12s}
.triage-tab:hover{border-color:var(--line-strong);color:var(--text)}
.triage-tab.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}
.triage-content{border-top:1px solid var(--line)}
.triage-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid var(--line);transition:background .12s}
.triage-row:hover{background:var(--surface-2)}
.triage-copy{flex:1;min-width:0}
.triage-title{margin:0;font-size:13px;font-weight:500;color:var(--text)}
.triage-subtitle{margin:3px 0 0;font-size:11.5px;color:var(--muted)}
.triage-actions{display:flex;align-items:center;gap:6px}

/* ── Phase B: Calendar Intelligence & Transcript Ingestion Modal ── */
dialog:not([open]){display:none}
.transcript-dialog{width:min(640px,calc(100vw - 32px));padding:24px;border-radius:14px;background:var(--bg);border:1px solid var(--line);box-shadow:var(--shadow)}
#transcript-detail-dialog[open]{display:flex}
.transcript-dialog::backdrop{background:rgba(0,0,0,.45);backdrop-filter:blur(4px)}
.upload-tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid var(--line);padding-bottom:12px}
.upload-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 20px;border:2px dashed var(--line-strong);border-radius:10px;background:var(--surface);cursor:pointer;transition:border-color .15s,background .15s;text-align:center}
.upload-dropzone:hover,.upload-dropzone.dragover{border-color:var(--accent);background:var(--accent-soft)}
.drop-icon{width:36px;height:36px;fill:var(--muted);margin-bottom:12px}
.drop-title{font-size:14px;font-weight:500;color:var(--text);margin:0 0 4px}
.drop-title .browse-link{color:var(--accent);text-decoration:underline}
.drop-meta{font-size:12px;color:var(--muted);margin:0}
.file-selected-name{margin-top:10px;font-size:12px;font-family:var(--mono);color:var(--accent)}
.transcript-textarea{width:100%;padding:12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--text);font:13px var(--font);line-height:1.5;resize:vertical;outline:none}
.transcript-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.upload-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}

.prep-brief-card{padding:18px 20px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);margin-bottom:16px}
.prep-brief-section{margin-bottom:16px}
.prep-brief-section h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}
.prep-brief-section p{margin:0;font-size:13px;line-height:1.6;color:var(--text)}
.prep-talking-point{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px;font-size:13px;line-height:1.5}
.prep-talking-point::before{content:"•";color:var(--accent);font-weight:bold}
.prep-deal-box{padding:10px 14px;border-radius:8px;background:var(--accent-soft);border-left:3px solid var(--accent);font-size:12px;color:var(--text);margin-top:12px}

/* ── Phase C: People Relationship Memory & CoS Meta-Operating Layer ── */
.relationship-hero-card{padding:16px 18px;border-radius:12px;background:var(--surface);border:1px solid var(--line);margin-bottom:16px}
.rel-badge-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.rel-status-badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;background:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.04em}
.rel-cadence-badge{font-size:11px;font-weight:500;padding:3px 8px;border-radius:6px;background:var(--accent-soft);color:var(--text);border:1px solid var(--line)}
.rel-last-touch{font-size:11px;color:var(--muted);margin-left:auto}
.rel-blocker-banner{padding:10px 12px;border-radius:8px;background:rgba(217,119,6,.08);border-left:3px solid #d97706;font-size:12px;color:var(--text);margin-bottom:10px;line-height:1.5}
.rel-working-style{font-size:12px;color:var(--muted);line-height:1.5;margin-top:8px}

.commitments-ledger-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}
.ledger-col{padding:12px 14px;border-radius:10px;background:var(--surface);border:1px solid var(--line)}
.ledger-col h4{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.ledger-item{display:flex;flex-direction:column;gap:2px;padding:6px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.4}
.ledger-item:last-child{border-bottom:none}
.ledger-item small{color:var(--muted);font-size:10px;font-family:var(--mono)}
.empty-subtext{font-size:11px;color:var(--muted);font-style:italic;margin:4px 0}

.takeaways-list{display:flex;flex-direction:column;gap:10px}
.takeaway-card{padding:12px 14px;border-radius:8px;background:var(--surface);border:1px solid var(--line)}
.takeaway-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.takeaway-header strong{font-size:13px;color:var(--text)}
.takeaway-header span{font-size:11px;color:var(--muted);font-family:var(--mono)}
.takeaway-card p{margin:0;font-size:12px;line-height:1.5;color:var(--muted)}
.takeaway-decisions{margin-top:6px;font-size:11px;color:var(--accent);line-height:1.4}

.cos-meta-advisor{padding:18px 20px;border-radius:14px;background:var(--surface);border:1px solid var(--line);margin-bottom:20px}
.cos-meta-advisor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cos-meta-score{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}
.cos-meta-assessment{font-size:14px;line-height:1.6;color:var(--text);margin:0 0 16px;font-weight:450}

.cos-interventions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-bottom:24px}
.cos-intervention-card{padding:14px 16px;border-radius:10px;background:var(--bg);border:1px solid var(--line);display:flex;flex-direction:column;gap:8px;position:relative}
.cos-intervention-card.critical{border-left:3px solid #dc2626}
.cos-intervention-card.warning{border-left:3px solid #d97706}
.cos-intervention-card.advisory{border-left:3px solid var(--accent)}
.cos-intervention-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.cos-intervention-title{font-size:13px;font-weight:600;color:var(--text);margin:0;line-height:1.4}
.cos-intervention-desc{font-size:12px;color:var(--muted);margin:0;line-height:1.4}
.cos-intervention-impact{font-size:11px;color:var(--text);padding:6px 8px;border-radius:6px;background:var(--surface);line-height:1.4}
.cos-intervention-actions{display:flex;align-items:center;gap:6px;margin-top:auto;padding-top:6px}

/* ReAct Thought Trail */
.thought-trail-container{margin:0 0 14px;padding:8px 12px;background:var(--surface);border:1px solid var(--line);border-radius:8px;font-size:12px}
.thought-trail-summary{cursor:pointer;display:flex;align-items:center;gap:8px;font-weight:500;color:var(--text);user-select:none;list-style:none}
.thought-trail-summary::-webkit-details-marker{display:none}
.thought-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}
.thought-trail-tools{color:var(--muted);font-size:11px;font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.thought-steps-list{margin-top:10px;display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px dashed var(--line)}
.thought-step{padding:6px 8px;border-radius:6px;background:var(--bg);border:1px solid var(--line)}
.thought-step-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;font-size:11px}
.thought-step-header strong{color:var(--text);font-weight:600}
.thought-step-header code{font-family:var(--mono);color:var(--accent)}
.thought-duration{color:var(--muted);font-family:var(--mono);font-size:10px}
.thought-obs{font-size:11px;color:var(--muted);line-height:1.4}


/* SPRINT L1: Reactivated Pill */
.row-reactivated {
  font-size: 11px;
  color: #b7791f;
  margin: 2px 0 0;
  font-weight: 500;
}

/* SPRINT L3: Snooze Popover */
.snooze-popover {
  position: absolute;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
  padding: 4px 0;
  z-index: 100;
  min-width: 160px;
}
.snooze-popover button {
  display: block;
  width: 100%;
  padding: 8px 16px;
  text-align: left;
  font-size: 13px;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--text);
}
.snooze-popover button:hover {
  background: var(--hover);
}

/* SPRINT L4: Money & Learning Views */
.money-summary-row { display: flex; gap: 16px; flex-wrap: wrap; padding: 16px 0; }
.money-stat { display: flex; flex-direction: column; gap: 4px; min-width: 140px; }
.money-stat-label { font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.05em; }
.money-stat-value { font-size: 22px; font-weight: 700; color: var(--text); }
.money-stat-value.muted { font-size: 18px; color: var(--muted); }
.money-table { width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 8px; }
.money-table th, .money-table td { padding: 8px 12px; text-align: left; border-bottom: 1px solid var(--border); }
.money-table th { font-weight: 600; color: var(--muted); font-size: 11px; text-transform: uppercase; }
.money-cats { display: flex; flex-direction: column; gap: 4px; }
.money-cat-row { display: flex; justify-content: space-between; padding: 6px 0; border-bottom: 1px solid var(--border); font-size: 13px; }
.learning-entry { padding: 16px; border: 1px solid var(--border); border-radius: 8px; margin-bottom: 12px; }
.learning-entry-header { display: flex; gap: 8px; align-items: center; margin-bottom: 8px; }
.learning-week { font-size: 12px; color: var(--muted); }
.learning-text { font-size: 14px; line-height: 1.5; margin: 0 0 8px; }
.learning-meta { font-size: 12px; color: var(--muted); margin: 4px 0; }
.learning-actions { display: flex; gap: 8px; margin-top: 12px; }
.learning-btn { padding: 6px 14px; border: 1px solid var(--border); border-radius: 6px; background: none; cursor: pointer; font-size: 13px; font-weight: 500; color: var(--text); }
.learning-btn:hover { background: var(--hover); }

/* Situation Card Component */
.situation-card {
  padding: 16px 18px;
  border-radius: var(--radius);
  background: var(--surface);
  border: 1px solid var(--line);
  border-left: 3px solid var(--accent);
  margin-bottom: 12px;
  transition: border-color .15s, box-shadow .15s;
}
.situation-card:hover {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px var(--accent-soft);
}
.situation-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
}
.situation-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
  margin: 0;
}
.situation-summary {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.5;
  margin: 0 0 10px;
}
.situation-signals-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 12px;
  padding: 8px 12px;
  border-radius: 8px;
  background: var(--surface-2);
  border: 1px solid var(--line);
}
.situation-signal-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--text);
}
.situation-signal-badge {
  font-size: 10px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--accent-soft);
  color: var(--accent);
  text-transform: uppercase;
}
.situation-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* ── Money View ──────────────────────────────────────────────────────────── */
.money-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:36px;align-items:start}
.money-main{min-width:0}
.money-rail{position:sticky;top:28px}
.money-section{margin-bottom:36px}

/* Financial Pulse card */
.finance-pulse-card{padding:24px 26px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);margin-bottom:32px}
.pulse-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;background:var(--line);border-radius:8px;overflow:hidden;margin-bottom:0}
.pulse-kpi{display:flex;flex-direction:column;gap:4px;padding:18px 20px;background:var(--surface)}
.pulse-kpi-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--quiet)}
.pulse-kpi-value{font:600 26px var(--mono);color:var(--text);line-height:1}
.pulse-kpi-value.negative{color:var(--danger)}
.pulse-kpi-sub{font-size:11px;color:var(--muted);line-height:1.4}
.money-empty-state{margin-top:20px;padding:16px;border-radius:8px;background:var(--surface-2);color:var(--muted);font-size:13px;text-align:center}

/* Month trend */
.month-trend-grid{display:flex;align-items:flex-end;gap:24px;padding:20px 0 4px;position:relative}
.month-trend-col{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1}
.month-bar-pair{display:flex;align-items:flex-end;gap:5px;height:84px}
.month-bar{width:22px;border-radius:4px 4px 0 0;transition:height .3s}
.income-bar{background:var(--success)}
.expense-bar{background:var(--danger);opacity:.7}
.month-label{font-size:11px;color:var(--muted);font-weight:500}
.month-net{font:600 12px var(--mono)}.month-net.positive{color:var(--success)}.month-net.negative{color:var(--danger)}
.month-trend-legend{display:flex;flex-direction:column;gap:6px;padding-left:12px;font-size:11px;color:var(--muted);align-self:center;flex-shrink:0}
.legend-dot{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px;vertical-align:middle}
.income-dot{background:var(--success)}.expense-dot{background:var(--danger);opacity:.7}

/* Spend categories */
.spend-cats{display:flex;flex-direction:column;gap:10px}
.spend-cat-row{display:grid;grid-template-columns:140px 1fr 80px;gap:12px;align-items:center}
.spend-cat-label{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spend-bar-wrap{height:8px;border-radius:4px;background:var(--surface-2);overflow:hidden}
.spend-bar-fill{height:100%;border-radius:4px;background:var(--accent);transition:width .4s}
.spend-cat-amt{font:500 12px var(--mono);color:var(--muted);text-align:right}

/* Anomalies */
.anomaly-list{display:flex;flex-direction:column;gap:2px}
.anomaly-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.anomaly-icon{flex-shrink:0;font-size:16px}
.anomaly-amt{font:600 13px var(--mono);color:var(--danger);flex-shrink:0;white-space:nowrap}

/* Transaction list */
.txn-list{border-top:1px solid var(--line)}
.txn-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);transition:background .12s}
.txn-row:hover{background:var(--surface-2);margin:0 -8px;padding:12px 8px}
.txn-icon{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border-radius:50%;font:600 13px var(--mono)}
.txn-icon.credit{background:color-mix(in srgb,var(--success),transparent 85%);color:var(--success)}
.txn-icon.debit{background:var(--surface-2);color:var(--muted)}
.txn-amt{font:500 13px var(--mono);flex-shrink:0;white-space:nowrap}
.txn-amt.credit{color:var(--success)}.txn-amt.debit{color:var(--text)}
.emi-tag{display:inline-block;font-size:9px;font-weight:700;padding:1px 5px;border-radius:4px;background:color-mix(in srgb,var(--warning),transparent 82%);color:var(--warning);text-transform:uppercase;letter-spacing:.04em;margin-left:4px;vertical-align:middle}
.txn-row.is-emi .txn-icon{background:color-mix(in srgb,var(--warning),transparent 85%);color:var(--warning)}

/* Account Vault */
.vault-group{margin-bottom:16px}
.vault-group-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--quiet);padding:8px 0 6px;border-bottom:1px solid var(--line);margin-bottom:4px}
.vault-account-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.vault-acct-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.vault-acct-name{font-size:13px;font-weight:500;color:var(--text);display:block}
.vault-acct-meta{font-size:11px;color:var(--muted);display:block}
.vault-import-date{font:10px var(--mono);color:var(--quiet);margin-top:2px;display:block}
.vault-upload-btn{flex-shrink:0;height:26px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);color:var(--muted);font-size:11px;cursor:pointer;transition:all .12s;white-space:nowrap}
.vault-upload-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.freq-badge{display:inline-block;font-size:9px;font-weight:600;padding:1px 5px;border-radius:4px;background:var(--surface-2);color:var(--quiet);text-transform:uppercase;letter-spacing:.04em;margin-left:3px;vertical-align:middle}

/* Form fields (money modals) */
.form-field{display:flex;flex-direction:column;gap:5px}.form-field label{font-size:12px;font-weight:500;color:var(--muted)}
.text-input{height:36px;padding:0 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--text);font:13px var(--font);outline:none}
.text-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}

@media(max-width:900px){.money-layout{grid-template-columns:1fr}.money-rail{position:static}.pulse-kpi-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.spend-cat-row{grid-template-columns:100px 1fr 64px}.pulse-kpi-value{font-size:20px}}

/* ═══════════════════════════════════════════════════════════════════════════
   PHASE 2 — Design System Baseline (2F-1 through 2F-4)
   Standardize buttons, typography, colors, human-readable time.
   ══════════════════════════════════════════════════════════════════════════ */

/* 2F-1 Button height system — sm=32px (inline actions), md=40px (dialog/page) */
.btn-sm{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:32px;padding:0 12px;border-radius:7px;border:1px solid var(--line-strong);background:var(--surface);color:var(--muted);font-size:12px;font-weight:500;cursor:pointer;transition:all .12s;white-space:nowrap}
.btn-sm:hover{border-color:var(--quiet);color:var(--text);background:var(--surface-2)}
.btn-sm.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-sm.primary:hover{filter:brightness(1.08)}
.btn-sm.done{color:var(--success);border-color:color-mix(in srgb,var(--success),transparent 65%)}
.btn-sm.done:hover{background:color-mix(in srgb,var(--success),transparent 90%)}
.btn-md{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 20px;border-radius:9px;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-size:14px;font-weight:500;cursor:pointer;transition:all .12s;white-space:nowrap}
.btn-md:hover{border-color:var(--quiet);background:var(--surface-2)}
.btn-md.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 8px rgba(57,127,240,.2)}
.btn-md.primary:hover{filter:brightness(1.06)}
/* Unify editorial inline action buttons (previously scattered inline styles) */
.editorial-btn{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 11px;border-radius:6px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:11.5px;font-weight:500;cursor:pointer;transition:all .12s}
.editorial-btn:hover{border-color:var(--line-strong);background:var(--surface-2);color:var(--text)}
.editorial-btn.primary-action{background:var(--accent);border-color:var(--accent);color:#fff}
.editorial-btn.primary-action:hover{filter:brightness(1.1)}
.editorial-btn.done:hover{background:color-mix(in srgb,var(--success),transparent 90%);border-color:var(--success);color:var(--success)}

/* 2F-4 Warm background + paper surface colors */
:root{--bg:#FDFDFB;--surface:#FFFFFF}
html[data-theme="dark"]{--bg:#181818;--surface:#202122}
@media(prefers-color-scheme:dark){html[data-theme="system"]{--bg:#181818;--surface:#202122}}

/* ═══════════════════════════════════════════════════════════════════════════
   2A-1 Executive Brief — editorial block
   ══════════════════════════════════════════════════════════════════════════ */
.brief-command-card{position:relative;margin-bottom:28px;padding:22px 24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 12px rgba(0,0,0,.03)}
.brief-command-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.brief-command-meta{display:flex;align-items:center;gap:8px}
.brief-date-eyebrow{margin:0;font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--quiet)}
.brief-narrative-text{margin:0 0 18px;color:var(--text);font-size:14.5px;line-height:1.65;max-width:65ch}
.brief-metrics-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line)}
.brief-metric-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:20px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);font:500 11.5px var(--font)}
.brief-metric-chip.accent{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent),transparent 65%)}
.brief-metric-chip.warn{background:color-mix(in srgb,var(--warning),transparent 88%);color:var(--warning);border-color:color-mix(in srgb,var(--warning),transparent 65%)}

/* ═══════════════════════════════════════════════════════════════════════════
   2A-2 Focus Cards — decision prompts, consistent heights
   ══════════════════════════════════════════════════════════════════════════ */
.focus-card{display:block;padding:18px 20px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);transition:border-color .15s,box-shadow .15s}
.focus-card:hover{border-color:var(--line-strong);box-shadow:0 2px 12px rgba(0,0,0,.05)}
.focus-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.focus-actor{display:flex;align-items:center;gap:10px}
.focus-actor-meta{display:flex;flex-direction:column;gap:1px}
.focus-actor strong{font-size:14px;font-weight:600;color:var(--text);display:block;line-height:1.3}
.focus-actor-org{font-size:11px;color:var(--muted)}
.focus-since{font:11px var(--mono);color:var(--quiet);flex-shrink:0}
.focus-title{margin:0 0 10px;font-size:13.5px;font-weight:500;color:var(--text);line-height:1.4}
.focus-reason-box{margin:0 0 14px;padding:8px 12px;border-radius:8px;background:var(--surface-2);font-size:12px;color:var(--muted);line-height:1.55;max-height:54px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.focus-actions{display:flex;align-items:center;gap:6px}

/* ═══════════════════════════════════════════════════════════════════════════
   2B Chat — bottom-anchored, message differentiation
   ══════════════════════════════════════════════════════════════════════════ */
.messages{flex:1;min-height:0;overflow-y:auto;padding:20px max(28px,5vw) 32px;display:flex;flex-direction:column;justify-content:flex-start;scroll-behavior:smooth}
.welcome-message{max-width:600px;margin:0 0 24px}
.welcome-message .assistant-mark{width:24px;height:24px;margin-bottom:16px}
.message{max-width:720px;margin:0 auto 24px;width:100%}
.message.user{padding-left:80px}
.message.user .message-body{background:var(--surface-2);border-left:3px solid var(--accent);border-radius:0 10px 10px 0;padding:12px 16px;font-size:14px;line-height:1.6}
.message.assistant .message-body{font-size:14px;line-height:1.65}
.message-head{display:flex;align-items:center;gap:9px;margin-bottom:6px;font-size:12px;font-weight:500}
.message-head time{color:var(--quiet);font-weight:400;font-size:11px}

/* ═══════════════════════════════════════════════════════════════════════════
   2C Calendar — upload button always visible
   ══════════════════════════════════════════════════════════════════════════ */
.cal-upload-transcript-btn{opacity:1!important}
.cal-upload-transcript-btn.has-brief{background:var(--accent-soft)!important;color:var(--accent)!important;border-color:color-mix(in srgb,var(--accent),transparent 65%)!important;font-weight:600}

/* ═══════════════════════════════════════════════════════════════════════════
   2D People — cold tab badge
   ══════════════════════════════════════════════════════════════════════════ */
.filter-tab[data-people-filter="cold"]{color:var(--muted)}
.filter-tab[data-people-filter="cold"] .tab-count{background:color-mix(in srgb,var(--warning),transparent 82%);color:var(--warning);padding:1px 5px;border-radius:4px}

/* ═══════════════════════════════════════════════════════════════════════════
   2E CoS — Interventions focus stack + commitments ledger
   ══════════════════════════════════════════════════════════════════════════ */
.cos-section-label{margin:0 0 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--quiet)}
.cos-intervention-stack{display:flex;flex-direction:column;gap:10px;margin-bottom:32px}
.cos-decision-card{padding:18px 20px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent)}
.cos-decision-card.critical{border-left-color:var(--danger)}
.cos-decision-card.warning{border-left-color:var(--warning)}
.cos-decision-title{margin:0 0 6px;font-size:14px;font-weight:600;color:var(--text);line-height:1.35}
.cos-decision-context{margin:0 0 14px;font-size:12.5px;color:var(--muted);line-height:1.5}
.cos-decision-actions{display:flex;align-items:center;gap:7px}
.cos-ledger-table{width:100%;border-collapse:collapse;font-size:13px}
.cos-ledger-table th{padding:9px 12px;text-align:left;border-bottom:2px solid var(--line);color:var(--quiet);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.cos-ledger-table td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.cos-ledger-table tr:hover td{background:var(--surface-2)}
.cos-ledger-status{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.cos-ledger-status.open{background:color-mix(in srgb,var(--warning),transparent 85%);color:var(--warning)}
.cos-ledger-status.completed{background:color-mix(in srgb,var(--success),transparent 85%);color:var(--success)}
.cos-ledger-status.cancelled{background:var(--surface-2);color:var(--quiet)}

/* 2A-4 Transcript dialog uniform buttons */
.transcript-dialog .upload-tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid var(--line);padding-bottom:12px}
.transcript-dialog .upload-tabs .filter-tab{height:36px;padding:0 14px;font-size:13px;border-radius:8px}
.transcript-dialog .dialog-actions{margin-top:20px;display:flex;justify-content:flex-end;gap:10px;align-items:center}
.transcript-dialog .dialog-actions .btn-md{min-width:100px}

/* ===== PHASE 3 — Remaining UX Audit Gaps ===== */

/* Drawer overlay: dim significantly, enforce focus (was 20% visible — now 55% dark) */
.side-drawer-backdrop{background:rgba(15,14,12,.55)!important;backdrop-filter:blur(4px)!important}

/* Meetings card: intel preview accent line */
.meetings-card{border-left:3px solid transparent;transition:border-color .15s,box-shadow .15s}
.meetings-card:hover{border-left-color:var(--accent);box-shadow:0 2px 12px rgba(0,0,0,.07)}

/* Badge: 10% opacity fills, no hard borders (for context-badge overrides) */
.context-badge{border:none!important;font-weight:600;letter-spacing:.03em}

/* People table: sort active-loop rows to top via CSS prominence */
.person-row[data-active="true"]{border-left:2px solid var(--accent);padding-left:calc(16px - 2px)}
.person-row[data-active="false"]{border-left:2px solid transparent}

/* Typography: enforce scale on section headings — remove ad-hoc sizes */
.section-heading h2{font-size:18px!important;letter-spacing:-.01em!important;font-weight:600!important}
.section-heading .eyebrow{font-size:11px!important;text-transform:uppercase!important;letter-spacing:.07em!important}
.content-section p.cos-section-label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--quiet);font-weight:600;margin:0 0 12px}

/* CoS ledger table typography */
.cos-ledger-table th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--quiet);font-weight:600;padding:6px 12px;text-align:left;border-bottom:1px solid var(--line)}
.cos-ledger-table td{font-size:13px;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.cos-ledger-table tr:last-child td{border-bottom:none}
.cos-ledger-table{width:100%;border-collapse:collapse;border-radius:8px;overflow:hidden;border:1px solid var(--line)}

/* CoS decision stack card */
.cos-decision-card{padding:16px 18px;border-radius:10px;border:1px solid var(--line);background:var(--surface);margin-bottom:10px;transition:box-shadow .15s}
.cos-decision-card:hover{box-shadow:0 2px 12px rgba(0,0,0,.07)}
.cos-decision-card.critical{border-left:3px solid var(--danger)}
.cos-decision-card.high{border-left:3px solid var(--warning)}
.cos-decision-card.advisory,.cos-decision-card.medium,.cos-decision-card.low{border-left:3px solid var(--accent)}
.cos-decision-title{margin:0;font-size:14px;font-weight:600;line-height:1.4}
.cos-decision-context{margin:0 0 12px;font-size:13px;color:var(--muted);line-height:1.5}
.cos-decision-actions{display:flex;gap:8px;flex-wrap:wrap}
.cos-intervention-stack{margin-bottom:20px}

/* Ledger status chips */
.cos-ledger-status{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:10px;font-size:11px;font-weight:600;letter-spacing:.02em}
.cos-ledger-status.open{background:color-mix(in srgb,var(--accent),transparent 88%);color:var(--accent)}
.cos-ledger-status.completed{background:color-mix(in srgb,var(--success),transparent 88%);color:var(--success)}
.cos-ledger-status.cancelled{background:var(--surface-2);color:var(--quiet)}

/* ===== TODAY TIMELINE VIEW ===== */
.cal-timeline{position:relative;display:flex;gap:0;margin:8px 0 32px;overflow:hidden}
.tl-axis{position:relative;width:52px;flex-shrink:0;border-right:1px solid var(--line)}
.tl-hour-label{position:absolute;right:8px;transform:translateY(-50%);font-size:10px;color:var(--muted);font-family:var(--mono);font-weight:500;white-space:nowrap;letter-spacing:.03em}
.tl-events{position:relative;flex:1;min-width:0}

/* Horizontal hour grid lines drawn via repeating gradient */
.tl-events{background:repeating-linear-gradient(
  to bottom,
  var(--line) 0px,
  var(--line) 1px,
  transparent 1px,
  transparent 60px
)}

/* Now needle */
.tl-now-needle{position:absolute;left:0;right:0;z-index:3;height:2px;background:var(--accent);pointer-events:none}
.tl-now-dot{position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--accent)}

/* Meeting blocks */
.tl-block{position:absolute;left:8px;right:8px;z-index:2;border-radius:8px;border:1px solid color-mix(in srgb,var(--accent),transparent 65%);background:var(--accent-soft);padding:8px 10px;overflow:hidden;cursor:pointer;transition:box-shadow .15s,border-color .15s;display:flex;flex-direction:column;gap:4px;min-height:40px}
.tl-block:hover{box-shadow:0 2px 12px rgba(0,0,0,.10);border-color:var(--accent)}
.tl-block.past{opacity:.55;background:var(--surface-2);border-color:var(--line)}
.tl-block.current{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent),transparent 75%)}
.tl-block.conflict{border-color:var(--danger);background:color-mix(in srgb,var(--danger),transparent 90%)}

.tl-block-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0}
.tl-block-time{font-size:10px;font-family:var(--mono);color:var(--accent);font-weight:600;white-space:nowrap}
.tl-block-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}

.tl-block-title{margin:0;font-size:12px;font-weight:600;line-height:1.35;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.tl-block-sub{margin:0;font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tl-conflict-badge{display:inline-block;font-size:10px;font-weight:600;color:var(--danger);margin-top:2px}

/* Expand / Prep brief button inside block */
.tl-expand-btn{height:22px;padding:0 8px;font-size:10px;font-weight:500;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:5px;cursor:pointer;transition:all .12s;white-space:nowrap}
.tl-expand-btn:hover,.tl-expand-btn.has-brief{background:var(--accent);color:#fff;border-color:var(--accent)}
.tl-join-btn{display:inline-flex;align-items:center;height:22px;padding:0 8px;font-size:10px;font-weight:500;color:var(--accent);background:transparent;border:1px solid var(--accent);border-radius:5px;text-decoration:none;white-space:nowrap;transition:all .12s}
.tl-join-btn:hover{background:var(--accent);color:#fff;text-decoration:none}

/* Inline reveal / Prep Brief */
.tl-inline-reveal{overflow:hidden;transition:max-height .25s cubic-bezier(.16,1,.3,1);max-height:0}
.tl-inline-reveal[aria-hidden="false"]{max-height:320px}
.tl-inline-brief{padding:8px 0 4px;border-top:1px solid color-mix(in srgb,var(--accent),transparent 75%);margin-top:6px}
.tl-brief-purpose{margin:0 0 6px;font-size:11px;color:var(--text);line-height:1.5}
.tl-brief-list{margin:0 0 6px;padding-left:16px;font-size:11px;color:var(--muted);line-height:1.6}
.tl-brief-list li{margin-bottom:2px}
.tl-brief-commitments{font-size:10px;color:var(--muted);margin-bottom:6px;line-height:1.5}
.tl-brief-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.tl-inline-upload-btn.cal-upload-transcript-btn{height:24px;font-size:10px;opacity:1!important}
.tl-discuss-btn{height:24px;padding:0 8px;font-size:10px;background:transparent;border:1px solid var(--line);border-radius:5px;color:var(--muted);cursor:pointer;transition:all .12s}
.tl-discuss-btn:hover{background:var(--surface-2);color:var(--text)}

.tl-empty{padding:32px;text-align:center;color:var(--muted);font-size:13px}

/* ===== PEOPLE: TIERED SECTIONS ===== */
.people-tier-section{margin-bottom:32px}
.people-tier-header{display:flex;align-items:center;gap:8px;padding:10px 0 8px;border-bottom:1px solid var(--line);margin-bottom:12px}
.people-tier-emoji{font-size:14px}
.people-tier-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.people-tier-count{margin-left:auto;font-size:11px;font-family:var(--mono);color:var(--quiet);background:var(--surface-2);padding:1px 7px;border-radius:10px}
.people-tier-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}

/* ===== MEETINGS: DUAL-PANE TRANSCRIPT DETAIL ===== */
.td-dual-pane{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;height:100%;overflow:hidden}
.td-intel-pane{overflow-y:auto;padding:20px 24px;border-right:1px solid var(--line)}
.td-transcript-pane{overflow-y:auto;padding:20px 24px;background:var(--bg)}
.td-section-label{margin:0 0 8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--quiet);font-family:var(--mono)}
.td-intel-block{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.td-intel-block:last-child{border-bottom:none}
.td-intel-list{margin:0;padding-left:16px;font-size:13px;line-height:1.7;color:var(--text)}
.td-intel-list li{margin-bottom:4px}
.td-attendee-names{margin:0;font-size:13px;color:var(--text);line-height:1.6}
.td-raw-transcript{margin:0;font-size:12px;font-family:var(--mono);line-height:1.8;color:var(--muted);white-space:pre-wrap;word-break:break-word}
#td-body{padding:0!important;overflow:hidden}

/* ===== ASK: CONTEXT CHIPS IN COMPOSER ===== */
.composer-footer{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}
.composer-context-chips{display:flex;gap:4px;flex:1;overflow-x:auto;scrollbar-width:none}
.composer-context-chips::-webkit-scrollbar{display:none}
.context-chips .context-chip,.composer-context-chips .context-chip{padding:3px 9px;border-radius:20px;background:var(--surface-2);border:1px solid var(--line);font-size:11px;color:var(--muted);cursor:pointer;white-space:nowrap;transition:all .12s;user-select:none}
.context-chips .context-chip.active,.composer-context-chips .context-chip.active,.context-chips .context-chip:hover{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent),transparent 65%)}

/* ===== GLOBAL: 300ms cubic-bezier view transitions ===== */
.view.active{opacity:0;animation:viewIn 300ms cubic-bezier(.16,1,.3,1) both;animation-fill-mode:forwards}
@keyframes viewIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* ===== MODAL OVERLAY (Update Role, drafts, etc.) ===== */
.draft-modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35);backdrop-filter:blur(4px)}
.draft-modal-backdrop[hidden]{display:none!important}
.draft-modal-box{width:min(440px,calc(100vw - 32px));padding:24px;border-radius:14px;background:var(--bg);border:1px solid var(--line);box-shadow:var(--shadow)}
.draft-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.text-input{display:block;width:100%;height:38px;padding:0 12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--text);font:14px var(--font);outline:none}
.text-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
