@font-face { font-family: 'Darker Grotesque'; src: url('ferncheck/assets/DarkerGrotesque-Variable.ttf') format('truetype'); font-weight: 300 900; font-display: swap; }
html[data-theme] { scrollbar-gutter: stable; overflow-y: scroll; }
html[data-theme='light'] .ws-bureau .hero h1 em { background-image: linear-gradient(90deg,#1854c8,#08736d); }
html[data-theme] { --ws-bg: #080e17; --ws-panel: #0e1a27; --ws-subtle: #142533; --ws-ink: #e8f3fa; --ws-muted: #9aafc1; --ws-accent: #76e9ea; --ws-border: #2a3d4e; --ws-shadow: 0 15px 45px #0002; --navy: var(--ws-bg); --navy-2: var(--ws-subtle); --panel: var(--ws-panel); --panel-2: var(--ws-subtle); --text: var(--ws-ink); --ink: var(--ws-ink); --muted: var(--ws-muted); --line: var(--ws-border); --line-strong: var(--ws-border); --bg: var(--ws-bg); --blue-soft: #76e9ea12; }
html[data-theme='light'] { color-scheme: light; --ws-bg: #f3f6fb; --ws-panel: #fff; --ws-subtle: #edf3fc; --ws-ink: #112844; --ws-muted: #4d6380; --ws-accent: #1854c8; --ws-border: #d2deec; --ws-shadow: 0 12px 32px #183f7510; }
html[data-theme] body.ws-bureau { margin: 0; padding: 72px 0 0 230px; color: var(--ws-ink); background: radial-gradient(ellipse at 80% 0%, #568bcd10, transparent 60%), var(--ws-bg); font-family: 'Darker Grotesque', system-ui, sans-serif; }
.ws-bureau :is(h1,h2,h3,h4,p,a,button,input,textarea,select,label,small,strong,b,em,span,time,summary) { font-family: 'Darker Grotesque', system-ui, sans-serif; }
html[data-theme] body.ws-standalone { padding-top: 72px; }
.ws-bureau *, .ws-standalone * { box-sizing: border-box; }
.ws-bureau [hidden] { display: none !important; }
.ws-bureau :focus-visible, #wsThemeDock :focus-visible { outline: 2px solid var(--ws-accent); outline-offset: 4px; }
.ws-header { position: fixed; inset: 0 auto 0 0; z-index: 60; width: 230px; padding: 28px 18px; display: flex; flex-direction: column; gap: 30px; color: #e8f3fa; background: linear-gradient(160deg, #132633, #0a141f); border-right: 1px solid var(--ws-border); overflow-y: auto; font: 18px 'Darker Grotesque', system-ui, sans-serif; }
html[data-theme='light'] .ws-header { background: linear-gradient(160deg, #1654d9, #073493); border-color: #3565c5; color: white; }
.ws-brand { display: flex; align-items: center; gap: 9px; color: inherit; text-decoration: none; font-size: 21px; font-weight: 850; letter-spacing: .045em; line-height: 1.2; }
.ws-brand img { width: 33px; height: 39px; object-fit: contain; }
html[data-theme='light'] .ws-brand img { filter: brightness(0) invert(1); }
.ws-brand small { display: block; font: 7px ui-monospace, monospace; letter-spacing: .12em; margin-top: 6px; color: #c1d6ea; }
.ws-header nav { display: grid; gap: 9px; }
.ws-header nav a { display: flex; align-items: center; gap: 13px; border-radius: 11px; padding: 13px 11px; color: #d0e1f0; text-decoration: none; font-size: 18px; font-weight: 650; border: 1px solid transparent; }
.ws-header nav a > span { font: 10px ui-monospace, monospace; opacity: .6; }
.ws-header nav a[aria-current='page'] { background: #76e9ea1c; color: #aeffff; border-color: #76e9ea35; }
html[data-theme='light'] .ws-header nav a[aria-current='page'] { background: #ffffff22; color: white; border-color: #ffffff40; }
.ws-header nav a:hover { background: #ffffff13; color: white; }
.ws-system-status { margin-top: auto; display: grid; gap: 16px; border-top: 1px solid #ffffff22; padding-top: 20px; color: #c4d9eb; font-size: 14px; }
.ws-system-status .topbar-actions, .ws-system-status .live-connection, .ws-system-status .topbar-status { display: flex; flex-wrap: wrap; justify-content: start; gap: 12px; }
.ws-system-status .mode, .ws-system-status .connection, .ws-system-status #officeSummary { color: #c4d9eb; }
.ws-system-status button { color: #e8f3fa; background: #ffffff0c; border: 1px solid #ffffff35; padding: 7px 9px; border-radius: 8px; font: inherit; cursor: pointer; }
/* One viewport anchor, same geometry on every page and in both themes. */
html[data-theme] #wsThemeDock { position: fixed; top: 14px; right: 18px; bottom: auto; left: auto; z-index: 90; display: grid; grid-template-columns: 1fr 1fr; width: 164px; height: 42px; margin: 0; padding: 4px; gap: 0; border: 1px solid var(--ws-border); border-radius: 12px; background: var(--ws-panel); box-shadow: var(--ws-shadow); isolation: isolate; }
#wsThemeDock::before { content: ''; position: absolute; top: 4px; left: 4px; width: calc(50% - 4px); height: 32px; border-radius: 8px; background: var(--ws-subtle); transform: translateX(100%); transition: transform .2s ease; z-index: -1; }
html[data-theme='light'] #wsThemeDock::before { transform: translateX(0); background: #e7efff; }
html[data-theme] #wsThemeDock button { padding: 0; margin: 0; min-width: 0; border: 0; border-radius: 8px; background: transparent; color: var(--ws-muted); font: 700 15px 'Darker Grotesque', system-ui, sans-serif; cursor: pointer; white-space: nowrap; }
html[data-theme] #wsThemeDock button[aria-pressed='true'] { color: var(--ws-accent); background: transparent; }
.ws-bureau .app-shell { width: auto; max-width: none; padding-top: 0; }
.ws-bureau[data-bureau-page='chatbot'] .app-shell { width: min(1440px, 93%); margin: auto; }
.ws-bureau .workspace, .ws-bureau .live-main { min-width: 0; }
.ws-bureau .live-main { grid-template-columns: minmax(0, 1fr) 260px; }
.ws-bureau .hero > p { color: var(--ws-muted); }
.ws-bureau :is(.office-stage,.control-panel,.scene-card,.live-sidebar > section,.live-note,.chat-card,.intel-panel,.login-card,.agent-dialog) { background: var(--ws-panel); border-color: var(--ws-border); border-radius: 22px; box-shadow: var(--ws-shadow); color: var(--ws-ink); }
.ws-bureau :is(.eyebrow,.composer-kicker,.stage-heading .eyebrow,.intel-head .eyebrow) { color: var(--ws-accent); font-family: 'Darker Grotesque', system-ui, sans-serif; font-weight: 800; }
.ws-bureau :is(input,textarea,select) { color: var(--ws-ink); background-color: var(--ws-bg); border-color: var(--ws-border); }
.ws-bureau :is(input,textarea)::placeholder { color: var(--ws-muted); opacity: 1; }
.ws-bureau .workspace h1, .ws-bureau .scene-head strong { font-size: 31px; }
.ws-bureau[data-bureau-page='chatbot'] :is(.messages li p,textarea,.hero > p) { font-size: 17px; }
.ws-bureau[data-bureau-page='chatbot'] :is(.intel-grid p,.intel-grid b,.handoff-card p,.quick-actions b,.assistant-identity b) { font-size: 15px; }
.ws-bureau[data-bureau-page='chatbot'] :is(.intel-grid small,.messages li small,.assistant-identity small,.quick-actions small,.composer-meta,.smart-suggestions button) { font-size: 12px; }
html[data-theme='light'] .ws-bureau :is(.composer,.primary-composer,.ai-center,.ai-result,.research-center,.automation-center,.passive-center,.current-task,.task-card,.activity-feed,.intel-grid article,.qualification-progress,.handoff-card,.live-activity-card,.decision-boundary,.result-section,.chef-briefing,.chef-answer,.chef-brief-grid > div,.quick-actions button,.dialog-focus,.secondary-divider,.team-status,.roster-person) { background: var(--ws-subtle) !important; border-color: var(--ws-border); }
html[data-theme='light'] .ws-bureau :is(.control-panel,.intel-panel,.chat-card,.agent-dialog,.live-sidebar,.scene-head,.stage-heading,.login-card) :is(p,small,label,strong,b,summary,em,time,.mode,.composer-meta,.secure-label) { color: var(--ws-ink); }
html[data-theme='light'] .ws-bureau :is(.control-panel,.intel-panel,.chat-card,.agent-dialog,.live-sidebar,.login-card) small { color: var(--ws-muted); }
html[data-theme='light'] .ws-bureau :is(.messages li div,.smart-suggestions button,.live-controls button,.live-controls a,.office-display-controls button,.result-details > summary) { background: #edf3fc; color: #254f8a; border-color: #c6d8ee; }
html[data-theme='light'] .ws-bureau .messages li p { color: var(--ws-ink); }
html[data-theme='light'] .ws-bureau .messages li b { color: #2156a2; }
html[data-theme='light'] .ws-bureau .messages li.user div { background: #e7f5ee; }
html[data-theme='light'] .ws-bureau .score-ring { background: radial-gradient(circle at center,#fff 57%,transparent 58%),conic-gradient(var(--green) calc(var(--score)*1%),#dce6f1 0); }
html[data-theme='light'] .ws-bureau :is(.floor,.office-world) { background-color: #d8e6f1; }
html[data-theme='light'] .ws-bureau .login-shell { background: var(--ws-bg); }
.ws-preview-note { grid-column: 1 / -1; margin: 0 auto 20px; width: 93%; padding: 12px 18px; background: var(--ws-subtle); border: 1px solid var(--ws-border); border-radius: 12px; color: var(--ws-muted); font: 16px 'Darker Grotesque',system-ui,sans-serif; }
.ws-bureau .command-center { background: var(--ws-panel); border-color: var(--ws-border); border-radius: 22px; box-shadow: var(--ws-shadow); color: var(--ws-ink); }
.ws-bureau .command-center :is(p,small,label,.system-notice) { font-size: 14px; }
.ws-bureau .command-center :is(summary b,textarea,select,button) { font-size: 15px; }
html[data-theme='light'] .ws-bureau .command-center :is(p,small,label,strong,b,summary,em,time,span) { color: var(--ws-ink); }
html[data-theme='light'] .ws-bureau .command-center :is(small,.system-notice,.task-detail) { color: var(--ws-muted); }
html[data-theme='light'] .ws-bureau .command-center .system-notice { background: #edf6f1; color: #245744; }
html[data-theme='light'] .ws-bureau .command-center :is(button,.result-details > summary) { color: #224c87; }
html[data-theme='light'] .ws-bureau .command-center :is(.primary-action,.ai-run) { color: white; }
html[data-theme='light'] .ws-bureau .command-center :is(.primary-action,.ai-run) :is(span,b,strong) { color: white; }
.ws-order-context { display: inline-flex; padding: 6px 9px; border: 1px solid var(--ws-border); border-radius: 999px; color: var(--ws-accent); font: 750 10px ui-monospace,monospace; letter-spacing: .04em; }
html[data-theme='light'] .ws-bureau :is(.room,.room[data-ambient],.meeting-room,.result-desk,.meeting-screen) { background: linear-gradient(145deg,#eef5fc,#dce9f7); border-color: #bed2e8; color: #173959; }
html[data-theme='light'] .ws-bureau :is(.room-status,.room-label small,.meeting-header small,.result-desk em,.meeting-screen small) { color: #46627c; }
@media (max-width: 1180px) { html[data-theme] body.ws-bureau { padding: 0; } .ws-header { position: relative; inset: auto; width: 100%; padding: 18px; overflow: visible; gap: 18px; border-right: 0; border-bottom: 1px solid var(--ws-border); } .ws-brand { max-width: calc(100% - 180px); } .ws-header nav { display: flex; flex-wrap: wrap; gap: 5px; } .ws-header nav a { padding: 8px 11px; font-size: 17px; } .ws-system-status { display: flex; flex-wrap: wrap; margin: 0; padding-top: 10px; gap: 12px; } .ws-system-status .connection { display: flex; } .ws-bureau .live-main { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 600px) { html[data-theme] #wsThemeDock { right: 12px; width: 150px; } .ws-brand { font-size: 17px; gap: 7px; max-width: calc(100% - 158px); } .ws-brand img { width: 26px; height: 32px; } .ws-brand small { font-size: 6px; letter-spacing: .02em; } .ws-header { padding: 17px 12px; } .ws-header nav a { font-size: 16px; padding: 7px 9px; } .ws-header nav a > span { display: none; } .ws-bureau .workspace { grid-template-columns: minmax(0,1fr); } .ws-bureau .live-main { padding: 12px; } }
@media (prefers-reduced-motion: reduce) { #wsThemeDock::before { transition: none; } }
@media print { .ws-header, #wsThemeDock, .ws-preview-note { display: none !important; } html[data-theme] body.ws-bureau, html[data-theme] body.ws-standalone { padding: 0; } }
