/* TAVRIUM Command Center: one accessible layout, two server-persisted themes. */
:root,html[data-theme="dark"] {
  color-scheme: dark;
  --page:#080e18;--surface:#111c2a;--surface-2:#0c1623;--field-bg:#0b1522;
  --slate-950:#edf5ff;--slate-800:#d6e4f4;--slate-600:#a3b6ca;--slate-500:#8498af;
  --blue-700:#42e8d0;--blue-800:#8df7e5;--blue-100:#143638;--blue-050:#162737;
  --line:#293d52;--danger:#ffaaaa;--danger-bg:#341d28;--success:#74e6ae;
  --accent-ink:#062822;--focus:#ffd47c;--radius:12px;
  --shadow:0 8px 32px #00000021;
}
html[data-theme="light"] {
  color-scheme:light;
  --page:#eef3f8;--surface:#ffffff;--surface-2:#f6f9fc;--field-bg:#ffffff;
  --slate-950:#14273b;--slate-800:#253e54;--slate-600:#52697e;--slate-500:#63788b;
  --blue-700:#006b66;--blue-800:#00504b;--blue-100:#def3ef;--blue-050:#e9f2f6;
  --line:#cddbe6;--danger:#a5212c;--danger-bg:#fff0f1;--success:#146442;
  --accent-ink:#ffffff;--focus:#805200;--shadow:0 8px 28px #193a5810;
}
html {background:var(--page);scroll-padding-top:6rem}
body {background:var(--page);color:var(--slate-950);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55}
a {color:var(--blue-700)}
a:hover {color:var(--blue-800)}
:focus-visible {outline:3px solid var(--focus);outline-offset:4px}
h1,h2,h3 {letter-spacing:-.025em;line-height:1.2}
h1 {font-size:clamp(1.7rem,3vw,2.8rem);margin:.25rem 0 .65rem}
h2 {font-size:clamp(1.15rem,2vw,1.45rem)}
h3 {font-size:1rem}
.eyebrow {font-size:.7rem;letter-spacing:.18em;color:var(--blue-700);font-weight:650}
.skip-global {position:fixed;top:-100px;left:1rem;z-index:1000;background:var(--surface);padding:1rem}
.skip-global:focus {top:1rem}
.workspace-topbar {position:fixed;inset:0 0 auto;z-index:30;min-height:76px;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:12px 28px;background:var(--surface-2);border-bottom:1px solid var(--line)}
.brand-lockup {display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--slate-950);flex:none}
.brand-lockup>span {font-size:1.2rem;letter-spacing:.15em;font-weight:650;line-height:1.2}
.brand-lockup small {display:block;font-size:.55rem;letter-spacing:.18em;font-weight:450;color:var(--slate-600);margin-top:.3rem}
.topbar-actions {display:flex;align-items:center;gap:1rem;min-width:0}
.workspace-label {color:var(--slate-600);font-size:.85rem}
.account-chip {padding:.5rem .75rem;border:1px solid var(--line);border-radius:2rem;max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;color:var(--slate-800)}
.theme-picker {display:flex;align-items:center;padding:3px;border:1px solid var(--line);border-radius:9px;background:var(--page);margin:0;gap:2px}
.theme-picker button {min-height:38px;padding:.4rem .65rem;background:transparent;color:var(--slate-600);border:1px solid transparent;border-radius:6px;font-size:.78rem;font-weight:600}
.theme-picker button[aria-pressed="true"] {color:var(--blue-700);background:var(--blue-100);border-color:var(--line)}
.theme-picker button:hover {background:var(--surface);color:var(--slate-950)}
.chrome-sidebar {position:fixed;left:0;top:76px;bottom:0;width:236px;overflow-y:auto;background:var(--surface-2);border-right:1px solid var(--line);padding:1rem 10px;z-index:20;scrollbar-width:thin}
.chrome-sidebar nav {display:grid;gap:3px}
.chrome-sidebar nav>a {display:flex;gap:12px;align-items:center;min-height:44px;padding:9px 12px;border-radius:8px;text-decoration:none;color:var(--slate-600);font-size:.85rem;border-left:3px solid transparent}
.chrome-sidebar nav>a:hover {background:var(--surface);color:var(--slate-950)}
.chrome-sidebar nav>a[aria-current] {background:var(--blue-100);border-left-color:var(--blue-700);color:var(--blue-700)}
.chrome-sidebar svg,.mobile-tabs svg {width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.chrome-sidebar .export-menu {margin:1rem 12px;font-size:.78rem;color:var(--slate-600)}
.export-menu>a {display:block;min-height:40px;padding:.5rem 0}
.logout-link {display:block;min-height:44px;margin:.5rem 12px;font-size:.8rem}
.workspace-body.with-chrome {margin-left:236px;padding-top:76px;min-height:100svh}
.with-chrome .app-shell {display:block;min-height:calc(100svh - 76px)}
.with-chrome .app-shell>.app-nav {display:none}
.page-content {max-width:104rem;padding:clamp(1rem,2.7vw,2.5rem);min-width:0}
.page-header {align-items:center;margin-bottom:1.75rem}
.page-header p {max-width:68rem}
.stats-grid {gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(11rem,100%),1fr))}
.stat-card,.panel,.auth-card {background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius)}
.stat-card {padding:1.2rem 1.35rem;border-top:2px solid var(--line)}
.stat-card>span {font-size:.85rem;color:var(--slate-600)}
.stat-card strong {font-size:clamp(1.55rem,2.5vw,2.5rem);margin:.65rem 0 .25rem}
.stat-card small {display:block;color:var(--slate-600);font-size:.73rem;font-weight:400}
.panel {padding:clamp(1rem,2vw,1.65rem);margin-block:1rem}
.panel h2 {margin-top:0}
.section-top {display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.section-top h2,.section-top p {margin:0}
.section-top a {font-size:.85rem}
.auth-brand-mark {color:var(--slate-950);letter-spacing:.2em}
.auth-brand-label,.auth-notice,.helptext,.field-help,.auth-help,.muted {color:var(--slate-600)}
.auth-card {border-top:2px solid var(--blue-700)}
.auth-messages,.auth-message,.message {background:var(--surface-2);color:var(--slate-800);border-color:var(--line)}
.error,.auth-message-error,.errorlist {color:var(--danger);background:var(--danger-bg)}
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea {width:100%;max-width:100%;min-height:44px;padding:.7rem .8rem;border:1px solid var(--line);border-radius:8px;color:var(--slate-950);background:var(--field-bg);font:inherit;font-size:16px}
.field select,.auth-field select,.auth-content select,.field textarea,.auth-field textarea,.auth-content textarea {color:var(--slate-950);background:var(--field-bg);border-color:var(--line)}
input[type="checkbox"],input[type="radio"] {width:20px;height:20px;accent-color:var(--blue-700);vertical-align:middle}
input:disabled,select:disabled {opacity:.7}
label,.auth-field label,.field label {color:var(--slate-800)}
label>input,label>select {display:block;margin-top:.4rem}
.field-grid {gap:1rem;margin-block:1rem}
button,.button,.auth-submit {background:var(--blue-700);color:var(--accent-ink);border:1px solid var(--blue-700);border-radius:8px;min-height:44px;font-weight:650;box-shadow:none}
button:hover,.button:hover,.auth-submit:hover {background:var(--blue-800);color:var(--accent-ink);border-color:var(--blue-800)}
.button-secondary,button.button-secondary {background:transparent;color:var(--slate-800);border-color:var(--line)}
.button-danger,button.button-danger {background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}
.badge {border:1px solid var(--line);background:var(--surface-2);color:var(--slate-800);border-radius:6px;padding:.2rem .5rem}
.badge.warning {color:var(--focus);border-color:var(--focus);background:var(--surface-2)}
table {width:100%;border-collapse:collapse;background:var(--surface);color:var(--slate-800)}
th {color:var(--slate-600);font-weight:550;background:var(--surface-2)}
th,td {padding:.8rem;text-align:left;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
tbody tr:hover {background:var(--surface-2)}
.record-row,.record-list>li,.gateway-layout .card {background:var(--surface-2);border:1px solid var(--line);border-radius:8px;color:var(--slate-800)}
.details-list dt {color:var(--slate-600)}
.empty-state {color:var(--slate-600);border:1px dashed var(--line);padding:1.5rem;border-radius:8px;background:var(--surface-2)}
pre,code {color:var(--slate-800);background:var(--surface-2)}
pre {max-width:100%;overflow-x:auto;padding:1rem;border:1px solid var(--line);border-radius:8px}
.project-progress-row {display:grid;grid-template-columns:minmax(0,1.5fr) minmax(150px,1fr) minmax(110px,.7fr);align-items:center;gap:1.25rem;padding:1rem 0;border-top:1px solid var(--line)}
.project-name {color:var(--slate-950);font-weight:650;text-decoration:none}
.project-progress-row p {margin:.3rem 0;font-size:.8rem}
.project-progress-row small {display:block;color:var(--slate-600);margin-top:.25rem}
.project-progress-row .badge {display:inline-block;margin:.15rem}
progress {width:100%;height:7px;border:0;border-radius:9px;background:var(--page);accent-color:var(--blue-700);display:block;margin-bottom:.5rem}
progress::-webkit-progress-bar {background:var(--page);border-radius:9px}
progress::-webkit-progress-value {background:var(--blue-700);border-radius:9px}
progress::-moz-progress-bar {background:var(--blue-700);border-radius:9px}
.progress-chart {display:block;width:100%;max-height:280px;overflow:visible;margin-block:1.5rem}
.progress-chart text {fill:var(--slate-600);font-family:inherit;font-size:12px}
.chart-grid {stroke:var(--line);stroke-width:1;stroke-dasharray:3 5}
.chart-line {fill:none;stroke:var(--blue-700);stroke-width:3;stroke-linejoin:round}
.chart-dot {fill:var(--blue-700);stroke:var(--surface);stroke-width:2}
.phase-chart {display:grid;gap:.8rem}
.phase-chart>div {display:grid;grid-template-columns:145px minmax(50px,1fr) 2rem;align-items:center;gap:1rem}
meter {width:100%;height:14px;accent-color:var(--blue-700)}
.period-links {display:flex;gap:.5rem;flex-wrap:wrap}
.period-links a {padding:.5rem .75rem;border:1px solid var(--line);border-radius:6px;text-decoration:none;min-height:44px}
.period-links a[aria-current] {background:var(--blue-100);color:var(--blue-700)}
.milestone-row {padding-block:1rem;border-top:1px solid var(--line)}
.milestone-row h3 {margin:.2rem 0}
.milestone-row p {color:var(--slate-600);font-size:.85rem}
details>summary {min-height:44px;padding-block:.6rem;cursor:pointer;color:var(--slate-800)}
.mobile-tabs,.mobile-sections {display:none}
.gateway-layout {max-width:104rem}
@media(min-width:1500px) {.stats-grid {gap:18px}.page-content {padding:2.5rem}}
@media(max-width:1100px) {.workspace-label {display:none}.project-progress-row {grid-template-columns:minmax(0,1fr) minmax(120px,.7fr)}.project-progress-row>div:last-child {grid-column:1/-1;display:flex;align-items:center;gap:.5rem}}
@media(max-width:800px) {
  .workspace-topbar {position:sticky;min-height:70px;padding:10px 16px;flex-wrap:wrap;gap:.6rem}
  .brand-lockup {gap:8px}.brand-lockup img {width:32px;height:32px}.brand-lockup>span {font-size:1rem}.brand-lockup small {font-size:.45rem}
  .topbar-actions {gap:.4rem}.account-chip {display:none}.theme-picker button {min-height:44px;font-size:.72rem;padding:.35rem .5rem}
  .chrome-sidebar {display:none}.workspace-body.with-chrome {margin-left:0;padding-top:0;padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
  .with-chrome .app-shell {min-height:0}.page-content {padding:1rem}.page-header {gap:.8rem;margin-bottom:1rem}
  .stats-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card {padding:1rem}.stat-card strong {font-size:1.7rem;overflow-wrap:anywhere}.stat-card small {font-size:.7rem}
  .panel {padding:1rem}.project-progress-row {grid-template-columns:1fr;gap:.6rem}.project-progress-row>div:last-child {grid-column:auto}
  .phase-chart>div {grid-template-columns:105px minmax(40px,1fr) 1.5rem;gap:.5rem;font-size:.8rem}
  .mobile-sections {display:block;margin:8px 16px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:0 .8rem}
  .mobile-sections>summary {font-size:.85rem}.mobile-sections nav {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:.6rem;gap:4px}
  .mobile-sections nav>a {padding:.6rem;min-height:44px;text-decoration:none;border-radius:6px;color:var(--slate-800);font-size:.8rem}.mobile-sections a[aria-current] {background:var(--blue-100);color:var(--blue-700)}
  .mobile-tabs {position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;padding:8px 4px calc(8px + env(safe-area-inset-bottom,0px));z-index:35;background:var(--surface-2);border-top:1px solid var(--line)}
  .mobile-tabs a {display:flex;flex:1;flex-direction:column;align-items:center;gap:4px;padding:4px;min-height:50px;font-size:.64rem;color:var(--slate-600);text-decoration:none}
  .mobile-tabs a:focus,.mobile-tabs a:hover,.mobile-tabs a[aria-current] {color:var(--blue-700)}
  table {display:block;max-width:100%;overflow-x:auto}th,td {min-width:90px;padding:.65rem}
  .field-grid {grid-template-columns:minmax(0,1fr)}.actions {gap:.6rem}
  .workspace-body.with-chrome .auth-shell {min-height:60svh;padding:1rem}
}
@media(prefers-reduced-motion:reduce) {*,*::before,*::after {scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print {.workspace-topbar,.chrome-sidebar,.mobile-tabs,.mobile-sections {display:none!important}.workspace-body.with-chrome {margin:0;padding:0}.panel {break-inside:avoid;box-shadow:none}}
