
:root { color-scheme:light; font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:#f3f6fb; color:#14213a; }
* { box-sizing:border-box; }
html { background:#f3f6fb; }
body { margin:0; min-height:100vh; background:#f3f6fb; color:#14213a; }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; }
button:disabled,textarea:disabled { cursor:not-allowed; opacity:.58; }
.executive-app { min-height:100vh; display:grid; grid-template-columns:258px minmax(0,1fr); }
.app-sidebar { position:sticky; top:0; height:100vh; display:flex; flex-direction:column; gap:26px; padding:22px 14px 18px; color:#eff5ff; background:linear-gradient(180deg,#11213b 0%,#0c1a31 62%,#09172b 100%); box-shadow:8px 0 30px #13233d14; z-index:10; }
.brand-lockup { display:flex; gap:12px; align-items:center; padding:0 10px; }
.brand-mark { width:36px; height:36px; display:grid; place-items:center; border-radius:50%; color:#83b5ff; font-size:27px; background:#16355f; }
.brand-lockup strong { display:block; font-size:22px; letter-spacing:.01em; }
.brand-lockup span { display:block; margin-top:2px; color:#aab9cf; font-size:12px; }
.os-nav { overflow-x:auto; flex:1; }
.os-tablist { display:grid; gap:6px; min-width:0; }
.os-tablist button { min-height:44px; width:100%; display:grid; grid-template-columns:30px minmax(0,1fr); gap:10px; align-items:center; border:1px solid transparent; border-radius:10px; padding:10px 12px; text-align:left; color:#dce6f6; background:transparent; }
.os-tablist button span:last-child { display:grid; gap:2px; }
.os-tablist button strong { font-size:14px; font-weight:650; }
.os-tablist button small { color:#9fb0c8; font-size:12px; font-weight:500; }
.os-tablist button[aria-selected="true"] { border-color:#355a93; background:#274b82; color:#fff; box-shadow:0 8px 22px #020a1724; }
.os-tablist button[aria-selected="true"] small { color:#c6d7ef; }
.nav-icon { font-size:20px; text-align:center; color:#c8d9f3; }
.os-tablist button:focus-visible,.executive-context-control select:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid #4a8cf4; outline-offset:2px; }
.sidebar-footer { display:grid; gap:14px; border-top:1px solid #263b58; padding:18px 10px 0; }
.sidebar-founder { display:flex; align-items:center; gap:10px; }
.founder-avatar { flex:0 0 auto; width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:#3d6db2; color:#fff; font-weight:750; }
.sidebar-founder span:last-child,.founder-state span:nth-child(2) { display:grid; gap:2px; }
.sidebar-founder small,.founder-state small { color:#9fb0c8; font-size:11px; }
.sidebar-utility { display:grid; gap:6px; color:#8fa0b8; font-size:11px; }
.shell { min-width:0; width:auto; margin:0; padding:0; background:#f6f8fc; }
.topbar { min-height:76px; display:grid; grid-template-columns:minmax(220px,1fr) minmax(260px,360px) auto; gap:20px; align-items:center; padding:10px 28px; background:#fff; border-bottom:1px solid #dfe5ee; position:sticky; top:0; z-index:8; }
.view-heading h1 { margin:0; font-size:25px; letter-spacing:-.025em; color:#14213a; }
.view-heading p { margin:4px 0 0; color:#60708a; font-size:13px; }
.executive-context-control { display:grid; grid-template-columns:1fr; gap:4px; }
.executive-context-control label { font-size:11px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; color:#64738a; }
.executive-context-control select { min-height:44px; width:100%; border:1px solid #d7deea; border-radius:9px; padding:9px 12px; color:#16233c; background:#fff; box-shadow:0 3px 14px #14213a0d; }
.founder-state { display:grid; grid-template-columns:auto auto; grid-template-areas:"avatar copy" "badge badge"; gap:4px 9px; align-items:center; justify-self:end; }
.founder-state .founder-avatar { grid-area:avatar; }
.founder-state span:nth-child(2) { grid-area:copy; }
.founder-state .badge { grid-area:badge; justify-self:end; }
.workspace-shell { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:22px; align-items:start; padding:22px 24px 10px; }
.workspace-main { min-width:0; }
.status-rail { display:grid; gap:12px; position:sticky; top:98px; align-self:start; }
.os-view[hidden] { display:none!important; }
.welcome-card,.rail-card,.card,.panel { border:1px solid #dfe5ee; background:#fff; box-shadow:0 8px 28px #20324d0c; }
.welcome-card { border-radius:12px; padding:24px; margin-bottom:14px; }
.welcome-card h2 { margin:4px 0 5px; font-size:24px; color:#14213a; }
.welcome-card > p,.welcome-card > div > p { margin:0; color:#60708a; }
.ask-welcome { display:grid; gap:18px; }
.trust-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:18px; }
.trust-strip.compact { margin-top:0; }
.trust-strip > div { display:grid; grid-template-columns:auto 1fr; grid-template-areas:"icon title" "icon detail"; column-gap:9px; align-items:start; padding:12px; border-radius:9px; background:#f8faff; border:1px solid #edf1f6; }
.trust-strip > div > span { grid-area:icon; width:30px; height:30px; display:grid; place-items:center; border-radius:50%; color:#2567d8; background:#e9f1ff; }
.trust-strip strong { grid-area:title; font-size:12px; color:#17243d; }
.trust-strip small { grid-area:detail; margin-top:2px; color:#65758d; font-size:10px; line-height:1.35; }
.eyebrow,.kicker { margin:0 0 7px; color:#71819a; font-size:11px; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
h2 { margin:5px 0 10px; font-size:20px; letter-spacing:-.015em; color:#17243d; }
p { color:#60708a; line-height:1.5; }
.badge,.status { display:inline-flex; align-items:center; min-height:30px; padding:6px 10px; border:1px solid #d5deea; border-radius:999px; font-size:11px; font-weight:750; letter-spacing:.01em; }
.badge { white-space:nowrap; }
.neutral { background:#f3f6fb; color:#5d6c83; }
.pass { border-color:#b5dcc7; background:#edf9f2; color:#217a4c; }
.fail { border-color:#f1c7c7; background:#fff0f0; color:#b33a3a; }
.held { border-color:#e6d5ad; background:#fff8e7; color:#946c16; }
.notice { display:flex; gap:8px; flex-wrap:wrap; padding:14px 16px; border:1px solid #d8e4f5; border-radius:11px; background:#f3f7fd; color:#1f3d6a; margin:14px 0; }
.notice span { color:#60708a; }
.grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:14px; }
.card { border-radius:12px; padding:18px; min-height:170px; display:flex; flex-direction:column; }
.card p { margin:0 0 16px; flex:1; }
.panel { border-radius:12px; padding:22px; margin-top:14px; }
.login-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.8fr); gap:28px; align-items:center; }
.muted-panel { display:block; }
.os-empty-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.8fr); gap:22px; align-items:stretch; }
.os-empty-state { display:grid; gap:6px; align-content:center; min-height:120px; padding:18px; border:1px dashed #c6d0df; border-radius:10px; background:#f8faff; color:#20324d; }
.os-empty-state span { color:#697990; line-height:1.5; }
.thread-projection-panel { display:grid; gap:16px; }
.thread-projection-state { min-height:34px; display:flex; align-items:center; padding:9px 11px; border:1px solid #dce4ef; border-radius:8px; background:#f7f9fc; color:#53657c; font-size:11px; font-weight:700; }
.thread-projection-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.thread-projection-grid h3 { margin:0 0 8px; font-size:13px; color:#243754; }
.thread-projection-list { display:grid; gap:8px; }
.thread-projection-item { padding:11px; border:1px solid #dce4ef; border-radius:9px; background:#fff; min-width:0; }
.thread-projection-item strong { display:block; font-size:12px; color:#20324d; overflow-wrap:anywhere; }
.thread-projection-item p { margin:5px 0 0; font-size:11px; color:#5f7087; line-height:1.45; overflow-wrap:anywhere; }
.thread-projection-item dl { display:grid; gap:4px; margin:8px 0 0; }
.thread-projection-item dl > div { display:grid; grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr); gap:8px; font-size:10px; }
.thread-projection-item dt { color:#75849a; }
.thread-projection-item dd { margin:0; color:#344861; overflow-wrap:anywhere; }
.evidence-thread-item { display:grid; gap:10px; }
.evidence-group { display:grid; gap:5px; padding-top:8px; border-top:1px solid #edf1f6; }
.evidence-group > strong { font-size:10px; color:#5a6d85; text-transform:uppercase; letter-spacing:.04em; }
.evidence-group ul { margin:0; padding-left:18px; display:grid; gap:4px; }
.evidence-group li { color:#344861; font-size:10px; line-height:1.45; overflow-wrap:anywhere; }
.rail-state-list { display:grid; gap:5px; margin-top:12px; }
.rail-state-row { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; padding:6px 0; border-bottom:1px solid #edf1f6; font-size:10px; }
.rail-state-row span:first-child { color:#64758d; }
.rail-state-row strong { text-align:right; overflow-wrap:anywhere; }
.rail-facts { display:grid; gap:0; margin:8px 0 0; }
.rail-facts > div { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:10px; padding:7px 0; border-bottom:1px solid #edf1f6; }
.rail-facts dt { color:#64758d; font-size:10px; }
.rail-facts dd { margin:0; text-align:right; color:#20324d; font-size:10px; font-weight:700; overflow-wrap:anywhere; }
.state-section-heading { display:grid; gap:6px; margin-bottom:16px; }
.state-section-heading p { max-width:820px; }
.executive-state-grid,.department-state-grid { display:grid; gap:12px; }
.executive-state-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.executive-state-card,.department-state-card { display:grid; gap:14px; min-width:0; padding:16px; border:1px solid #dfe5ee; border-radius:12px; background:#fff; box-shadow:0 6px 18px rgba(28,46,77,.04); }
.state-card-heading { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; }
.state-card-heading h3 { margin:2px 0 4px; font-size:16px; }
.state-card-heading p { margin:0; color:#697990; font-size:11px; overflow-wrap:anywhere; }
.lifecycle-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; margin:0; }
.lifecycle-facts > div { display:flex; justify-content:space-between; gap:10px; padding:7px 0; border-bottom:1px solid #edf1f6; }
.lifecycle-facts dt { color:#697990; font-size:11px; }
.lifecycle-facts dd { margin:0; text-align:right; font-size:11px; font-weight:750; }
.truth-proven { color:#217a53; }
.truth-false { color:#a53b3b; }
.truth-neutral { color:#596b84; }
.department-state-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.department-chief { display:grid; gap:3px; padding:11px; border:1px solid #e7edf5; border-radius:9px; background:#f8faff; }
.department-chief > span,.department-chief small,.structural-roster small { color:#718198; font-size:10px; }
.structural-roster { display:grid; gap:0; margin:0; padding:0; list-style:none; }
.structural-roster li { display:grid; gap:2px; padding:9px 0; border-bottom:1px solid #edf1f6; min-width:0; }
.structural-roster strong,.structural-roster span { overflow-wrap:anywhere; }
.structural-roster strong { font-size:11px; color:#20324d; }
.structural-roster span { color:#64758d; font-size:10px; }
form,.actions,.ask-workspace { display:grid; gap:12px; }
label { display:grid; gap:7px; color:#34445e; font-size:12px; font-weight:650; }
input,textarea,.composer-recipient select { width:100%; border:1px solid #ccd5e2; background:#fff; color:#14213a; border-radius:9px; padding:11px 12px; outline:none; }
textarea { resize:vertical; min-height:118px; }
input:focus,textarea:focus,.composer-recipient select:focus { border-color:#4f87df; box-shadow:0 0 0 3px #4f87df1f; }
button { border:1px solid #2567d8; border-radius:9px; padding:11px 14px; background:#2567d8; color:#fff; font-weight:750; }
button.secondary { background:#fff; color:#243754; border-color:#c9d3e1; }
.message { min-height:22px; margin:10px 0 0; grid-column:1/-1; }
.facts { display:grid; gap:7px; margin:14px 0 0; }
.facts div { display:grid; gap:4px; padding:8px 0; border-top:1px solid #edf1f6; }
dt { color:#71819a; font-size:10px; text-transform:uppercase; letter-spacing:.07em; }
dd { margin:0; overflow-wrap:anywhere; color:#243754; font-size:12px; }
.microcopy { margin:0; font-size:11px; color:#79889d; }
.ask-panel { padding:0; overflow:hidden; }
.ask-panel-copy { padding:18px 20px 0; }
.ask-panel-copy p:last-child { max-width:850px; margin-bottom:0; }
.ask-workspace { min-height:580px; padding:16px 20px 20px; grid-template-rows:minmax(260px,1fr) auto; }
.conversation-transcript { display:grid; align-content:start; gap:12px; max-height:56vh; overflow:auto; padding:6px 2px 10px; }
.conversation-turn { border:1px solid #d8e0ea; border-radius:11px; padding:13px; background:#fff; max-width:82%; }
.conversation-turn h3,.conversation-turn h4 { margin:0 0 7px; }
.conversation-turn p { margin:5px 0; white-space:pre-wrap; overflow-wrap:anywhere; color:#33445f; }
.founder-message { margin-left:auto; background:#f3f6fb; }
.aeos-result { margin-right:auto; background:#f7fbf9; border-color:#cfe3d7; }
.result-section { border-top:1px solid #dfe5ee; margin-top:10px; padding-top:10px; }
.result-section ul { margin:6px 0 0; padding-left:20px; }
.result-section li { margin:5px 0; color:#3d4e68; overflow-wrap:anywhere; }
.turn-status { font-size:11px; color:#76869c; }
.action-request { border:1px solid #e4d4a9; border-radius:9px; padding:11px; background:#fff9e9; }
.action-request button { margin-top:8px; }
details.result-section summary { cursor:pointer; color:#40516b; font-weight:750; }
.digest-line { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:10px; color:#7b899d; overflow-wrap:anywhere; }
.restored-notice { border:1px solid #b5dcc7; border-radius:9px; padding:9px 11px; color:#217a4c; background:#edf9f2; }
.composer-dock { display:grid; gap:10px; padding:12px; border:1px solid #d8e0ea; border-radius:10px; background:#fff; box-shadow:0 -8px 24px #24375408; }
.composer-actions { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.composer-actions button { min-width:112px; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.attachment-drop-zone { display:grid; gap:8px; border:1px dashed #c7d2e0; border-radius:9px; padding:10px; transition:border-color .15s ease,background .15s ease; }
.attachment-drop-zone.drag-active { border-color:#4f87df; background:#f3f7fd; }
.attachment-toolbar { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.attachment-tray { display:grid; gap:8px; }
.attachment-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; border:1px solid #d8e0ea; border-radius:9px; padding:9px; background:#f9fbfe; }
.attachment-card-main { min-width:0; display:grid; gap:4px; }
.attachment-card-name { color:#243754; font-weight:750; overflow-wrap:anywhere; }
.attachment-card-meta,.attachment-card-status { color:#76869c; font-size:11px; overflow-wrap:anywhere; }
.attachment-card-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.attachment-card-actions button,.attachment-toolbar button { min-height:44px; min-width:44px; }
.attachment-thumb { width:64px; height:64px; object-fit:cover; border-radius:8px; border:1px solid #d8e0ea; }
.attachment-history { display:grid; gap:8px; margin-top:10px; }
.attachment-preview-dialog { width:min(760px,calc(100vw - 32px)); max-height:calc(100vh - 32px); border:1px solid #d8e0ea; border-radius:12px; background:#fff; color:#14213a; padding:14px; }
.attachment-preview-dialog::backdrop { background:#0b18396b; }
.attachment-preview-dialog img { display:block; max-width:100%; max-height:70vh; margin:12px auto 0; object-fit:contain; }
.preview-header { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.rail-card { display:block; padding:16px; border-radius:11px; margin:0; }
.rail-card h2 { font-size:16px; margin:2px 0 9px; }
.rail-card p { margin:7px 0 0; font-size:12px; }
.rail-card .actions { margin-top:12px; }
.unknown-state { display:flex; gap:8px; align-items:center; min-height:34px; color:#6e7e94; font-size:12px; }
.boundary-card { background:#eef4ff; border-color:#d9e6fb; }
.governed-state { margin:4px 24px 0; }
.hidden { display:none; }
footer { display:flex; justify-content:space-between; gap:16px; color:#8a98aa; font-size:11px; margin:18px 24px 0; padding:0 2px 22px; }
@media (max-width:1180px) { .executive-state-grid,.department-state-grid { grid-template-columns:1fr; } .workspace-shell { grid-template-columns:1fr; } .status-rail { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); } .status-rail > :first-child { grid-column:1/-1; } }
@media (max-width:900px) { .topbar { grid-template-columns:1fr minmax(240px,320px); } .founder-state { grid-column:1/-1; justify-self:start; grid-template-columns:auto auto auto; grid-template-areas:"avatar copy badge"; } .trust-strip { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:800px) { .thread-projection-grid { grid-template-columns:1fr; } .executive-app { grid-template-columns:1fr; } .app-sidebar { position:static; height:auto; gap:14px; } .os-nav { overflow-x:auto; } .os-tablist { display:flex; min-width:max-content; } .os-tablist button { width:auto; min-width:170px; } .sidebar-footer { display:none; } .topbar { position:static; grid-template-columns:1fr; padding:16px 18px; } .executive-context-control { grid-template-columns:1fr; } .founder-state { grid-column:auto; grid-template-columns:auto auto; grid-template-areas:"avatar copy" "badge badge"; } .workspace-shell { padding:16px; } .grid,.login-panel,.os-empty-panel { grid-template-columns:1fr; } .status-rail { grid-template-columns:1fr; } .trust-strip { grid-template-columns:1fr; } .conversation-transcript { max-height:none; } .ask-workspace { min-height:auto; grid-template-rows:auto auto; } .ask-workspace button { min-height:44px; } .attachment-card { grid-template-columns:1fr; } .attachment-card-actions { justify-content:flex-start; } .governed-state { margin:4px 16px 0; } footer { margin:18px 16px 0; flex-direction:column; } }
@media (max-width:420px) { .workspace-shell { padding:10px; } .welcome-card,.panel { border-radius:9px; padding:16px; } .ask-panel { padding:0; } .ask-workspace,.ask-panel-copy { padding-left:14px; padding-right:14px; } .attachment-toolbar,.attachment-card-actions,.preview-header,.composer-actions { align-items:stretch; flex-direction:column; } .os-tablist button { min-width:150px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
