/* 49gfo.com v6 - a light enterprise app with one top bar in the shadcn / Vercel manner. The chrome is black and
   white; colour belongs to objects only (companies, divisions, series, status). */
:root {
  --bg: #fafafa; --card: #ffffff; --ink: #09090b; --ink-2: #3f3f46; --muted: #71717a; --faint: #a1a1aa;
  --line: #e4e4e7; --line-2: #d4d4d8; --soft: #f4f4f5; --hover: #f4f4f5; --side: #ffffff;
  --inv: #09090b; --inv-ink: #fafafa; --ring: #09090b;
  --good: #16a34a; --good-bg: #dcfce7; --good-ink: #166534;
  --warn: #d97706; --warn-bg: #fef3c7; --warn-ink: #92400e;
  --bad: #dc2626; --bad-bg: #fee2e2; --bad-ink: #991b1b;
  --c1: #2a78d6; --c2: #eb6834; --c3: #1baf7a; --c4: #4a3aa7; --c5: #e87ba4; --c6: #e34948; --c7: #eda100; --c8: #008300;
  --co-holding: #18181b; --co-tech: #b98a5e; --co-inc: #8f9134; --co-cap: #0f9fb0; --co-own: #7c3aed;
  --sh: 0 1px 2px rgba(0,0,0,.05); --sh-2: 0 1px 2px rgba(0,0,0,.06), 0 6px 14px -6px rgba(0,0,0,.14);
  --f: "Geist", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --fm: "Geist Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;
  --r: 12px; color-scheme: light;
}
:root[data-theme="dark"] { & {
  --bg: #09090b; --card: #111113; --ink: #fafafa; --ink-2: #d4d4d8; --muted: #a1a1aa; --faint: #52525b;
  --line: #27272a; --line-2: #3f3f46; --soft: #18181b; --hover: #1c1c1f; --side: #0c0c0e;
  --inv: #fafafa; --inv-ink: #09090b; --ring: #d4d4d8;
  --good: #22c55e; --good-bg: #052e16; --good-ink: #86efac; --warn: #f59e0b; --warn-bg: #2b1d05; --warn-ink: #fcd34d; --bad: #ef4444; --bad-bg: #2a0b0b; --bad-ink: #fca5a5;
  --c1: #3987e5; --c2: #d95926; --c3: #199e70; --c4: #9085e9; --c5: #d55181; --c6: #e66767; --c7: #c98500; --c8: #008300;
  --co-holding: #e4e4e7; --co-tech: #d6a77a; --co-inc: #bfc25a; --co-cap: #22c3d6; --co-own: #a78bfa;
  --sh: 0 1px 2px rgba(0,0,0,.4); --sh-2: 0 1px 2px rgba(0,0,0,.5), 0 6px 16px -6px rgba(0,0,0,.8); color-scheme: dark; } }
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { margin: 0; height: 100%; }
body { background: var(--bg); color: var(--ink); font: 14px/1.5 var(--f); -webkit-font-smoothing: antialiased; letter-spacing: -.006em; }
a { color: inherit; text-decoration: none; }
:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; border-radius: 6px; }
.mono { font-family: var(--fm); font-size: 12px; } .num { font-variant-numeric: tabular-nums; }
.muted { color: var(--muted); } .faint { color: var(--faint); }
svg.i { width: 16px; height: 16px; flex: none; stroke: currentColor; fill: none; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- shell: one top bar, no sidebar ---------- */
body { background:
  radial-gradient(900px 420px at 8% -120px, color-mix(in srgb, var(--c1) 9%, transparent), transparent 70%),
  radial-gradient(800px 420px at 92% -160px, color-mix(in srgb, var(--c5) 8%, transparent), transparent 70%),
  var(--bg) no-repeat; background-attachment: fixed; }
.tn { position: sticky; top: 0; z-index: 40; background: color-mix(in srgb, var(--bg) 72%, transparent); backdrop-filter: blur(16px) saturate(170%); -webkit-backdrop-filter: blur(16px) saturate(170%); border-bottom: 1px solid transparent; transition: border-color .2s, background-color .2s; }
.scrolled .tn { border-bottom-color: var(--line); background: color-mix(in srgb, var(--card) 82%, transparent); }
.tn-in { max-width: 1280px; margin: 0 auto; height: 64px; padding: 0 32px; display: flex; align-items: center; gap: 28px; }
.logo { display: flex; align-items: center; color: var(--ink); flex: none; }
.logo .mark { width: 92px; } .logo .mark svg { width: 100%; height: auto; display: block; }
.tn-links { display: flex; align-items: center; gap: 2px; padding: 4px; border-radius: 999px; background: color-mix(in srgb, var(--card) 70%, transparent); border: 1px solid var(--line); box-shadow: var(--sh); }
.ti { position: relative; display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px; border-radius: 999px; border: 0; background: none; font: 500 13.5px/1 var(--f); color: var(--ink-2); cursor: pointer; white-space: nowrap; transition: background-color .15s, color .15s; }
.ti:hover { color: var(--ink); background: var(--soft); }
.ti[aria-current="page"] { background: var(--inv); color: var(--inv-ink); }
.ti .cv { width: 13px; height: 13px; transform: rotate(90deg); opacity: .6; transition: transform .2s; }
.dd.open > .ti .cv { transform: rotate(-90deg); }
.ti svg.i:not(.cv) { width: 13px; height: 13px; opacity: .6; }
.pip { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 99px; background: var(--bad); color: #fff; font: 600 10.5px/1 var(--fm); }
.dd { position: relative; }
.panel { position: absolute; top: calc(100% + 10px); left: 50%; translate: -50% 0; min-width: 300px; padding: 8px; border-radius: 16px; background: var(--card); border: 1px solid var(--line); box-shadow: 0 1px 2px rgba(16,24,40,.05), 0 18px 40px -16px rgba(16,24,40,.22); opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .16s, transform .2s cubic-bezier(.16,1,.3,1), visibility 0s .2s; z-index: 45; }
.panel.right { left: auto; right: 0; translate: 0 0; min-width: 240px; }
.dd.open > .panel { opacity: 1; visibility: visible; transform: none; transition: opacity .16s, transform .2s cubic-bezier(.16,1,.3,1); }
.mi { display: flex; gap: 12px; align-items: center; width: 100%; padding: 10px; border-radius: 11px; border: 0; background: none; font: inherit; color: inherit; text-align: left; cursor: pointer; }
.mi:hover, .mi[aria-current="page"] { background: var(--soft); }
.mi .mic, .mi > svg { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--soft); border: 1px solid var(--line); flex: none; color: var(--ink); }
.mi > svg { padding: 8px; }
.mi:hover .mic { background: var(--card); }
.mi b { display: flex; align-items: center; gap: 6px; font-weight: 500; font-size: 13.5px; } .mi small { color: var(--muted); font-size: 12px; }
.mega { width: min(860px, 94vw); padding: 14px; }
.mega .cc:nth-child(2) { order: -1; grid-row: span 2; }
.mega .ph { display: flex; justify-content: space-between; align-items: baseline; padding: 4px 6px 12px; } .mega .ph small { color: var(--muted); font-size: 12px; }
.ccs { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: 8px; }
.cc { position: relative; padding: 12px 14px; border-radius: 13px; border: 1px solid var(--line); background: linear-gradient(160deg, color-mix(in srgb, var(--c) 7%, var(--card)), var(--card) 55%); display: grid; gap: 4px; align-content: start; }
.cch { display: flex; align-items: center; gap: 8px; } .cch b { font-weight: 600; font-size: 13.5px; } .cch:hover b { text-decoration: underline; text-underline-offset: 3px; }
.cc .dot { width: 9px; height: 9px; border-radius: 50%; background: var(--c); box-shadow: 0 0 0 3px color-mix(in srgb, var(--c) 20%, transparent); }
.cc .tag { margin-left: auto; font: 500 10.5px/1 var(--fm); color: var(--muted); border: 1px solid var(--line); border-radius: 6px; padding: 3px 5px; background: var(--card); }
.cc small { color: var(--muted); font-size: 12px; line-height: 1.45; }
.dls { display: grid; gap: 2px; margin-top: 8px; }
.dl { display: flex; align-items: center; gap: 9px; padding: 7px 8px; border-radius: 9px; font-size: 13px; color: var(--ink-2); }
.dl:hover { background: var(--card); color: var(--ink); box-shadow: inset 0 0 0 1px var(--line); }
.dl i { width: 7px; height: 7px; border-radius: 2px; background: var(--c); } .dl .late { margin-left: auto; font: 500 11px/1 var(--fm); color: var(--bad); } .dl svg { width: 12px; height: 12px; margin-left: auto; opacity: .5; }
.tn-r { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.sbtn { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 8px 0 12px; border-radius: 999px; border: 1px solid var(--line); background: var(--card); color: var(--muted); font: 400 13px/1 var(--f); cursor: pointer; box-shadow: var(--sh); }
.sbtn:hover { color: var(--ink); border-color: var(--line-2); }
.sbtn kbd { font: 500 10.5px/1 var(--fm); border: 1px solid var(--line); border-radius: 6px; padding: 4px 6px; background: var(--soft); }
.avb { border: 0; background: none; padding: 0; cursor: pointer; border-radius: 50%; } .avb .av { width: 34px; height: 34px; box-shadow: 0 0 0 2px var(--card), 0 0 0 3px var(--line); }
.mehead { display: flex; gap: 10px; align-items: center; padding: 10px; } .mehead b { display: block; font-size: 13.5px; } .mehead small { color: var(--muted); font-size: 12px; }
.status { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 13px; border-radius: 999px; border: 1px solid var(--line); background: var(--card); font: 500 12.5px/1 var(--f); color: var(--ink-2); box-shadow: var(--sh); white-space: nowrap; }
.status i { width: 7px; height: 7px; border-radius: 50%; background: var(--faint); }
.status.up i { background: var(--good); animation: ping 2s infinite; } .status.late i { background: var(--warn); } .status.down i { background: var(--bad); }
@keyframes ping { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--good) 60%, transparent); } 80%, 100% { box-shadow: 0 0 0 7px transparent; } }
.menu-btn { display: none; border: 1px solid var(--line); background: var(--card); color: var(--ink); width: 38px; height: 38px; border-radius: 999px; cursor: pointer; place-items: center; }
.mnav { display: none; }
.page { padding: 28px 32px 72px; max-width: 1280px; width: 100%; margin: 0 auto; display: grid; gap: 24px; align-content: start; min-height: calc(100vh - 64px - 60px); }
.trail { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--muted); margin-bottom: -12px; } .trail svg { width: 12px; height: 12px; opacity: .5; } .trail b { color: var(--ink-2); font-weight: 500; }
.foot { max-width: 1280px; margin: 0 auto; padding: 18px 32px 28px; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; color: var(--faint); font-size: 12px; border-top: 1px solid var(--line); }
@media (max-width: 1100px) { .sbtn span, .sbtn kbd { display: none; } .sbtn { padding: 0; width: 36px; justify-content: center; } .tn-in { gap: 16px; } }
@media (max-width: 960px) {
  .tn-links, .me-dd { display: none; } .menu-btn { display: grid; }
  .tn-in { padding: 0 16px; height: 58px; }
  .mnav { display: grid; gap: 18px; position: fixed; inset: 58px 0 0; padding: 16px 16px 40px; overflow-y: auto; background: var(--bg); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .18s, transform .22s cubic-bezier(.16,1,.3,1), visibility 0s .22s; }
  .nav-open .mnav { opacity: 1; visibility: visible; transform: none; transition: opacity .18s, transform .22s cubic-bezier(.16,1,.3,1); }
  .nav-open { overflow: hidden; }
  .mg { display: grid; gap: 4px; } .mh { font: 500 12px/1 var(--f); color: var(--muted); padding: 6px 10px; }
  .mnav .cc { margin-bottom: 6px; }
  .mnav { z-index: 39; }
  .page { padding: 18px 16px 60px; gap: 20px; } .foot { padding: 16px; }
  .status { height: 34px; padding: 0 11px; font-size: 12px; }
}

/* ---------- headings ---------- */
.head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 14px; }
.head h1 { margin: 6px 0 4px; font: 600 clamp(24px, 3vw, 30px)/1.15 var(--f); letter-spacing: -.025em; }
.head p { margin: 0; color: var(--muted); max-width: 76ch; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; font: 500 12px/1 var(--f); color: var(--muted); }
.eyebrow .sw { width: 9px; height: 9px; border-radius: 3px; background: var(--c, var(--ink)); }
.actions { display: flex; gap: 8px; flex-wrap: wrap; }
.btn { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 14px; border-radius: 9px; font: 500 13px/1 var(--f); border: 1px solid var(--inv); background: var(--inv); color: var(--inv-ink); cursor: pointer; box-shadow: var(--sh); }
.btn:hover { opacity: .9; } .btn[disabled] { opacity: .5; cursor: default; }
.btn.o { background: var(--card); color: var(--ink); border-color: var(--line); } .btn.o:hover { background: var(--hover); opacity: 1; }
h2.sec { margin: 8px 0 -4px; font: 600 15px/1.3 var(--f); letter-spacing: -.01em; display: flex; justify-content: space-between; align-items: baseline; }
h2.sec small { font: 400 12.5px/1 var(--f); color: var(--muted); }

/* ---------- cards ---------- */
.card { background: var(--card); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--sh); min-width: 0; display: flex; flex-direction: column; }
.card > .ch { padding: 16px 18px 0; display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.card > .ch h3 { margin: 0; font: 600 14.5px/1.3 var(--f); letter-spacing: -.01em; }
.card > .ch p { margin: 3px 0 0; color: var(--muted); font-size: 12.5px; }
.card > .cb { padding: 14px 18px 18px; display: grid; gap: 12px; flex: 1; align-content: start; }
.card > .cf { padding: 12px 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12.5px; display: flex; gap: 8px; align-items: center; }
.card.flush > .cb { padding: 0; } .card.flush > .ch { padding-bottom: 14px; }
.g { display: grid; gap: 16px; }
.g2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .g4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.g-7-5 { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
@media (max-width: 1180px) { .g4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .g3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .g-7-5 { grid-template-columns: 1fr; } }
@media (max-width: 680px) { .g2, .g3, .g4 { grid-template-columns: 1fr; } }

/* KPI card: separate cards, never glued */
.kpi { padding: 16px 18px; display: grid; gap: 6px; position: relative; overflow: hidden; }
a.kpi:hover, button.kpi:hover { border-color: var(--line-2); box-shadow: var(--sh-2); }
.kpi .l { display: flex; justify-content: space-between; align-items: center; color: var(--muted); font-size: 12.5px; gap: 8px; }
.kpi .v { font: 600 30px/1.05 var(--f); letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.kpi .s { color: var(--muted); font-size: 12px; display: flex; gap: 6px; align-items: center; }
.kpi .sp { margin: 2px -18px -16px; height: 46px; }
.kpi .sp svg { width: 100%; height: 46px; display: block; }
.kpi.bad .v { color: var(--bad); } .kpi.warn .v { color: var(--warn); } .kpi.good .v { color: var(--good); }

/* badge */
.b { display: inline-flex; align-items: center; gap: 5px; height: 22px; padding: 0 8px; border-radius: 999px; font: 500 11.5px/1 var(--f); border: 1px solid var(--line); color: var(--ink-2); background: var(--card); white-space: nowrap; }
.b.solid { background: var(--inv); color: var(--inv-ink); border-color: var(--inv); }
.b.good { background: var(--good-bg); color: var(--good-ink); border-color: transparent; } .b.warn { background: var(--warn-bg); color: var(--warn-ink); border-color: transparent; } .b.bad { background: var(--bad-bg); color: var(--bad-ink); border-color: transparent; }
.b i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }

/* tabs: segmented */
.tabs { display: inline-flex; gap: 2px; padding: 3px; background: var(--soft); border: 1px solid var(--line); border-radius: 10px; overflow-x: auto; max-width: 100%; scrollbar-width: none; }
.tabs button { height: 30px; padding: 0 12px; border: 0; border-radius: 7px; background: none; color: var(--muted); font: 500 13px/1 var(--f); cursor: pointer; white-space: nowrap; display: inline-flex; gap: 7px; align-items: center; }
.tabs button:hover { color: var(--ink); }
.tabs button[aria-selected="true"] { background: var(--card); color: var(--ink); box-shadow: var(--sh), 0 0 0 1px var(--line); }
.tabs .n { font: 500 10.5px/1 var(--fm); padding: 3px 5px; border-radius: 5px; background: var(--line); color: var(--ink-2); }
.tabs .n.hot { background: var(--bad-bg); color: var(--bad-ink); }

/* table */
.tw { overflow: auto; }
table { border-collapse: separate; border-spacing: 0; width: 100%; font-size: 13px; }
th, td { text-align: left; padding: 10px 14px; border-bottom: 1px solid var(--line); vertical-align: middle; }
th { font: 500 12px/1.2 var(--f); color: var(--muted); background: var(--card); position: sticky; top: 0; z-index: 1; white-space: nowrap; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover td { background: var(--hover); }
td.n, th.n { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
td .t { font-weight: 500; } td small { color: var(--muted); display: block; font-size: 12px; }
td a:hover { text-decoration: underline; text-underline-offset: 3px; }
.who { display: flex; align-items: center; gap: 10px; min-width: 0; }
.av { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font: 600 11px/1 var(--f); color: #fff; background: var(--c, #3f3f46); flex: none; }
.av.lg { width: 36px; height: 36px; font-size: 12.5px; }
.stack { display: flex; } .stack .av { width: 26px; height: 26px; border: 2px solid var(--card); margin-left: -7px; font-size: 10px; } .stack .av:first-child { margin-left: 0; }
.meter { display: flex; height: 6px; border-radius: 99px; overflow: hidden; background: var(--soft); min-width: 60px; }
.meter i { display: block; height: 100%; }

/* lists */
.rows { display: grid; }
.rows > * { display: flex; align-items: center; gap: 12px; padding: 11px 18px; border-top: 1px solid var(--line); font-size: 13px; min-width: 0; }
.rows > *:first-child { border-top: 0; }
.rows > a:hover, .rows > button:hover { background: var(--hover); }
.rows .grow { flex: 1; min-width: 0; } .rows .grow b { font-weight: 500; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .rows .grow small { color: var(--muted); font-size: 12px; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rows .k { color: var(--muted); font: 400 12px/1 var(--fm); white-space: nowrap; }
.rows button { width: 100%; text-align: left; font: inherit; color: inherit; background: none; border: 0; border-top: 1px solid var(--line); cursor: pointer; }
.rows button:first-child { border-top: 0; }

/* tiles (units, divisions) */
.tile { padding: 16px 18px; display: grid; gap: 12px; cursor: pointer; text-align: left; font: inherit; color: inherit; transition: box-shadow .15s, border-color .15s, transform .15s; }
.tile:hover { border-color: var(--line-2); box-shadow: var(--sh-2); transform: translateY(-1px); }
.tile .top { display: flex; align-items: center; gap: 12px; }
.tile .ic { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: color-mix(in srgb, var(--c, var(--ink)) 13%, transparent); color: var(--c, var(--ink)); flex: none; }
.tile .ic svg { width: 18px; height: 18px; }
.tile h4 { margin: 0; font: 600 14px/1.25 var(--f); letter-spacing: -.01em; } .tile h4 + small { color: var(--muted); font-size: 12px; }
.tile p { margin: 0; color: var(--muted); font-size: 12.5px; }
.tile .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.tile .stats div { background: var(--soft); border-radius: 8px; padding: 8px 10px; } .tile .stats b { display: block; font: 600 17px/1.1 var(--f); letter-spacing: -.02em; font-variant-numeric: tabular-nums; } .tile .stats span { font-size: 11px; color: var(--muted); }

/* charts */
.chart { position: relative; }
.chart svg { width: 100%; height: auto; display: block; overflow: visible; }
.chart text { font-family: var(--f); }
.legend { display: flex; flex-wrap: wrap; gap: 14px; font-size: 12px; color: var(--muted); }
.legend span { display: inline-flex; align-items: center; gap: 6px; } .legend i { width: 8px; height: 8px; border-radius: 2px; display: inline-block; }
.tip { position: absolute; pointer-events: none; background: var(--inv); color: var(--inv-ink); border-radius: 8px; padding: 6px 9px; font-size: 12px; line-height: 1.35; white-space: nowrap; transform: translate(-50%, calc(-100% - 10px)); z-index: 5; box-shadow: var(--sh-2); }
.hb { display: grid; gap: 10px; }
.hb .r { display: grid; grid-template-columns: minmax(120px, 190px) 1fr 44px; gap: 12px; align-items: center; font-size: 13px; }
.hb .r > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: flex; align-items: center; gap: 8px; }
.hb .t { height: 8px; border-radius: 99px; background: var(--soft); display: flex; overflow: hidden; gap: 1px; }
.hb .t i { display: block; height: 100%; }
.donut { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.donut svg { width: 140px; height: 140px; flex: none; }

/* hero */
.hero { position: relative; overflow: hidden; border-radius: 16px; border: 1px solid var(--line); background: var(--card); box-shadow: var(--sh); min-height: 300px; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
.hero canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero .copy { position: relative; padding: 36px 34px; display: grid; gap: 14px; align-content: end; background: linear-gradient(90deg, var(--card) 55%, transparent); }
.hero h1 { margin: 0; font: 600 clamp(30px, 4.2vw, 50px)/1.02 var(--f); letter-spacing: -.04em; text-wrap: balance; }
.hero .live { color: var(--ink-2); font-size: 14.5px; } .hero .live b { color: var(--ink); font-variant-numeric: tabular-nums; }
.hero .glass { position: relative; margin: 26px 26px 26px 0; align-self: center; border: 1px solid var(--line); border-radius: 14px; background: color-mix(in srgb, var(--card) 88%, transparent); backdrop-filter: blur(6px); box-shadow: var(--sh-2); padding: 16px; display: grid; gap: 12px; }
@media (max-width: 980px) { .hero { grid-template-columns: 1fr; } .hero .glass { margin: 0 18px 18px; } .hero .copy { padding: 26px 20px; background: linear-gradient(180deg, transparent, var(--card) 40%); } }

/* drawer / sheet */
.scrim { position: fixed; inset: 0; background: rgba(0,0,0,.4); z-index: 60; opacity: 0; transition: opacity .2s; }
.scrim.on { opacity: 1; }
.sheet { position: fixed; top: 8px; right: 8px; bottom: 8px; width: min(620px, calc(100% - 16px)); background: var(--card); border: 1px solid var(--line); border-radius: 14px; z-index: 61; display: grid; grid-template-rows: auto 1fr; transform: translateX(calc(100% + 16px)); transition: transform .26s cubic-bezier(.2,.8,.2,1); box-shadow: var(--sh-2); overflow: hidden; }
.sheet.on { transform: none; }
.sheet header { display: flex; gap: 12px; align-items: center; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.sheet header h3 { margin: 2px 0 0; font: 600 18px/1.2 var(--f); letter-spacing: -.02em; }
.sheet .x { margin-left: auto; border: 1px solid var(--line); background: var(--card); color: var(--ink); border-radius: 8px; width: 32px; height: 32px; cursor: pointer; display: grid; place-items: center; }
.sheet .body { overflow-y: auto; padding: 18px 20px 26px; display: grid; gap: 16px; align-content: start; }
.kv { display: grid; grid-template-columns: 140px 1fr; gap: 8px 14px; font-size: 13px; margin: 0; } .kv dt { color: var(--muted); } .kv dd { margin: 0; min-width: 0; }

/* command palette */
.cmdk { position: fixed; inset: 0; z-index: 70; display: grid; place-items: start center; padding-top: 12vh; background: rgba(0,0,0,.35); }
.cmdk .box { width: min(560px, calc(100% - 24px)); background: var(--card); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--sh-2); overflow: hidden; }
.cmdk input { width: 100%; border: 0; border-bottom: 1px solid var(--line); padding: 16px 18px; font: 400 15px/1 var(--f); background: transparent; color: var(--ink); outline: none; }
.cmdk .list { max-height: 50vh; overflow-y: auto; padding: 6px; }
.cmdk .list a { display: flex; gap: 10px; align-items: center; padding: 9px 12px; border-radius: 8px; font-size: 13.5px; color: var(--ink-2); }
.cmdk .list a.on, .cmdk .list a:hover { background: var(--soft); color: var(--ink); }
.cmdk .list small { margin-left: auto; color: var(--faint); font-size: 12px; }

/* own page, empty states */
.empty { border: 1px dashed var(--line-2); border-radius: var(--r); padding: 18px; display: grid; gap: 6px; color: var(--muted); font-size: 13px; background: var(--card); }
.empty b { color: var(--ink); font-weight: 500; }
.rag { display: inline-flex; gap: 6px; align-items: center; font: 500 12px/1 var(--f); } .rag i { width: 8px; height: 8px; border-radius: 50%; background: var(--faint); }
.rag.green i { background: var(--good); } .rag.amber i { background: var(--warn); } .rag.red i { background: var(--bad); }

/* sign in */
.auth { min-height: 100vh; display: grid; grid-template-columns: 1fr 1fr; }
.auth .art { position: relative; background: #09090b; color: #fafafa; overflow: hidden; display: grid; align-content: space-between; padding: 36px; }
.auth .art canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.auth .art > * { position: relative; }
.auth .art .mark { width: 150px; } .auth .art .mark svg { width: 100%; height: auto; display: block; }
.auth .art blockquote { margin: 0; font: 500 22px/1.35 var(--f); letter-spacing: -.02em; max-width: 30ch; }
.auth .art blockquote small { display: block; margin-top: 10px; font-size: 13px; color: #a1a1aa; font-weight: 400; }
.auth .form { display: grid; place-items: center; padding: 30px 20px; background: var(--bg); }
.auth form { width: min(360px, 100%); display: grid; gap: 14px; }
.auth h2 { margin: 0; font: 600 24px/1.2 var(--f); letter-spacing: -.025em; }
.auth label { font-size: 13px; font-weight: 500; display: grid; gap: 7px; }
.auth input { font: 400 14px/1.2 var(--f); height: 40px; padding: 0 12px; border-radius: 9px; border: 1px solid var(--line-2); background: var(--card); color: var(--ink); width: 100%; box-shadow: var(--sh); }
.auth input:focus { outline: 2px solid var(--ring); outline-offset: 1px; }
.auth .btn { height: 40px; justify-content: center; }
@media (max-width: 860px) { .auth { grid-template-columns: 1fr; } .auth .art { min-height: 220px; } }
.skeleton { height: 120px; border-radius: var(--r); background: linear-gradient(90deg, var(--card), var(--soft), var(--card)); background-size: 200% 100%; animation: sk 1.4s linear infinite; border: 1px solid var(--line); }
@keyframes sk { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }

/* ---------- v4: live network, org chart, facilities ---------- */
.net { position: relative; border-radius: 16px; border: 1px solid var(--line); background: var(--card); box-shadow: var(--sh); overflow: hidden; }
.net svg { display: block; width: 100%; height: auto; }
.net .ln { stroke: var(--line-2); stroke-width: 1.2; fill: none; }
.net .flow { fill: none; stroke-width: 2; stroke-linecap: round; stroke-dasharray: 2 10; animation: flow linear infinite; }
@keyframes flow { to { stroke-dashoffset: -120; } }
.net .node { cursor: pointer; }
.net .node circle.halo { animation: halo 2.6s ease-out infinite; transform-box: fill-box; transform-origin: center; }
@keyframes halo { 0% { opacity: .55; transform: scale(1); } 100% { opacity: 0; transform: scale(1.9); } }
.net .node:hover .core { stroke: var(--ink); stroke-width: 2; }
.net text { font-family: var(--f); }
.net .legendbar { position: absolute; left: 16px; bottom: 14px; display: flex; gap: 14px; flex-wrap: wrap; font-size: 12px; color: var(--muted); background: color-mix(in srgb, var(--card) 85%, transparent); padding: 6px 10px; border-radius: 8px; border: 1px solid var(--line); }
.net .legendbar i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 6px; vertical-align: 0; }
.net .ticker { position: absolute; left: 16px; top: 14px; display: grid; gap: 6px; width: min(300px, 40%); }
.net .ticker div { font-size: 12px; background: color-mix(in srgb, var(--card) 90%, transparent); border: 1px solid var(--line); border-radius: 9px; padding: 7px 10px; box-shadow: var(--sh); animation: tin .5s ease both; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@keyframes tin { from { opacity: 0; transform: translateY(-6px); } }
.net .ticker { z-index: 2; }
.net .ticker div:nth-child(2) { opacity: .8; } .net .ticker div:nth-child(3) { opacity: .6; } .net .ticker div:nth-child(4) { opacity: .4; }
@media (max-width: 760px) { .net .ticker { display: none; } }
.ochart { overflow-x: auto; }
.ochart svg { display: block; width: 100%; height: auto; }
.onode rect.box { fill: var(--card); stroke: var(--line); }
.onode:hover rect.box { stroke: var(--ink); }
.onode { cursor: pointer; }
.facil { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.matrix td.cell { text-align: center; } .matrix .dot { display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: var(--soft); border: 1px solid var(--line); vertical-align: middle; }
.matrix .dot.on { background: var(--c, var(--ink)); border-color: transparent; } .matrix .dot.part { background: color-mix(in srgb, var(--c, var(--ink)) 35%, transparent); border-color: transparent; }
.idn { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; border-radius: 16px; overflow: hidden; border: 1px solid var(--line); background: #09090b; color: #fafafa; position: relative; min-height: 380px; }
.idn canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.idn .copy { position: relative; padding: 40px; display: grid; gap: 16px; align-content: end; }
.idn .mark { width: 190px; } .idn .mark svg { width: 100%; height: auto; display: block; }
.idn h1 { margin: 0; font: 600 clamp(32px, 4.4vw, 54px)/1.02 var(--f); letter-spacing: -.04em; text-wrap: balance; }
.idn p { margin: 0; color: #a1a1aa; font-size: 15px; max-width: 52ch; } .idn p b { color: #fafafa; font-weight: 500; }
.idn .side-stats { position: relative; align-self: center; margin: 30px; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: #27272a; border: 1px solid #27272a; border-radius: 14px; overflow: hidden; }
.idn .side-stats div { background: rgba(9,9,11,.85); padding: 16px 18px; } .idn .side-stats b { display: block; font: 600 30px/1.05 var(--f); letter-spacing: -.035em; } .idn .side-stats span { color: #a1a1aa; font-size: 12px; }
.idn .btn { background: #fafafa; color: #09090b; border-color: #fafafa; } .idn .btn.o { background: transparent; color: #fafafa; border-color: #3f3f46; }
@media (max-width: 980px) { .idn { grid-template-columns: 1fr; } .idn .copy { padding: 28px 22px; } .idn .side-stats { margin: 0 22px 22px; } }
/* ---------- v5 polish (impeccable: operate mode) ---------- */
::selection { background: var(--inv); color: var(--inv-ink); }
html { scrollbar-color: var(--line-2) transparent; scrollbar-width: thin; accent-color: var(--ink); caret-color: var(--ink); }
::-webkit-scrollbar { width: 10px; height: 10px; } ::-webkit-scrollbar-thumb { background: var(--line-2); border-radius: 99px; border: 3px solid var(--bg); } ::-webkit-scrollbar-track { background: transparent; }
body { font-feature-settings: "ss01", "cv11"; }
td, .kpi .v, .num, .k { font-variant-numeric: tabular-nums; }
/* denser, app-like heads: no kicker, fixed scale */
.head .eyebrow, .phead .eyebrow { display: none; }
.head { padding-bottom: 4px; }
.head h1 { font: 600 22px/1.2 var(--f); letter-spacing: -.02em; margin: 0 0 4px; }
.head p { font-size: 13px; max-width: 90ch; }
.page { gap: 16px; padding: 22px 28px 48px; }
h2.sec { font-size: 13.5px; margin: 6px 0 -6px; }
.card > .ch { padding: 14px 16px 0; } .card > .cb { padding: 12px 16px 16px; }
.card > .ch h3 { font-size: 13.5px; } .card > .ch p { font-size: 12px; }
th, td { padding: 8px 12px; } table { font-size: 12.5px; }
.kpi { padding: 14px 16px; gap: 4px; } .kpi .v { font-size: 26px; } .kpi .sp { margin: 2px -16px -14px; height: 38px; } .kpi .sp svg { height: 38px; }
.tile { padding: 14px 16px; gap: 10px; }
.g { gap: 12px; }
a.card:active, button.card:active { transform: translateY(0) scale(.995); }
/* the one authored moment for routing: content settles in, 220 ms */
@keyframes settle { from { opacity: 0; transform: translateY(4px); filter: blur(3px); } to { opacity: 1; transform: none; filter: none; } }
main.page > * { animation: settle .22s cubic-bezier(.16,1,.3,1) both; }
main.page > *:nth-child(2) { animation-delay: .03s; } main.page > *:nth-child(3) { animation-delay: .06s; } main.page > *:nth-child(n+4) { animation-delay: .09s; }
.keep main.page > * { animation: none; }
/* portal slot (units keep their own page) */
.portal { position: relative; overflow: hidden; border-radius: 16px; border: 1px solid var(--line); background: var(--card); box-shadow: var(--sh); display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); min-height: 260px; }
.portal .l { padding: 26px 26px 22px; display: grid; gap: 12px; align-content: space-between; position: relative; z-index: 1; }
.portal h2 { margin: 0; font: 600 24px/1.15 var(--f); letter-spacing: -.025em; }
.portal p { margin: 0; color: var(--muted); font-size: 13px; max-width: 58ch; }
.portal .r { position: relative; background: radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--c) 22%, transparent), transparent 60%), var(--soft); border-left: 1px solid var(--line); display: grid; place-items: center; overflow: hidden; }
.portal .r .frame { width: 78%; aspect-ratio: 16/10; border-radius: 12px; border: 1px solid var(--line); background: var(--card); box-shadow: var(--sh-2); display: grid; grid-template-rows: 22px 1fr; overflow: hidden; transform: perspective(900px) rotateY(-10deg) rotateX(4deg); transition: transform .35s cubic-bezier(.16,1,.3,1); }
.portal:hover .r .frame { transform: perspective(900px) rotateY(-4deg) rotateX(2deg) translateY(-3px); }
.portal .frame .bar { display: flex; gap: 5px; align-items: center; padding: 0 8px; border-bottom: 1px solid var(--line); } .portal .frame .bar i { width: 7px; height: 7px; border-radius: 50%; background: var(--line-2); }
.portal .frame .body { padding: 12px; display: grid; gap: 8px; align-content: start; } .portal .frame .body i { display: block; height: 8px; border-radius: 4px; background: var(--soft); } .portal .frame .body i.c { background: color-mix(in srgb, var(--c) 45%, transparent); width: 40%; }
.portal.waiting .r .frame { border-style: dashed; box-shadow: none; }
.portal .meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
@media (max-width: 900px) { .portal { grid-template-columns: 1fr; } .portal .r { min-height: 180px; border-left: 0; border-top: 1px solid var(--line); } }
.prompt { font: 400 12px/1.6 var(--fm); white-space: pre-wrap; background: var(--soft); border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; max-height: 320px; overflow: auto; }
/* ---------- v6: light, open, alive (Founder, 2 Oct 2026) ---------- */
:root { --r: 16px; --bg: #f6f7f9; --line: #e6e8ec; --line-2: #d5d9e0; --soft: #f2f4f7; --hover: #f2f4f7;
  --sh: 0 1px 2px rgba(16,24,40,.04), 0 1px 3px rgba(16,24,40,.05);
  --sh-2: 0 2px 4px rgba(16,24,40,.04), 0 14px 28px -14px rgba(16,24,40,.20); }
/* rhythm: generous between sections, tight inside */
.page { gap: 24px; padding-top: 28px; }
.g { gap: 16px; }
h2.sec { font: 600 16px/1.3 var(--f); letter-spacing: -.015em; margin: 18px 0 -8px; }
h2.sec small { font-size: 12.5px; }
.head h1 { font: 600 clamp(26px, 3vw, 32px)/1.15 var(--f); letter-spacing: -.03em; margin: 0 0 6px; }
.head p { font-size: 14px; }
/* surfaces */
.card { border-radius: var(--r); border-color: var(--line); box-shadow: var(--sh); background-image: none; }
.card > .ch { padding: 18px 20px 0; } .card > .cb { padding: 14px 20px 20px; } .card > .cf { padding: 12px 20px; }
.card > .ch h3 { font-size: 14.5px; }
a.card, button.card, .tile { background-image: none; transition: transform .2s cubic-bezier(.16,1,.3,1), box-shadow .2s, border-color .2s; }
a.card:hover, button.card:hover, .tile:hover { transform: translateY(-2px); box-shadow: var(--sh-2); border-color: var(--line-2); }
/* KPI: object colour lives in a soft wash and the chip, never in the chrome */
.kpi { padding: 18px 20px; gap: 6px; background: linear-gradient(170deg, color-mix(in srgb, var(--kc, var(--ink)) 5%, var(--card)), var(--card) 60%); }
.kpi .l svg { width: 30px; height: 30px; padding: 7px; border-radius: 9px; background: color-mix(in srgb, var(--kc, var(--ink)) 10%, transparent); color: var(--kc, var(--ink-2)); }
.kpi .v { font: 600 32px/1.05 var(--f); letter-spacing: -.04em; }
.kpi .sp { margin: 4px -20px -18px; height: 44px; } .kpi .sp svg { height: 44px; }
.kpi.bad { --kc: var(--bad); } .kpi.warn { --kc: var(--warn); } .kpi.good { --kc: var(--good); }
/* tiles: a quiet corner wash of the object's own colour */
.tile { padding: 18px 20px; gap: 12px; background: radial-gradient(140% 90% at 100% 0%, color-mix(in srgb, var(--c, var(--ink)) 7%, transparent), transparent 55%), var(--card); }
.tile .ic { width: 40px; height: 40px; border-radius: 12px; background: color-mix(in srgb, var(--c, var(--ink)) 12%, var(--card)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c, var(--ink)) 18%, transparent); }
.tile h4 { font-size: 14.5px; } .tile p { font-size: 13px; line-height: 1.55; }
.tile .stats div { background: var(--soft); border-radius: 10px; padding: 9px 11px; }
.tabs { border-radius: 999px; padding: 4px; } .tabs button { border-radius: 999px; height: 32px; padding: 0 14px; }
.btn { border-radius: 999px; height: 38px; padding: 0 18px; }
.b { border-radius: 999px; }
/* retire the pointer spotlight and the blur-in; keep one calm settle */
main.page > * { animation: settle6 .24s cubic-bezier(.16,1,.3,1) both; }
@keyframes settle6 { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
/* identity: light hero with a slow aurora drawn from the companies' own colours */
.idn { background: var(--card); color: var(--ink); border-color: var(--line); border-radius: 24px; min-height: 420px; box-shadow: var(--sh); isolation: isolate; }
.aurora { position: absolute; inset: 0; overflow: hidden; z-index: -1; }
.aurora i { position: absolute; width: 46%; aspect-ratio: 1; border-radius: 50%; filter: blur(60px); opacity: .55; animation: drift 22s ease-in-out infinite alternate; }
.aurora i:nth-child(1) { background: color-mix(in srgb, var(--c1) 45%, transparent); left: 48%; top: -20%; }
.aurora i:nth-child(2) { background: color-mix(in srgb, var(--co-tech) 50%, transparent); left: 70%; top: 30%; animation-delay: -6s; }
.aurora i:nth-child(3) { background: color-mix(in srgb, var(--c3) 38%, transparent); left: 40%; top: 55%; animation-delay: -11s; }
.aurora i:nth-child(4) { background: color-mix(in srgb, var(--c5) 40%, transparent); left: 85%; top: -10%; animation-delay: -16s; }
@keyframes drift { to { transform: translate(-8%, 10%) scale(1.15); } }
.idn .copy { padding: 48px 44px; gap: 18px; }
.idn .mark { width: 150px; color: var(--ink); }
.idn h1 { font: 650 clamp(34px, 4.6vw, 58px)/1.0 var(--f); letter-spacing: -.045em; }
.idn p { color: var(--ink-2); font-size: 15.5px; line-height: 1.6; } .idn p b { color: var(--ink); font-weight: 600; }
.idn .btn { background: var(--inv); color: var(--inv-ink); border-color: var(--inv); } .idn .btn.o { background: color-mix(in srgb, var(--card) 70%, transparent); color: var(--ink); border-color: var(--line-2); backdrop-filter: blur(6px); }
.idn .side-stats { background: transparent; border: 0; gap: 10px; margin: 36px; }
.idn .side-stats div { background: color-mix(in srgb, var(--card) 74%, transparent); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid color-mix(in srgb, var(--line) 80%, transparent); border-radius: 14px; padding: 16px 18px; box-shadow: var(--sh); }
.idn .side-stats b { font-size: 32px; color: var(--ink); } .idn .side-stats span { color: var(--muted); }
@media (max-width: 980px) { .idn .copy { padding: 30px 22px; } .idn .side-stats { margin: 0 22px 22px; } }
/* sign-in: the same light world */
.auth .art { background: var(--card); color: var(--ink); isolation: isolate; border-right: 1px solid var(--line); }
.auth .art .mark { color: var(--ink); } .auth .art blockquote small { color: var(--muted); }
/* live network: calm canvas, legend under the drawing */
.net { border-radius: 24px; background: radial-gradient(70% 60% at 50% 50%, color-mix(in srgb, var(--c1) 4%, transparent), transparent 70%), var(--card); }
.net .legendbar { position: static; margin: 0 20px 18px; width: max-content; max-width: calc(100% - 40px); background: var(--soft); border-color: transparent; border-radius: 999px; padding: 7px 14px; }
.net .core { filter: drop-shadow(0 2px 4px rgba(16,24,40,.08)); }
/* portal slot */
.portal { border-radius: 24px; }
.portal .r { background: radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--c) 18%, transparent), transparent 60%), var(--soft); }
/* hero on the control panel: light */
.hero { border-radius: 24px; }
.hero canvas { display: none; }
.sheet { border-radius: 20px; } .cmdk .box { border-radius: 18px; }
.auth .art > .aurora { position: absolute; }

/* ---------- v7: deep black that is not blind; objects resolve on it, with room between them (Founder, 2 Oct 2026) ---------- */
:root {
  --bg: #07080a; --card: #0f1114; --raise: #15181d; --ink: #eef0f3; --ink-2: #b8bdc7; --muted: #868c98; --faint: #545a65;
  --line: rgba(255,255,255,.075); --line-2: rgba(255,255,255,.14); --soft: rgba(255,255,255,.045); --hover: rgba(255,255,255,.06); --side: #0b0c0f;
  --inv: #f3f4f6; --inv-ink: #07080a; --ring: #cfd3da;
  --good: #34d399; --good-bg: rgba(52,211,153,.12); --good-ink: #6ee7b7;
  --warn: #f5b84a; --warn-bg: rgba(245,184,74,.12); --warn-ink: #fcd38a;
  --bad: #f87171; --bad-bg: rgba(248,113,113,.12); --bad-ink: #fca5a5;
  --c1: #3987e5; --c2: #e0682e; --c3: #1fb07c; --c4: #9085e9; --c5: #e0619a; --c6: #ec6b6b; --c7: #d9971a; --c8: #2fa84f;
  --co-holding: #e4e6ea; --co-tech: #d6a77a; --co-inc: #c3c65e; --co-cap: #2fc6d8; --co-own: #a78bfa;
  --sh: inset 0 1px 0 rgba(255,255,255,.04); --sh-2: inset 0 1px 0 rgba(255,255,255,.06), 0 24px 48px -24px rgba(0,0,0,.9);
  --r: 20px; color-scheme: dark;
}
body { background:
  radial-gradient(1100px 520px at 50% -260px, rgba(120,140,255,.13), transparent 70%),
  radial-gradient(700px 420px at 100% 0%, rgba(214,167,122,.06), transparent 70%),
  var(--bg) no-repeat; background-attachment: fixed; }
::selection { background: #f3f4f6; color: #07080a; }
::-webkit-scrollbar-thumb { border-color: var(--bg); }
/* rhythm: wide between sections, generous inside */
.page { max-width: 1320px; gap: 36px; padding: 36px 40px 96px; }
.g { gap: 20px; }
h2.sec { font: 600 15px/1.3 var(--f); color: var(--ink); margin: 28px 0 -18px; }
h2.sec small { color: var(--faint); }
.trail { margin-bottom: -20px; }
.head h1 { font-size: clamp(28px, 3.2vw, 38px); letter-spacing: -.035em; }
.head p { color: var(--muted); }
/* surfaces: a lit plate, not a box with a shadow */
.card, .net, .studio, .idn, .now, .fc, .portal, .hero { background: linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.008) 40%), var(--card); border: 1px solid var(--line); box-shadow: var(--sh); }
.card { border-radius: var(--r); }
.card > .ch { padding: 22px 24px 0; } .card > .cb { padding: 16px 24px 24px; } .card > .cf { padding: 14px 24px; border-color: var(--line); }
a.card:hover, button.card:hover, .tile:hover, .fc:hover, .nw:hover { border-color: var(--line-2); box-shadow: var(--sh-2); }
.kpi { padding: 22px 24px; background: radial-gradient(120% 100% at 100% 0%, color-mix(in srgb, var(--kc, #fff) 9%, transparent), transparent 55%), linear-gradient(180deg, rgba(255,255,255,.028), transparent 40%), var(--card); }
.kpi .v { font-size: 36px; }
.kpi .sp { margin: 6px -24px -22px; }
.tile { padding: 22px 24px; background: radial-gradient(130% 100% at 100% 0%, color-mix(in srgb, var(--c, #fff) 11%, transparent), transparent 55%), linear-gradient(180deg, rgba(255,255,255,.028), transparent 40%), var(--card); }
.tile .ic, .fc .ic { background: color-mix(in srgb, var(--c, #fff) 16%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c, #fff) 28%, transparent); color: color-mix(in srgb, var(--c, #fff) 80%, #fff); }
.tile .stats div { background: rgba(255,255,255,.04); }
.btn { background: var(--inv); color: var(--inv-ink); border-color: var(--inv); box-shadow: none; }
.btn.o { background: rgba(255,255,255,.04); color: var(--ink); border-color: var(--line-2); } .btn.o:hover { background: rgba(255,255,255,.08); }
.btn.sm { height: 32px; padding: 0 12px; font-size: 12.5px; gap: 6px; }
.b { background: rgba(255,255,255,.04); border-color: var(--line); }
.b.solid { background: var(--inv); color: var(--inv-ink); }
th { background: var(--card); color: var(--faint); }
tbody tr:hover td { background: rgba(255,255,255,.025); }
.empty { background: transparent; border-color: var(--line-2); }
/* top bar on black */
.tn { background: color-mix(in srgb, var(--bg) 70%, transparent); }
.scrolled .tn { background: color-mix(in srgb, var(--bg) 86%, transparent); border-bottom-color: var(--line); }
.tn-in { max-width: 1320px; padding: 0 40px; height: 68px; }
.logo .mark { color: var(--ink); }
.tn-links { background: rgba(255,255,255,.035); border-color: var(--line); box-shadow: none; }
.ti { color: var(--muted); } .ti:hover { color: var(--ink); background: rgba(255,255,255,.06); }
.ti[aria-current="page"] { background: var(--inv); color: var(--inv-ink); }
.sbtn, .status { background: rgba(255,255,255,.035); border-color: var(--line); box-shadow: none; color: var(--ink-2); }
.panel { background: var(--raise); border-color: var(--line-2); box-shadow: 0 30px 60px -20px rgba(0,0,0,.85); }
.mi .mic { background: rgba(255,255,255,.05); border-color: var(--line); }
.mi:hover, .mi[aria-current="page"] { background: rgba(255,255,255,.06); }
.cc { background: radial-gradient(120% 100% at 0% 0%, color-mix(in srgb, var(--c) 14%, transparent), transparent 60%), rgba(255,255,255,.02); border-color: var(--line); }
.cc .tag { background: transparent; }
.dl:hover { background: rgba(255,255,255,.05); box-shadow: inset 0 0 0 1px var(--line); }
.avb .av { box-shadow: 0 0 0 2px var(--bg), 0 0 0 3px var(--line-2); }
.foot { max-width: 1320px; padding: 22px 40px 32px; }
/* overview bento */
.bento { display: grid; grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr); gap: 20px; }
.idn { border-radius: 28px; min-height: 480px; grid-template-columns: 1fr; color: var(--ink); }
.idn .copy { padding: 52px 52px 48px; align-content: end; gap: 20px; }
.idn .mark { width: 140px; color: var(--ink); }
.idn h1 { font: 650 clamp(38px, 5vw, 64px)/.98 var(--f); letter-spacing: -.05em; }
.idn p { color: var(--ink-2); max-width: 46ch; font-size: 16px; } .idn p b { color: var(--ink); }
.idn .btn { background: var(--inv); color: var(--inv-ink); } .idn .btn.o { background: rgba(255,255,255,.06); color: var(--ink); border-color: var(--line-2); }
.aurora i { opacity: .42; filter: blur(80px); mix-blend-mode: screen; }
.aurora i:nth-child(1) { background: #3b5bdb; left: 52%; top: -30%; } .aurora i:nth-child(2) { background: #b5835a; left: 74%; top: 34%; }
.aurora i:nth-child(3) { background: #0f8f6a; left: 30%; top: 70%; opacity: .3; } .aurora i:nth-child(4) { background: #9d3d78; left: 92%; top: -20%; opacity: .32; }
.idn::after { content: ""; position: absolute; inset: 0; z-index: -1; background-image: radial-gradient(rgba(255,255,255,.07) 1px, transparent 1px); background-size: 26px 26px; mask-image: linear-gradient(90deg, transparent 20%, #000 75%); }
.now { border-radius: 28px; padding: 10px; display: grid; gap: 4px; align-content: start; }
.now-h { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px 10px; } .now-h b { font-size: 13.5px; font-weight: 600; }
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--good); box-shadow: 0 0 0 4px var(--good-bg); }
.nw { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "l v" "s v"; gap: 2px 12px; align-items: center; padding: 14px 16px; border-radius: 18px; border: 1px solid transparent; position: relative; }
.nw::before { content: ""; position: absolute; left: 0; top: 18px; bottom: 18px; width: 1px; background: var(--c); opacity: .9; }
.nw .nl { grid-area: l; font-size: 13px; color: var(--ink-2); } .nw .ns { grid-area: s; font-size: 12px; color: var(--faint); }
.nw .nv { grid-area: v; font: 600 30px/1 var(--f); letter-spacing: -.04em; color: color-mix(in srgb, var(--c) 55%, var(--ink)); }
.nw:hover { background: rgba(255,255,255,.035); }
/* facilities: objects, not paragraphs */
.fac { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.fc { border-radius: 22px; padding: 22px 22px 24px; display: grid; grid-template-columns: auto 1fr; grid-template-areas: "ic v" "b b" "s s" "p p"; gap: 4px 12px; align-items: center; position: relative; overflow: hidden; transition: border-color .2s, box-shadow .2s, transform .2s cubic-bezier(.16,1,.3,1); }
.fc::before { content: ""; position: absolute; inset: 0; background: radial-gradient(90% 70% at 100% 0%, color-mix(in srgb, var(--c) 12%, transparent), transparent 60%); pointer-events: none; }
.fc .ic { grid-area: ic; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; } .fc .ic svg { width: 18px; height: 18px; }
.fc .fv { grid-area: v; justify-self: end; font: 600 34px/1 var(--f); letter-spacing: -.04em; }
.fc b { grid-area: b; margin-top: 18px; font-size: 14.5px; font-weight: 600; } .fc small { grid-area: s; color: var(--faint); font-size: 12px; }
.fc p { grid-area: p; margin: 10px 0 0; color: var(--muted); font-size: 12.5px; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fc:hover { transform: translateY(-2px); }
/* live network on black */
.net { border-radius: 28px; background: radial-gradient(60% 55% at 50% 52%, rgba(120,140,255,.07), transparent 70%), var(--card); }
.net .ln { stroke: rgba(255,255,255,.12); }
.net .core { filter: none; }
.net .legendbar { background: rgba(255,255,255,.04); }
/* the studio: a unit's own pages, hosted inside the site */
.studio { border-radius: 28px; overflow: hidden; }
.st-bar { display: flex; align-items: center; gap: 18px; padding: 16px 18px 16px 22px; flex-wrap: wrap; border-bottom: 1px solid var(--line); background: radial-gradient(60% 200% at 0% 0%, color-mix(in srgb, var(--c) 14%, transparent), transparent 60%); }
.st-id { display: flex; align-items: center; gap: 12px; min-width: 0; } .st-id b { display: block; font-size: 14.5px; font-weight: 600; } .st-id small { color: var(--muted); font-size: 12px; display: inline-flex; gap: 6px; align-items: center; }
.st-dot { width: 12px; height: 12px; border-radius: 50%; background: var(--c); box-shadow: 0 0 0 4px color-mix(in srgb, var(--c) 22%, transparent), 0 0 18px color-mix(in srgb, var(--c) 60%, transparent); flex: none; }
.st-tabs { display: flex; gap: 4px; padding: 4px; border-radius: 999px; background: rgba(255,255,255,.04); border: 1px solid var(--line); overflow-x: auto; max-width: 100%; scrollbar-width: none; }
.st-tabs button { height: 30px; padding: 0 14px; border-radius: 999px; border: 0; background: none; color: var(--muted); font: 500 12.5px/1 var(--f); cursor: pointer; white-space: nowrap; }
.st-tabs button:hover { color: var(--ink); } .st-tabs button[aria-selected="true"] { background: var(--inv); color: var(--inv-ink); }
.st-act { margin-left: auto; display: flex; gap: 8px; align-items: center; }
.st-view { position: relative; height: max(620px, calc(100vh - 250px)); background: #0b0c0e; }
.st-view iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: #fff; color-scheme: normal; }
.st-view.waiting { height: 360px; display: grid; place-items: center; background: radial-gradient(50% 60% at 50% 50%, color-mix(in srgb, var(--c) 10%, transparent), transparent 70%); }
.st-empty { display: grid; justify-items: center; gap: 8px; text-align: center; max-width: 46ch; padding: 20px; } .st-empty b { font-size: 16px; font-weight: 600; } .st-empty small { color: var(--muted); font-size: 13px; }
.st-empty .ring { width: 54px; height: 54px; border-radius: 50%; border: 1px dashed color-mix(in srgb, var(--c) 70%, transparent); margin-bottom: 8px; box-shadow: 0 0 40px color-mix(in srgb, var(--c) 35%, transparent); }
/* sign-in on black */
.auth .art { background: var(--card); color: var(--ink); border-right: 1px solid var(--line); }
.auth .form { background: var(--bg); }
.auth input { background: rgba(255,255,255,.04); border-color: var(--line-2); }
.sheet, .cmdk .box { background: var(--raise); border-color: var(--line-2); }
.scrim { background: rgba(0,0,0,.6); }
.skeleton { background: linear-gradient(90deg, var(--card), var(--raise), var(--card)); background-size: 200% 100%; border-color: var(--line); }
@media (max-width: 1180px) { .fac { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1000px) { .bento { grid-template-columns: 1fr; } }
@media (max-width: 960px) { .page { padding: 22px 16px 72px; gap: 28px; } .tn-in { padding: 0 16px; height: 60px; } .mnav { inset: 60px 0 0; } .idn .copy { padding: 32px 24px; } .idn { min-height: 400px; } .st-view { height: 72vh; } .st-act { margin-left: 0; } }
@media (max-width: 560px) { .fac { grid-template-columns: 1fr; } .idn h1 { font-size: 38px; } }

/* ---------- v8: institutional (Founder, 2 Oct 2026) - an internal panel in the manner of a bank's staff
   platform. Black masthead, charcoal working surface, a gold figures band, an ivory reference section.
   Flat, ruled, square-cornered; figures in tables; no charts, no motion. ---------- */
:root {
  --bg: #111214; --card: #17191c; --raise: #1d2024; --ink: #ecebe7; --ink-2: #c3c1bb; --muted: #8e8c86; --faint: #5f5e5a;
  --line: rgba(236,235,231,.10); --line-2: rgba(236,235,231,.20); --soft: rgba(236,235,231,.04); --hover: rgba(236,235,231,.05);
  --gold: #b8975a; --gold-2: #cdb07a; --gold-d: #8c7041; --gold-ink: #17130b; --ivory: #f2eee5; --ivory-ink: #1c1a16; --ivory-line: #d9d2c3;
  --inv: #b8975a; --inv-ink: #17130b; --ring: #cdb07a;
  --good: #5fb98a; --good-bg: rgba(95,185,138,.12); --good-ink: #8fd3ad;
  --warn: #d2a54a; --warn-bg: rgba(210,165,74,.12); --warn-ink: #e6c27a;
  --bad: #d9675f; --bad-bg: rgba(217,103,95,.13); --bad-ink: #eb9690;
  --sh: none; --sh-2: none; --r: 3px;
  --serif: "Source Serif 4", "Iowan Old Style", Georgia, serif;
}
/* motion returns in v9: the live network flows; nothing else moves */
body { background: var(--bg); font-size: 13.5px; letter-spacing: 0; }
.aurora, .idn::after { display: none !important; }
a, button { transition: background-color .12s, color .12s, border-color .12s; }
/* masthead: black, two rows */
.tn { position: sticky; top: 0; background: #08090a; backdrop-filter: none; -webkit-backdrop-filter: none; border-bottom: 1px solid var(--gold-d); }
.scrolled .tn { background: #08090a; border-bottom-color: var(--gold-d); }
.m1-in, .m2-in { max-width: 1440px; margin: 0 auto; padding: 0 32px; display: flex; align-items: center; gap: 24px; }
.m1-in { height: 58px; }
.m2 { border-top: 1px solid rgba(236,235,231,.07); background: #0d0e10; }
.m2-in { height: 44px; }
.logo { gap: 14px; } .logo .mark { width: 74px; color: #ecebe7; }
.org { display: grid; line-height: 1.15; padding-left: 14px; border-left: 1px solid rgba(236,235,231,.18); }
.org b { font: 600 13px/1.2 var(--f); letter-spacing: .08em; text-transform: uppercase; color: #ecebe7; }
.org small { font-size: 11.5px; color: var(--muted); }
.tn-r { margin-left: auto; gap: 14px; }
.clock { font: 400 12px/1 var(--fm); color: var(--muted); white-space: nowrap; }
.status, .sbtn { height: 30px; border-radius: 2px; background: transparent; border: 1px solid rgba(236,235,231,.16); box-shadow: none; color: var(--ink-2); font-size: 12px; }
.status i { animation: none; } .status.up i { background: var(--good); box-shadow: none; }
.sbtn kbd { border-radius: 2px; background: transparent; }
.avb { display: inline-flex; align-items: center; gap: 8px; color: var(--ink-2); font: 500 12.5px/1 var(--f); }
.avb .av { width: 28px; height: 28px; border-radius: 2px; box-shadow: none; }
.tn-links { background: none; border: 0; box-shadow: none; padding: 0; gap: 0; height: 100%; }
.ti { height: 44px; border-radius: 0; padding: 0 16px; color: var(--muted); font: 500 12.5px/1 var(--f); letter-spacing: .06em; text-transform: uppercase; border-bottom: 2px solid transparent; background: none !important; }
.ti:hover { color: var(--ink); }
.ti[aria-current="page"] { color: var(--ink); border-bottom-color: var(--gold); background: none; }
.pip { border-radius: 2px; background: var(--bad); font-size: 10px; height: 16px; min-width: 16px; }
.crumb { margin-left: auto; display: flex; gap: 8px; font-size: 12px; color: var(--faint); white-space: nowrap; overflow: hidden; } .crumb b { color: var(--ink-2); font-weight: 500; } .crumb .sep { opacity: .5; }
.panel { top: calc(100% + 1px); border-radius: 2px; background: var(--raise); border: 1px solid var(--line-2); box-shadow: 0 18px 40px rgba(0,0,0,.6); transform: none; transition: opacity .1s, visibility 0s .1s; }
.dd.open > .panel { transform: none; transition: opacity .1s; }
.panel:not(.right) { left: 0; translate: 0 0; }
.mi { border-radius: 2px; } .mi .mic { border-radius: 2px; background: transparent; border-color: var(--line); color: var(--gold-2); }
.mega { width: min(920px, 94vw); }
.cc { border-radius: 2px; background: var(--card); border-color: var(--line); } .cc .dot { border-radius: 1px; box-shadow: none; width: 8px; height: 8px; }
.cc .tag { border-radius: 2px; } .dl { border-radius: 2px; } .dl i { border-radius: 0; } .dl .pg { margin-left: auto; font: 500 11px/1 var(--fm); color: var(--gold-2); }
.menu-btn { border-radius: 2px; background: transparent; border-color: rgba(236,235,231,.16); }
.mnav { background: #0d0e10; }
/* page */
.page { max-width: 1440px; padding: 28px 32px 80px; gap: 24px; }
.trail { display: none; }
.foot { max-width: 1440px; padding: 18px 32px 28px; border-top: 1px solid var(--line); color: var(--faint); font-size: 11.5px; }
h1, .head h1, .dhead h1 { font-family: var(--serif); font-weight: 500; letter-spacing: -.01em; }
.head h1 { font-size: 30px; margin: 0 0 6px; } .head p { font-size: 13px; color: var(--muted); }
h2.sec { font: 600 11.5px/1 var(--f); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin: 12px 0 -12px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
h2.sec small { text-transform: none; letter-spacing: 0; font-size: 12px; color: var(--faint); }
.dhead { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.dhead h1 { margin: 0; font-size: 34px; line-height: 1.1; } .dhead p { margin: 6px 0 0; color: var(--muted); font-size: 13px; }
/* controls */
.btn { border-radius: 2px; height: 34px; padding: 0 16px; background: var(--gold); border-color: var(--gold); color: var(--gold-ink); font: 600 12px/1 var(--f); letter-spacing: .05em; text-transform: uppercase; box-shadow: none; }
.btn:hover { background: var(--gold-2); opacity: 1; }
.btn.o { background: transparent; color: var(--ink); border-color: var(--line-2); } .btn.o:hover { background: var(--hover); }
.btn.sm { height: 30px; font-size: 11px; }
.b { border-radius: 2px; height: 20px; font-size: 11px; background: transparent; border-color: var(--line-2); color: var(--ink-2); }
.b.bad { background: var(--bad-bg); color: var(--bad-ink); } .b.good { background: var(--good-bg); color: var(--good-ink); } .b.warn { background: var(--warn-bg); color: var(--warn-ink); }
.b.solid { background: var(--gold); color: var(--gold-ink); border-color: var(--gold); }
.tabs { border-radius: 0; background: none; border: 0; border-bottom: 1px solid var(--line); padding: 0; gap: 0; }
.tabs button { border-radius: 0; height: 38px; padding: 0 16px; font-size: 12px; letter-spacing: .05em; text-transform: uppercase; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.tabs button[aria-selected="true"] { background: none; box-shadow: none; color: var(--ink); border-bottom-color: var(--gold); }
.tabs .n { border-radius: 2px; }
/* surfaces: flat, ruled */
.card, .net, .studio, .now, .fc, .portal, .hero, .tile, .kpi, .pn, .empty { background: var(--card) !important; border: 1px solid var(--line); border-radius: var(--r); box-shadow: none !important; transform: none !important; }
a.card:hover, button.card:hover, .tile:hover, .fc:hover { border-color: var(--line-2); background: #1a1c20 !important; }
.card > .ch { padding: 14px 18px 12px; border-bottom: 1px solid var(--line); } .card > .ch h3 { font: 600 11.5px/1.3 var(--f); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); } .card > .ch p { font-size: 12px; }
.card > .cb { padding: 14px 18px 18px; } .card.flush > .cb { padding: 0; }
.kpi { padding: 16px 18px; gap: 6px; } .kpi .l { font: 600 11px/1.2 var(--f); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.kpi .l svg { display: none; } .kpi .v { font: 500 30px/1.1 var(--serif); letter-spacing: -.01em; } .kpi .sp { display: none; }
.tile { padding: 16px 18px; } .tile .ic, .fc .ic { border-radius: 2px; background: transparent !important; box-shadow: inset 0 0 0 1px var(--line-2) !important; color: var(--gold-2) !important; width: 34px; height: 34px; }
.tile .stats div { border-radius: 2px; background: rgba(236,235,231,.03); border: 1px solid var(--line); }
.av { border-radius: 2px; }
.g { gap: 16px; }
/* tables: the main instrument */
table { font-size: 13px; }
th { font: 600 10.5px/1.2 var(--f); letter-spacing: .09em; text-transform: uppercase; color: var(--muted); background: #141619; padding: 10px 14px; border-bottom: 1px solid var(--line-2); }
td { padding: 10px 14px; border-bottom: 1px solid var(--line); color: var(--ink-2); }
td b { color: var(--ink); font-weight: 600; }
tbody tr:hover td { background: rgba(184,151,90,.05); }
td.n, th.n { text-align: right; } .num { font-variant-numeric: tabular-nums; }
.ft td:first-child { color: var(--ink); }
.nowrap { white-space: nowrap; } .neg { color: var(--bad-ink) !important; } .pad { padding: 16px 18px; margin: 0; }
.rowlink { display: inline-flex; align-items: center; gap: 10px; } .rowlink:hover b { text-decoration: underline; text-underline-offset: 3px; }
.cdot { width: 8px; height: 8px; background: var(--c); display: inline-block; flex: none; }
/* panels */
.pn { display: flex; flex-direction: column; min-width: 0; }
.pn-h { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 13px 18px; border-bottom: 1px solid var(--line); background: #141619; }
.pn-h h3 { margin: 0; font: 600 11.5px/1.2 var(--f); letter-spacing: .1em; text-transform: uppercase; color: var(--ink); }
.pn-m { font: 400 11.5px/1 var(--fm); color: var(--faint); }
.pn-b { min-width: 0; }
.cols { display: grid; grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr); gap: 16px; align-items: start; }
.stackcol { display: grid; gap: 16px; }
.kvi { margin: 0; display: grid; } .kvi > div { display: flex; justify-content: space-between; gap: 12px; padding: 11px 18px; border-bottom: 1px solid var(--line); } .kvi > div:last-child { border-bottom: 0; }
.kvi dt { color: var(--muted); font-size: 12.5px; } .kvi dd { margin: 0; color: var(--ink); font-variant-numeric: tabular-nums; display: inline-flex; align-items: center; gap: 8px; text-transform: capitalize; }
.sd { width: 8px; height: 8px; background: var(--faint); display: inline-block; } .sd.up { background: var(--good); } .sd.late { background: var(--warn); } .sd.down { background: var(--bad); }
/* the gold band: the day's figures */
.band { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); background: var(--gold); color: var(--gold-ink); border-radius: var(--r); }
.band a { padding: 18px 22px 20px; display: grid; gap: 6px; border-left: 1px solid rgba(23,19,11,.22); }
.band a:first-child { border-left: 0; } .band a:hover { background: var(--gold-2); }
.band .bl { font: 600 10.5px/1.2 var(--f); letter-spacing: .1em; text-transform: uppercase; opacity: .75; }
.band .bv { font: 500 34px/1.05 var(--serif); letter-spacing: -.01em; } .band .bv .of { font: 500 14px/1 var(--f); opacity: .7; }
.band .bs { font-size: 12px; opacity: .72; }
/* ivory: the reference section */
.ivory { background: var(--ivory); color: var(--ivory-ink); border-radius: var(--r); padding: 28px 32px 32px; display: grid; gap: 22px; }
.iv-h h2 { margin: 0; font: 500 24px/1.2 var(--serif); } .iv-h p { margin: 6px 0 0; color: #6b665c; font-size: 13px; }
.facl { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
.facl > div { padding: 14px 0; border-top: 1px solid var(--ivory-line); }
.facl dt { display: flex; justify-content: space-between; gap: 12px; font-weight: 600; font-size: 13.5px; } .facl dt .num { font: 500 18px/1 var(--serif); color: #5a4a2c; } .facl dt small { font: 400 11.5px/1 var(--f); color: #8a8274; }
.facl dd { margin: 6px 0 0; color: #5c574d; font-size: 12.5px; line-height: 1.55; }
/* studios */
.studio { border-radius: var(--r); }
.st-bar { background: #141619 !important; padding: 12px 16px; }
.st-dot { border-radius: 0; box-shadow: none; width: 10px; height: 10px; }
.st-tabs { border-radius: 0; background: none; border: 0; padding: 0; gap: 0; }
.st-tabs button { border-radius: 0; height: 32px; text-transform: uppercase; letter-spacing: .05em; font-size: 11.5px; border-bottom: 2px solid transparent; }
.st-tabs button[aria-selected="true"] { background: none; color: var(--ink); border-bottom-color: var(--gold); }
.st-view.waiting { background: var(--card); } .st-empty .ring { border-radius: 0; box-shadow: none; border-color: var(--line-2); }
/* the entry hero: wholly the Founder Office */
.auth { grid-template-columns: minmax(0, 7fr) minmax(360px, 5fr); background: #08090a; }
.auth .art { background: #08090a !important; color: #ecebe7; border-right: 0; padding: 40px 56px 0; display: grid; grid-template-rows: auto 1fr auto; gap: 40px; }
.hz-top { display: flex; justify-content: space-between; align-items: center; } .hz-top .mark { width: 120px; color: #ecebe7; } .hz-loc { font: 500 11px/1 var(--f); letter-spacing: .14em; text-transform: uppercase; color: var(--gold-2); }
.hz-mid { align-self: center; display: grid; gap: 20px; max-width: 640px; padding-top: 4vh; }
.hz-k { font: 600 11px/1 var(--f); letter-spacing: .16em; text-transform: uppercase; color: var(--gold-2); }
.hz-mid h1 { margin: 0; font: 400 clamp(44px, 6vw, 84px)/1.0 var(--serif); letter-spacing: -.02em; color: #f4f1ea; }
.hz-mid p { margin: 0; color: #a9a69e; font-size: 16px; line-height: 1.6; max-width: 52ch; }
.hz-band { margin: 0 -56px; display: grid; grid-template-columns: repeat(3, 1fr); background: var(--gold); color: var(--gold-ink); }
.hz-band > div { padding: 22px 28px 26px 56px; display: grid; gap: 6px; border-left: 1px solid rgba(23,19,11,.22); } .hz-band > div:first-child { border-left: 0; } .hz-band > div + div { padding-left: 28px; }
.hz-band b { font: 500 22px/1.1 var(--serif); } .hz-band span { font-size: 12.5px; opacity: .78; line-height: 1.5; }
.auth .form { background: var(--ivory) !important; color: var(--ivory-ink); }
.auth form { gap: 16px; } .fk { font: 600 10.5px/1 var(--f); letter-spacing: .14em; text-transform: uppercase; color: var(--gold-d); }
.auth h2 { font: 500 30px/1.15 var(--serif); margin: 10px 0 0; color: var(--ivory-ink); } .auth .muted { color: #6b665c; }
.auth label { color: var(--ivory-ink); font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.auth input { border-radius: 2px; background: #fff !important; border: 1px solid var(--ivory-line) !important; color: var(--ivory-ink); box-shadow: none; height: 42px; }
.auth input:focus { outline: 2px solid var(--gold); }
.auth .btn { height: 42px; } .auth .btn.o { color: var(--ivory-ink); border-color: var(--ivory-line); }
/* responsive */
@media (max-width: 1200px) { .band { grid-template-columns: repeat(3, minmax(0, 1fr)); } .band a:nth-child(4) { border-left: 0; } .band a:nth-child(n+4) { border-top: 1px solid rgba(23,19,11,.22); } .clock { display: none; } }
@media (max-width: 1000px) { .cols { grid-template-columns: 1fr; } .facl { grid-template-columns: 1fr; } .crumb { display: none; } }
@media (max-width: 960px) { .m2 { display: none; } .m1-in { padding: 0 16px; } .page { padding: 20px 16px 64px; } .mnav { inset: 59px 0 0; } .org small { display: none; } .mename { display: none; }
  .auth { grid-template-columns: 1fr; } .auth .art { padding: 28px 22px 0; min-height: 78vh; } .hz-band { margin: 0 -22px; grid-template-columns: 1fr; } .hz-band > div, .hz-band > div + div { padding: 16px 22px; border-left: 0; border-top: 1px solid rgba(23,19,11,.22); } }
@media (max-width: 640px) { .band { grid-template-columns: 1fr 1fr; } .band a { border-left: 0 !important; border-top: 1px solid rgba(23,19,11,.22); } .dhead h1 { font-size: 28px; } .ivory { padding: 22px 18px; } }

.ft td.mono { white-space: nowrap; }
@media (max-width: 640px) { .status, .sbtn, .clock { display: none; } .org { padding-left: 10px; } .org b { font-size: 11.5px; } .logo .mark { width: 58px; } }

/* ---------- v9: graphite and gold (Founder, 2 Oct 2026) - the institutional form kept, the black lifted to a
   brighter graphite, no white or ivory surfaces; the charts, the live network and every section restored. ---------- */
:root {
  --bg: #1f2226; --card: #282b31; --raise: #30343a; --ink: #f3f1ec; --ink-2: #d3d0c9; --muted: #a29f98; --faint: #75726c;
  --line: rgba(243,241,236,.12); --line-2: rgba(243,241,236,.22); --soft: rgba(243,241,236,.05); --hover: rgba(243,241,236,.07);
  --gold: #c2a165; --gold-2: #d6b97f; --gold-d: #9a7d48; --gold-ink: #1c170e;
  --inv: #c2a165; --inv-ink: #1c170e;
  --c1: #5b9be8; --c2: #e57a45; --c3: #3cbf8c; --c4: #a197ee; --c5: #e57aa8; --c6: #ee7d7d; --c7: #d9a63a; --c8: #4fbf62;
  --co-holding: #e9e6df; --co-tech: #d6b07f; --co-inc: #c9cc6a; --co-cap: #4ccbdb; --co-own: #b39cfb;
}
body { background: var(--bg); }
.tn { background: #16181b; border-bottom-color: var(--gold-d); }
.scrolled .tn { background: #16181b; }
.m2 { background: #1b1d21; border-top-color: rgba(243,241,236,.08); }
.m3 { background: #22252a; border-top: 1px solid rgba(243,241,236,.08); }
.m3-in { max-width: 1440px; margin: 0 auto; padding: 0 32px; height: 40px; display: flex; align-items: center; }
.tn-cos { display: flex; align-items: center; height: 100%; gap: 0; overflow-x: auto; scrollbar-width: none; }
.tn-cos .ti { height: 40px; font-size: 11.5px; gap: 8px; }
.tn-cos .rl { font: 600 10px/1 var(--f); letter-spacing: .14em; text-transform: uppercase; color: var(--gold-d); padding: 0 10px 0 18px; border-left: 1px solid var(--line); }
.tn-cos .rl:first-child { padding-left: 0; border-left: 0; }
.tn-cos .cdot { width: 7px; height: 7px; }
.m2 .tn-links { overflow-x: auto; scrollbar-width: none; }
.m2 .ti { padding: 0 14px; }
th { background: #24272c; }
.pn-h, .st-bar { background: #24272c !important; }
.card, .net, .studio, .now, .fc, .portal, .hero, .tile, .kpi, .pn, .empty { background: var(--card) !important; }
a.card:hover, button.card:hover, .tile:hover, .fc:hover { background: #2d3137 !important; }
tbody tr:hover td { background: rgba(194,161,101,.07); }
/* charts and sparklines come back, in the panel's colours */
.kpi .sp { display: block; } .kpi .l svg { display: block; width: 16px; height: 16px; color: var(--gold-2); }
.chart text { fill: var(--muted); }
.legend { color: var(--muted); }
.tip { background: var(--raise); color: var(--ink); border: 1px solid var(--line-2); border-radius: 2px; box-shadow: 0 10px 24px rgba(0,0,0,.4); }
.hb .t { border-radius: 0; background: rgba(243,241,236,.06); }
/* the live network: the flow of the companies */
.net { border-radius: var(--r); }
.net .ln { stroke: rgba(243,241,236,.16); }
.net .legendbar { background: transparent; border: 1px solid var(--line); border-radius: 2px; }
/* the overview hero, graphite with a gold rule (no white) */
.bento { gap: 16px; }
.idn { border-radius: var(--r); background: linear-gradient(135deg, #2a2d33, #23262b 60%) !important; border-top: 2px solid var(--gold); min-height: 420px; }
.idn h1 { font: 400 clamp(38px, 4.6vw, 60px)/1.02 var(--serif); letter-spacing: -.015em; }
.idn p { color: var(--ink-2); }
.now { border-radius: var(--r); border-top: 2px solid var(--gold); }
.nw { border-radius: 2px; } .nw .nv { font: 500 30px/1 var(--serif); }
.fc { border-radius: var(--r); } .fc .fv { font: 500 30px/1 var(--serif); } .fc::before { display: none; }
.portal { border-radius: var(--r); }
.hero { border-radius: var(--r); border-top: 2px solid var(--gold); }
/* the reference section in graphite and gold, no ivory */
.ivory { background: var(--card); color: var(--ink); border: 1px solid var(--line); border-top: 2px solid var(--gold); }
.iv-h p { color: var(--muted); }
.facl > div { border-top-color: var(--line); }
.facl dt .num { color: var(--gold-2); } .facl dt small { color: var(--faint); } .facl dd { color: var(--muted); }
/* the entry: black and gold, the sign-in on graphite */
.auth .art { background: #16181b !important; }
.auth .form { background: #24272c !important; color: var(--ink); }
.auth h2, .auth label { color: var(--ink); } .auth .muted { color: var(--muted); } .fk { color: var(--gold-2); }
.auth input { background: #1c1e22 !important; border-color: var(--line-2) !important; color: var(--ink); }
.auth .btn.o { color: var(--ink); border-color: var(--line-2); }
@media (max-width: 960px) { .m3 { display: none; } }

.kpi .l svg { width: 16px !important; height: 16px !important; padding: 0 !important; background: none !important; border-radius: 0 !important; color: var(--gold-2) !important; }
.hero h1 { font-family: var(--serif); font-weight: 400; letter-spacing: -.015em; }
.tn-cos { overflow: visible; } .tn-cos .panel { left: 0; translate: 0 0; }

/* ---------- v10: sharp graphite, the BitLease golds, raised folder tabs (Founder, 2 Oct 2026; reviewers gemini-3.1-pro and gpt-5.1 consulted) ----------
   Golds from the BitLease logo set (FO49G-CTO/15 MECHANISMS/portfolio/logos-src): #c39a73 (the brand gold) and #ffd19f (its gold on dark grounds).
   Surface ladder widened so cards stand off the page; cooler, crisper text; a milled top edge on every surface. */
:root {
  --chrome: #0e1013; --bar1: #121418; --bar2: #1b1e23; --bg: #171a1e; --card: #21252b; --raise: #2a2f37; --over: #343a44;
  --ink: #f4f4f2; --ink-2: #c9ccd1; --muted: #9ba0a8; --faint: #6d727b;
  --line: rgba(255,255,255,.075); --line-2: rgba(255,255,255,.15); --edge: inset 0 1px 0 rgba(255,255,255,.07);
  --gold: #c39a73; --gold-2: #ffd19f; --gold-d: #a37d58; --gold-ink: #1d160e;
  --inv: #c39a73; --inv-ink: #1d160e; --ring: #ffd19f;
}
body { background: var(--bg); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
/* surfaces: lifted, milled edge, a soft cast */
.card, .net, .studio, .now, .fc, .portal, .hero, .tile, .kpi, .pn, .empty, .ivory, .idn { background: var(--card) !important; border: 1px solid var(--line) !important; box-shadow: var(--edge), 0 1px 0 rgba(0,0,0,.55), 0 8px 24px -16px rgba(0,0,0,.6) !important; }
.idn, .now, .hero, .ivory { border-top: 2px solid var(--gold) !important; }
.idn { background: linear-gradient(135deg, #262a31, #1f2328 70%) !important; }
a.card:hover, button.card:hover, .tile:hover, .fc:hover, .nw:hover { background: var(--raise) !important; border-color: var(--line-2) !important; }
th, .pn-h, .st-bar { background: #1d2126 !important; }
th { color: #c39a73; border-bottom-color: var(--line-2); }
td { color: var(--ink-2); border-bottom-color: var(--line); }
tbody tr:hover td { background: rgba(255,209,159,.045); }
h2.sec { color: var(--gold); border-bottom-color: var(--line); }
.pn-h h3, .card > .ch h3, .kpi .l { color: var(--ink); }
.kpi .l { color: var(--muted); }
.panel { background: var(--over); border-color: var(--line-2); box-shadow: var(--edge), 0 24px 48px -12px rgba(0,0,0,.7); }
.btn { background: var(--gold); border-color: var(--gold); color: var(--gold-ink); box-shadow: var(--edge); }
.btn:hover { background: #d1ab86; }
.btn.o { background: rgba(255,255,255,.03); color: var(--ink); border-color: var(--line-2); }
.b.solid { background: var(--gold); border-color: var(--gold); }
:focus-visible { outline-color: var(--gold-2); }
.band { background: linear-gradient(180deg, #caa37d, #c39a73) !important; color: var(--gold-ink); box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 8px 24px -16px rgba(0,0,0,.6); }
.band a:hover { background: rgba(255,255,255,.12); }
.facl dt .num, .nw .nv { color: var(--gold-2); }
/* ----- masthead: chrome, two tab rows and an optional division line ----- */
.tn { background: var(--chrome); border-bottom: 0; }
.scrolled .tn { background: var(--chrome); box-shadow: 0 10px 24px -14px rgba(0,0,0,.8); }
.m1 { background: var(--chrome); }
.logo .mark, .org b { color: var(--ink); }
/* row 1: folder tabs on a recessed bar; the active tab rises and joins row 2 */
.m2 { background: var(--bar1); border-top: 1px solid rgba(255,255,255,.05); }
.m2-in { height: 46px; align-items: flex-end; }
.m2 .tn-links { align-items: flex-end; gap: 2px; overflow: visible; }
.m2 .ti { height: 38px; padding: 0 16px; border: 1px solid transparent; border-bottom: 0; border-radius: 4px 4px 0 0; color: var(--muted); font-size: 12px; letter-spacing: .07em; position: relative; top: 1px; }
.m2 .ti:hover { color: var(--ink); background: rgba(255,255,255,.035) !important; }
.m2 .ti[aria-current="page"] { background: var(--bar2) !important; color: var(--ink); border-color: var(--line-2); box-shadow: inset 0 2px 0 var(--gold-2), 0 -6px 14px -8px rgba(0,0,0,.8); border-bottom: 0; }
.m2 .crumb { align-self: center; }
/* row 2: the context line - scope selector and that scope's tabs */
.m3 { background: var(--bar2); border-top: 1px solid var(--line-2); border-bottom: 1px solid var(--line); }
.m3-in { height: 46px; gap: 16px; }
.tn-cos { gap: 16px; width: 100%; }
.seg { display: inline-flex; padding: 3px; border-radius: 4px; background: var(--chrome); border: 1px solid var(--line); box-shadow: inset 0 1px 2px rgba(0,0,0,.6); flex: none; }
.seg button { height: 26px; padding: 0 12px; border: 0; border-radius: 3px; background: none; color: var(--muted); font: 600 10.5px/1 var(--f); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.seg button:hover { color: var(--ink); }
.seg button[aria-pressed="true"] { background: var(--gold); color: var(--gold-ink); box-shadow: var(--edge), 0 1px 2px rgba(0,0,0,.5); }
.t2s { display: flex; gap: 4px; align-items: center; overflow-x: auto; scrollbar-width: none; min-width: 0; }
.t2 { display: inline-flex; align-items: center; gap: 8px; height: 30px; padding: 0 12px; border-radius: 4px; border: 1px solid transparent; color: var(--ink-2); font: 500 12.5px/1 var(--f); white-space: nowrap; }
.t2:hover { background: rgba(255,255,255,.04); color: var(--ink); }
.t2[aria-current="page"] { background: var(--raise); color: var(--ink); border-color: var(--line-2); box-shadow: var(--edge), 0 2px 6px -2px rgba(0,0,0,.7); }
.t2 small { font: 500 10px/1 var(--fm); color: var(--faint); } .t2 .nd { font: 600 10px/1 var(--fm); color: var(--gold-ink); background: var(--gold); border-radius: 2px; padding: 2px 4px; }
.t2 .cdot, .m4 .cdot { width: 7px; height: 7px; display: inline-block; background: var(--c); }
/* row 3: a company's own line of divisions */
.m4 { background: var(--bg); border-bottom: 1px solid var(--line); }
.m4-in { max-width: 1440px; margin: 0 auto; padding: 0 32px; height: 40px; display: flex; align-items: stretch; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.m4-l { display: inline-flex; align-items: center; gap: 8px; padding-right: 16px; margin-right: 8px; border-right: 1px solid var(--line); font: 600 10.5px/1 var(--f); letter-spacing: .1em; text-transform: uppercase; color: var(--gold); white-space: nowrap; }
.t3 { display: inline-flex; align-items: center; gap: 8px; padding: 0 12px; color: var(--muted); font: 500 12.5px/1 var(--f); border-bottom: 2px solid transparent; white-space: nowrap; }
.t3:hover { color: var(--ink); }
.t3[aria-current="page"] { color: var(--ink); border-bottom-color: var(--gold-2); }
.t3 .late { font: 600 10px/1 var(--fm); color: #f0a49d; }
@media (max-width: 960px) { .m4 { display: block; } .m4-in { padding: 0 16px; } .m4-l { display: none; } }

/* ---------- v11: two-level navigation - sections above, their pages below, one always lit ---------- */
.m2 .ti { font-size: 12.5px; letter-spacing: .08em; padding: 0 20px; gap: 10px; }
.m2 .ti .cnt { font: 600 10px/1 var(--fm); color: var(--faint); border: 1px solid var(--line); border-radius: 2px; padding: 2px 5px; }
.m2 .ti[aria-current="page"] .cnt { color: var(--gold-2); border-color: rgba(255,209,159,.35); }
.m3-in { height: 56px; }
.m3-l { flex: none; font: 600 10.5px/1 var(--f); letter-spacing: .14em; text-transform: uppercase; color: var(--gold); padding-right: 18px; border-right: 1px solid var(--line); height: 26px; display: inline-flex; align-items: center; }
.t2s { gap: 6px; }
.t2 { height: 38px; padding: 0 16px; font-size: 13px; color: var(--muted); }
.t2:hover { color: var(--ink); background: rgba(255,255,255,.04); }
.t2[aria-current="page"] { color: var(--ink); background: var(--raise); border-color: var(--line-2); box-shadow: inset 0 2px 0 var(--gold-2), var(--edge), 0 3px 8px -3px rgba(0,0,0,.8); }
.t2 .pip { margin-left: 2px; }
/* ---------- v12: a lighter graphite with a triangle lattice and slow gold glints; the Station in full (Founder, 2 Oct 2026) ---------- */
:root { --bg: #1b1e23; --card: #24282f; --raise: #2d323a; --bar2: #1f2227; }
html { background: #1b1e23; }
body { background: transparent; position: relative; }
body::before, body::after { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: -1; }
/* the lattice: equilateral triangles, hairline, barely there */
body::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='104'%3E%3Cpath d='M0 0L60 104M60 0L0 104M0 0H60M0 52H60' stroke='%23ffffff' stroke-opacity='.035' stroke-width='1' fill='none'/%3E%3C/svg%3E"); background-size: 60px 104px; }
/* the glints: a few lattice triangles filled with the BitLease gold, breathing slowly */
body::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='364'%3E%3Cg fill='%23ffd19f'%3E%3Cpath d='M60 0H120L90 52Z' fill-opacity='.10'/%3E%3Cpath d='M270 156L240 208H300Z' fill-opacity='.07'/%3E%3Cpath d='M360 260H420L390 312Z' fill-opacity='.05'/%3E%3Cpath d='M150 312L120 364H180Z' fill-opacity='.08'/%3E%3C/g%3E%3C/svg%3E"); background-size: 420px 364px; animation: glint 14s ease-in-out infinite; opacity: .25; }
@keyframes glint { 0%, 100% { opacity: .15; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { body::after { animation: none; opacity: .5; } }
/* cards sit a touch above the lattice */
.card, .net, .studio, .now, .fc, .portal, .hero, .tile, .kpi, .pn, .empty, .ivory, .idn { background: rgba(36,40,47,.96) !important; }
.band { position: relative; overflow: hidden; }
.band::after { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='104'%3E%3Cpath d='M0 0L60 104M60 0L0 104M0 0H60M0 52H60' stroke='%231d160e' stroke-opacity='.07' fill='none'/%3E%3C/svg%3E"); background-size: 60px 104px; }
/* charts */
.chart svg text { font-family: var(--f); }
.chart-wait { display: grid; place-items: center; gap: 10px; min-height: 170px; color: var(--muted); font-size: 12.5px; text-align: center; padding: 20px; }
.chart-wait span { width: 34px; height: 34px; border: 1px dashed var(--line-2); transform: rotate(45deg); }
.pn-b > .legend, .pn-b > .chart { margin: 0 18px; } .pn-b > .legend { padding-top: 14px; } .pn-b > .chart { padding: 10px 0 14px; }
.pad .legend { margin-bottom: 12px; }
.hb .t { height: 10px; border-radius: 1px; } .hb .t i:first-child { border-radius: 1px 0 0 1px; }
/* the Station hero: clock, gauges, network */
.sthero { display: grid; grid-template-columns: minmax(260px, 1.1fr) minmax(0, 1.6fr) minmax(240px, 1fr); border: 1px solid var(--line); border-top: 2px solid var(--gold); background: linear-gradient(135deg, rgba(45,50,58,.96), rgba(31,34,39,.96)); box-shadow: var(--edge), 0 1px 0 rgba(0,0,0,.55); border-radius: var(--r); }
.sthero > div { padding: 24px 26px; display: grid; gap: 8px; align-content: center; }
.sthero > div + div { border-left: 1px solid var(--line); }
.sthero .lbl { font: 600 10.5px/1 var(--f); letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
.clock-big { font: 400 54px/1 var(--serif); letter-spacing: -.01em; color: var(--ink); }
.clock-date { color: var(--muted); font-size: 13px; }
.upline { display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; margin-top: 8px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 12px; color: var(--muted); }
.upline b { font: 600 15px/1 var(--fm); color: var(--gold-2); }
.gauges { grid-template-columns: repeat(3, 1fr); align-items: start; justify-items: center; text-align: center; }
.gauge { display: grid; justify-items: center; gap: 4px; } .gauge svg { width: 118px; height: 118px; }
.gauge b { font: 600 11px/1 var(--f); letter-spacing: .1em; text-transform: uppercase; color: var(--ink); margin-top: 2px; } .gauge small { color: var(--muted); font-size: 11.5px; }
.nrow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 6px 0 4px; }
.nrow div { display: grid; gap: 4px; } .nrow span { font-size: 11.5px; color: var(--muted); } .nrow b { font: 400 30px/1 var(--serif); color: var(--ink); } .nrow small { color: var(--faint); font-size: 11px; }
@media (max-width: 1100px) { .sthero { grid-template-columns: 1fr; } .sthero > div + div { border-left: 0; border-top: 1px solid var(--line); } }
@media (max-width: 560px) { .gauge svg { width: 90px; height: 90px; } .clock-big { font-size: 42px; } }

/* ---------- v13: the team activity monitor ---------- */
.heat { display: grid; gap: 3px; padding: 16px 18px 18px; overflow-x: auto; }
.hrow { display: grid; grid-template-columns: minmax(170px, 210px) repeat(var(--cols), minmax(22px, 1fr)) 64px; gap: 3px; align-items: center; min-width: calc(210px + var(--cols) * 25px + 64px); }
.hhead i { font: 500 10px/1 var(--fm); color: var(--faint); text-align: center; font-style: normal; white-space: nowrap; overflow: hidden; }
.hhead b, .hrow > b { font: 600 10.5px/1 var(--fm); color: var(--muted); text-align: right; padding-right: 2px; }
.hrow > b { color: var(--gold-2); font-size: 11.5px; }
.hn { display: inline-flex; align-items: center; gap: 9px; font-size: 12.5px; color: var(--ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hn:hover { color: var(--ink); }
.hn .av { width: 22px; height: 22px; font-size: 9px; }
.hc { height: 24px; border-radius: 2px; background: rgba(255,255,255,.035); position: relative; display: grid; place-items: center; font: 600 10px/1 var(--fm); color: var(--gold-ink); }
.hc::before { content: ""; position: absolute; inset: 0; border-radius: 2px; background: #ffd19f; opacity: var(--a); }
.hc { isolation: isolate; } .hc::before { z-index: -1; }
.hc:hover { outline: 1px solid var(--gold-2); }
.spk { display: inline-block; width: 74px; height: 22px; vertical-align: middle; margin-left: 10px; } .spk svg { width: 74px; height: 22px; display: block; }
.act td { padding: 9px 12px; } .act th { padding: 10px 12px; }
.act .who small { display: block; color: var(--faint); font-size: 11px; max-width: 240px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.act tbody tr:hover td { background: rgba(255,209,159,.06); }
.g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1100px) { .g3 { grid-template-columns: 1fr; } }
.kvi dd { text-transform: none; }

/* ---------- v14 (2 Oct 2026, the Founder): the logo's warm colours, the group's own marks, framed icons,
   a lattice with a pulse that answers the pointer, shine borders. Patterns adapted from 21st.dev
   (Grid Pulse, Animated Grid, Shine Border Stats Card, Gradient Area with Stripe Overlay) - written here, no code copied. ---------- */
@property --ang { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@property --pr { syntax: "<length>"; inherits: false; initial-value: 0px; }
:root {
  --peach: #ffd19f; --orange: #e8894a; --cream: #f2e3c9; --gold: #c39a73; --terra: #b5643c; --amber: #e0a96d; --bronze: #8c6a4a; --sage: #9fb8a8;
  --c1: #ffd19f; --c2: #e8894a; --c3: #f2e3c9; --c4: #c39a73; --c5: #b5643c; --c6: #e0a96d; --c7: #d9b38c; --c8: #9fb8a8;
  --co-holding: #f2e3c9; --co-tech: #ffd19f; --co-inc: #e8894a; --co-cap: #c39a73; --co-own: #b5643c;
  --good: #8fc79a; --warn: #e8a94a; --bad: #e0705f;
}
/* the group's marks */
.mk { width: var(--s); height: var(--s); display: inline-block; flex: none; vertical-align: middle; }
.mk-h { width: calc(var(--s) * 1.6); height: auto; color: var(--cream); } .mk-h svg { width: 100%; height: auto; display: block; }
.t2m { display: inline-flex; align-items: center; justify-content: center; filter: drop-shadow(0 0 6px color-mix(in srgb, currentColor 35%, transparent)); }
.t2[aria-current="page"] .t2m { filter: drop-shadow(0 0 8px color-mix(in srgb, currentColor 60%, transparent)); }
.cohead { display: flex; align-items: center; gap: 22px; justify-content: flex-start; }
.cohead .cmark { width: 84px; height: 84px; display: grid; place-items: center; border: 1px solid color-mix(in srgb, var(--c) 40%, transparent); background: radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--c) 18%, transparent), transparent 70%); color: var(--c); border-radius: 6px; flex: none; box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 0 30px -8px color-mix(in srgb, var(--c) 50%, transparent); }
.cohead .cmark .mk-h { width: 64px; }
.cohead > div { flex: 1; }
/* icons: framed tiles, peach stroke on a warm wash */
.mi .mic, .tile .ic, .fc .ic { border-radius: 6px !important; background: linear-gradient(160deg, rgba(255,209,159,.16), rgba(255,209,159,.03)) !important; box-shadow: inset 0 0 0 1px rgba(255,209,159,.28), inset 0 1px 0 rgba(255,255,255,.08) !important; color: var(--peach) !important; }
.kpi .l svg { width: 28px !important; height: 28px !important; padding: 6px !important; border-radius: 6px !important; background: linear-gradient(160deg, rgba(255,209,159,.16), rgba(255,209,159,.03)) !important; box-shadow: inset 0 0 0 1px rgba(255,209,159,.26) !important; color: var(--peach) !important; }
svg.i { stroke-width: 1.6; }
/* panel headers: a peach diamond marks each instrument */
.pn-h h3 { display: inline-flex; align-items: center; gap: 10px; }
.pn-h h3::before { content: ""; width: 7px; height: 7px; transform: rotate(45deg); background: linear-gradient(135deg, var(--peach), var(--orange)); box-shadow: 0 0 8px rgba(255,209,159,.5); flex: none; }
/* the lattice: stronger, and alive */
body::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='104'%3E%3Cpath d='M0 0L60 104M60 0L0 104M0 0H60M0 52H60' stroke='%23ffffff' stroke-opacity='.075' stroke-width='1' fill='none'/%3E%3C/svg%3E"); }
body::after { animation: none; opacity: 1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='104'%3E%3Cpath d='M0 0L60 104M60 0L0 104M0 0H60M0 52H60' stroke='%23ffd19f' stroke-opacity='.55' stroke-width='1.2' fill='none'/%3E%3C/svg%3E");
  background-size: 60px 104px;
  -webkit-mask-image: radial-gradient(220px circle at var(--mx, -999px) var(--my, -999px), #000, transparent 70%), radial-gradient(circle at 50% 35%, transparent calc(var(--pr) - 90px), rgba(0,0,0,.55) var(--pr), transparent calc(var(--pr) + 90px));
  mask-image: radial-gradient(220px circle at var(--mx, -999px) var(--my, -999px), #000, transparent 70%), radial-gradient(circle at 50% 35%, transparent calc(var(--pr) - 90px), rgba(0,0,0,.55) var(--pr), transparent calc(var(--pr) + 90px));
  animation: pulse 9s cubic-bezier(.3,.1,.3,1) infinite; }
@keyframes pulse { 0% { --pr: 0px; } 70%, 100% { --pr: 1600px; } }
@media (prefers-reduced-motion: reduce) { body::after { animation: none; } }
/* shine border on the key instruments */
.band, .sthero, .idn, .now { position: relative; }
.band::before, .sthero::before, .idn::before, .now::before { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; pointer-events: none; z-index: 3;
  background: conic-gradient(from var(--ang), transparent 0 62%, rgba(255,209,159,.0) 66%, #fff4e0 74%, rgba(232,137,74,.9) 78%, transparent 86%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: shine 7s linear infinite; }
@keyframes shine { to { --ang: 360deg; } }
/* the band: the logo's own gradient, peach to gold */
.band { background: linear-gradient(115deg, #ffd8ab 0%, #e9b98a 38%, #c39a73 100%) !important; }
.band .bv { text-shadow: 0 1px 0 rgba(255,255,255,.35); }
/* charts: warm palette and a hairline stripe in the fills */
.chart path[fill^="url(#a"] { opacity: 1; }
.tip { border-color: rgba(255,209,159,.35); }
.tip b { color: var(--peach); }
/* cards: a faint warm light at the top edge */
.pn, .card { background-image: linear-gradient(180deg, rgba(255,209,159,.035), transparent 80px) !important; }
/* status dots */
.sd.up, .status.up i { background: var(--good); box-shadow: 0 0 0 3px rgba(143,199,154,.18); }

/* ---------- v15: the dispatch console ---------- */
.dbtn { height: 30px; }
.dcomp .pn-b { padding: 18px; }
#dtext { width: 100%; min-height: 170px; resize: vertical; background: #16181c; color: var(--ink); border: 1px solid var(--line-2); border-radius: 4px; padding: 14px 16px; font: 400 15px/1.6 var(--f); box-shadow: inset 0 1px 3px rgba(0,0,0,.5); }
#dtext:focus { outline: none; border-color: rgba(255,209,159,.6); box-shadow: inset 0 1px 3px rgba(0,0,0,.5), 0 0 0 3px rgba(255,209,159,.12); }
#dtext:dir(rtl), #dtext { unicode-bidi: plaintext; }
.drow { display: flex; gap: 12px; align-items: center; margin-top: 12px; flex-wrap: wrap; }
.drow select { height: 34px; background: #16181c; color: var(--ink-2); border: 1px solid var(--line-2); border-radius: 3px; padding: 0 10px; font: 500 12.5px/1 var(--f); }
.drow .btn { margin-left: auto; }
.dnote { font-size: 12px; margin: 12px 0 0; }
.dlist { display: grid; }
.dmsg { padding: 16px 18px; border-bottom: 1px solid var(--line); display: grid; gap: 10px; }
.dmsg:last-child { border-bottom: 0; }
.dmsg.urg { box-shadow: inset 1px 0 0 var(--bad); }
.dmsg header { display: flex; gap: 8px; align-items: center; font-size: 12px; }
.did { color: var(--peach); font-size: 12px; }
.dtext { margin: 0; color: var(--ink); font-size: 14px; line-height: 1.6; unicode-bidi: plaintext; }
.dsteps { list-style: none; margin: 0; padding: 0; display: flex; gap: 0; }
.dsteps li { flex: 1; display: flex; align-items: center; gap: 8px; font-size: 11.5px; color: var(--faint); position: relative; padding-right: 10px; }
.dsteps li::after { content: ""; flex: 1; height: 1px; background: var(--line-2); }
.dsteps li:last-child::after { display: none; }
.dsteps i { width: 10px; height: 10px; border-radius: 50%; border: 1px solid var(--line-2); flex: none; }
.dsteps li.ok { color: var(--ink-2); } .dsteps li.ok i { background: var(--peach); border-color: var(--peach); box-shadow: 0 0 8px rgba(255,209,159,.5); } .dsteps li.ok::after { background: rgba(255,209,159,.5); }
.dsteps li.now { color: var(--peach); } .dsteps li.now i { border-color: var(--peach); animation: dpulse 1.6s ease-in-out infinite; }
@keyframes dpulse { 50% { box-shadow: 0 0 0 5px rgba(255,209,159,.15); } }
.dtrail summary { cursor: pointer; color: var(--muted); font-size: 12.5px; list-style: none; } .dtrail summary::-webkit-details-marker { display: none; }
.dtrail summary::before { content: "▸ "; color: var(--peach); } .dtrail[open] summary::before { content: "▾ "; }
.dtrail div { display: grid; grid-template-columns: 110px 1fr; gap: 10px; font-size: 12px; color: var(--muted); padding: 6px 0 0 14px; }
@media (max-width: 960px) { .dbtn { padding: 0 10px; } .drow .btn { margin-left: 0; width: 100%; justify-content: center; } }

/* v16 dispatch for all */
.didc { margin-top: 18px; background: linear-gradient(120deg, rgba(195,154,115,.14), rgba(255,209,159,.04) 60%, transparent), var(--card); }
.didb { display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; padding: 18px 20px; }
.dav { width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; font: 600 18px/1 var(--fm); color: #1b1e23; background: linear-gradient(135deg, var(--peach), var(--gold)); box-shadow: 0 0 0 3px rgba(255,209,159,.18); }
.dwho h2 { margin: 2px 0 4px; font-family: var(--serif); font-weight: 500; font-size: 24px; }
.dwho p { margin: 0; display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; color: var(--muted); font-size: 13px; }
.dwho p b { color: var(--peach); font-weight: 600; }
.dwho p span + span::before, .dwho p b + span::before { content: "\00b7"; margin-right: 12px; opacity: .5; }
.dto { text-align: right; border-left: 1px solid var(--line); padding-left: 18px; display: grid; gap: 3px; }
.dto b { color: var(--cream); font-size: 15px; } .dto small { color: var(--muted); font-size: 12px; }
.dfrom { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; color: var(--cream); }
.dfrom i, .rwho i { font-style: normal; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font: 600 10px/1 var(--fm); color: #1b1e23; background: var(--gold); }
.dfrom small { color: var(--muted); font-size: 11px; }
.rtab { display: grid; }
.rrow { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 10px 16px; border-top: 1px solid var(--line); }
.rrow:first-child { border-top: 0; }
.rwho { display: flex; align-items: center; gap: 10px; min-width: 0; } .rwho > span { display: grid; min-width: 0; }
.rwho b { font-weight: 600; font-size: 14px; } .rwho small { color: var(--muted); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rrow select { height: 34px; min-width: 230px; max-width: 320px; background: #16181c; color: var(--ink-2); border: 1px solid var(--line-2); border-radius: 3px; padding: 0 10px; font: 500 12.5px/1 var(--f); }
.rrow select.set { border-color: var(--gold); color: var(--peach); }
.rrow:hover { background: rgba(255,209,159,.03); }
@media (max-width: 720px) { .didb { grid-template-columns: auto 1fr; } .dto { grid-column: 1 / -1; text-align: left; border-left: 0; padding-left: 0; border-top: 1px solid var(--line); padding-top: 12px; } .rrow { flex-direction: column; align-items: stretch; } .rrow select { max-width: none; } }

/* v18 the entry landing - the logo's golds on graphite */
@property --ang { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
.ent { position: relative; min-height: 100vh; min-height: 100dvh; display: grid; grid-template-rows: auto 1fr auto; overflow: hidden; color: var(--cream);
  background: radial-gradient(120% 80% at 75% 10%, #262a31 0%, #1b1e23 55%, #15171b 100%); }
#entfx { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none;
  -webkit-mask-image: radial-gradient(90% 85% at 50% 45%, #000 40%, transparent 100%); mask-image: radial-gradient(90% 85% at 50% 45%, #000 40%, transparent 100%); }
.ent-glow { position: absolute; left: 50%; bottom: -46vh; width: 140vw; height: 70vh; transform: translateX(-50%); pointer-events: none; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(255,209,159,.42), rgba(195,154,115,.2) 45%, transparent 75%); filter: blur(10px); }
.ent-glow::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border-top: 1.5px solid rgba(255,209,159,.85); filter: blur(.5px); box-shadow: 0 -8px 40px -6px rgba(255,209,159,.35); }
.ent > header, .ent > main, .ent > footer { position: relative; z-index: 1; min-width: 0; }
.ent { width: 100%; max-width: 100vw; }
.ent-top { display: flex; align-items: center; gap: 16px; padding: 24px clamp(16px, 5vw, 64px); }
.ent-logo { width: 92px; color: var(--peach); filter: drop-shadow(0 0 14px rgba(255,209,159,.18)); }
.ent-org { display: grid; gap: 2px; padding-left: 16px; border-left: 1px solid rgba(195,154,115,.35); }
.ent-org b { font: 600 13px/1 var(--f); letter-spacing: .14em; text-transform: uppercase; color: var(--cream); }
.ent-org small { font-size: 12px; color: rgba(242,227,201,.6); }
.ent-r { margin-left: auto; display: flex; align-items: center; gap: 14px; }
.ent-st { display: inline-flex; align-items: center; gap: 8px; height: 30px; padding: 0 12px; border: 1px solid rgba(195,154,115,.35); border-radius: 999px; font-size: 12.5px; color: var(--cream); background: rgba(27,30,35,.6); backdrop-filter: blur(6px); }
.ent-st i { width: 7px; height: 7px; border-radius: 50%; background: #8a8f98; }
.ent-st[data-state="up"] i { background: #7fcf9a; box-shadow: 0 0 0 3px rgba(127,207,154,.18); }
.ent-st[data-state="late"] i { background: var(--orange); } .ent-st[data-state="down"] i { background: #e06a5a; }
.ent-st .mono { color: rgba(242,227,201,.55); font-size: 11px; }
.ent-clock { color: rgba(242,227,201,.6); font-size: 12px; }
.ent-main { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, 440px); gap: clamp(28px, 6vw, 96px); align-items: center; padding: 24px clamp(16px, 5vw, 64px) 48px; max-width: 1360px; width: 100%; margin: 0 auto; }
.ent-k { font: 600 11.5px/1 var(--f); letter-spacing: .2em; text-transform: uppercase; color: var(--gold); }
.ent-copy h1 { margin: 18px 0 18px; font: 500 clamp(46px, 7vw, 92px)/.98 var(--serif); letter-spacing: -.02em; color: var(--cream); }
.ent-copy h1 em { font-style: italic; display: inline-block; padding: 0 .16em .06em .02em; margin: 0 -.16em -.06em -.02em; background: linear-gradient(100deg, #ffd19f 0%, #c39a73 45%, #ffd19f 70%, #c39a73 100%); background-size: 220% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent; animation: entsheen 7s ease-in-out infinite alternate; }
@keyframes entsheen { to { background-position: 100% 0; } }
.ent-copy > p { max-width: 560px; margin: 0; font-size: 16.5px; line-height: 1.65; color: rgba(242,227,201,.72); }
.ent-pills { list-style: none; padding: 0; margin: 36px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; max-width: 720px; }
.ent-pills li { display: grid; gap: 6px; padding: 16px 16px 18px; border: 1px solid rgba(195,154,115,.22); border-radius: 6px; background: linear-gradient(180deg, rgba(36,40,47,.78), rgba(27,30,35,.6)); backdrop-filter: blur(4px); transition: border-color .25s, transform .25s; }
.ent-pills li:hover { border-color: rgba(255,209,159,.55); transform: translateY(-2px); }
.ent-pills .mono { color: var(--gold); font-size: 11px; } .ent-pills b { font: 500 19px/1.1 var(--serif); color: var(--cream); } .ent-pills small { font-size: 12.5px; line-height: 1.5; color: rgba(242,227,201,.6); }
.ent-card { position: relative; border-radius: 10px; padding: 1px; isolation: isolate;
  background: conic-gradient(from var(--ang), rgba(195,154,115,.25), #ffd19f 12%, rgba(195,154,115,.25) 26%, rgba(195,154,115,.25) 62%, #c39a73 76%, rgba(195,154,115,.25) 90%); animation: entspin 9s linear infinite;
  box-shadow: 0 30px 80px -30px rgba(0,0,0,.7), 0 0 60px -20px rgba(255,209,159,.25); }
@keyframes entspin { to { --ang: 360deg; } }
.ent-in { border-radius: 9px; padding: 30px 28px 22px; background: linear-gradient(180deg, rgba(38,42,49,.96), rgba(27,30,35,.97)); }
.ent-in form { display: grid; gap: 18px; }
.ent-in .fk { font: 600 11px/1 var(--f); letter-spacing: .18em; text-transform: uppercase; color: var(--gold); }
.ent-in h2 { margin: 8px 0 0; font: 500 28px/1.15 var(--serif); color: var(--cream); }
.ent-in label { display: grid; gap: 8px; font: 600 11.5px/1 var(--f); letter-spacing: .08em; text-transform: uppercase; color: rgba(242,227,201,.75); }
.ent-in input { height: 46px; padding: 0 14px; border-radius: 4px; border: 1px solid rgba(195,154,115,.32); background: #15171b; color: var(--cream); font: 400 15px/1 var(--f); letter-spacing: 0; text-transform: none; transition: border-color .2s, box-shadow .2s; }
.ent-in input:focus { outline: none; border-color: var(--peach); box-shadow: 0 0 0 3px rgba(255,209,159,.16); }
.ent-in .btn { height: 46px; justify-content: center; border: 0; border-radius: 4px; color: #1b1e23; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; font-size: 12.5px;
  background: linear-gradient(100deg, #ffd19f, #c39a73 60%, #ffd19f); background-size: 200% 100%; transition: background-position .5s, box-shadow .25s; }
.ent-in .btn:hover { background-position: 100% 0; box-shadow: 0 8px 26px -10px rgba(255,209,159,.6); }
.ent-in .btn.o { background: transparent; color: var(--cream); border: 1px solid rgba(195,154,115,.4); }
.ent-fine { margin: 18px 0 0; padding-top: 14px; border-top: 1px solid rgba(195,154,115,.18); font-size: 12px; color: rgba(242,227,201,.5); }
.ent-foot { display: flex; flex-wrap: wrap; gap: 8px 28px; align-items: center; padding: 18px clamp(16px, 5vw, 64px) 22px; border-top: 1px solid rgba(195,154,115,.16); font: 600 11px/1 var(--f); letter-spacing: .18em; text-transform: uppercase; color: rgba(242,227,201,.45); }
.ent-foot .ent-fr { margin-left: auto; letter-spacing: .04em; text-transform: none; }
@media (max-width: 900px) { .ent-main { grid-template-columns: 1fr; padding-top: 8px; } .ent-pills { display: none; } .ent-clock { display: none; } .ent-st { white-space: nowrap; } }
@media (max-width: 520px) { .ent-org small { display: none; } .ent-logo { width: 70px; } .ent-copy h1 { font-size: 46px; } .ent-foot span:not(.ent-fr) { display: none; } .ent-foot .ent-fr { margin: 0; } }
@media (prefers-reduced-motion: reduce) { .ent-card, .ent-copy h1 em { animation: none; } }

/* v19 real faces, the glints, the visitor */
.av.ph, .dav, .dfrom i, .rwho i { overflow: hidden; }
.av.ph { background: #15171b !important; box-shadow: 0 0 0 1.5px rgba(195,154,115,.55); }
.av img, .dav img, .dfrom i img, .rwho i img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: inherit; }
.dav:has(img) { box-shadow: 0 0 0 2px var(--gold), 0 0 0 6px rgba(255,209,159,.14); }
#glints { position: fixed; inset: 0; width: 100vw; height: 100vh; pointer-events: none; z-index: -1; overflow: visible; }
body:has(.ent) #glints { z-index: 0; }
.glint { fill: rgba(255,209,159,0); stroke: #ffd19f; stroke-width: 1.4; stroke-linejoin: round; stroke-dasharray: 220; stroke-dashoffset: 220;
  filter: drop-shadow(0 0 6px rgba(255,209,159,.85)) drop-shadow(0 0 18px rgba(195,154,115,.55)); animation: glint 6s ease-in-out forwards; }
@keyframes glint { 0% { stroke-dashoffset: 220; opacity: 0; } 12% { opacity: 1; } 30% { stroke-dashoffset: 0; fill: rgba(255,209,159,.10); } 70% { stroke-dashoffset: 0; opacity: 1; fill: rgba(255,209,159,.06); } 100% { stroke-dashoffset: 0; opacity: 0; fill: rgba(255,209,159,0); } }
.ent-in.vis { display: grid; gap: 16px; }
.vis-id { display: flex; align-items: center; gap: 14px; } .vis-id h2 { margin: 0; font-size: 20px; word-break: break-all; } .vis-id p { margin: 4px 0 0; color: rgba(242,227,201,.6); font-size: 13px; } .vis-id p b { color: var(--peach); }
.vis-note { display: grid; gap: 6px; padding: 14px 16px; border-left: 2px solid var(--gold); background: rgba(195,154,115,.08); border-radius: 0 4px 4px 0; font-size: 13.5px; line-height: 1.55; color: rgba(242,227,201,.8); }
.vis-note b { font: 600 11px/1 var(--f); letter-spacing: .16em; text-transform: uppercase; color: var(--gold); }

/* v20 two ways in */
.ent-mode { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; margin-bottom: 22px; border: 1px solid rgba(195,154,115,.25); border-radius: 6px; background: #15171b; }
.ent-mode button { height: 34px; border: 0; border-radius: 4px; background: transparent; color: rgba(242,227,201,.6); font: 600 12px/1 var(--f); letter-spacing: .06em; cursor: pointer; transition: background .2s, color .2s; }
.ent-mode button[aria-selected="true"] { background: linear-gradient(100deg, rgba(255,209,159,.22), rgba(195,154,115,.16)); color: var(--peach); box-shadow: inset 0 0 0 1px rgba(255,209,159,.35); }
.ent-in form[hidden] { display: none; }
.ent-err { margin: 0; min-height: 1em; color: #f0a08f !important; font-size: 13px; }

/* v25 the CTO's live feed */
.fstate { display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--line-2); font-size: 12.5px; color: var(--ink-2); }
.fstate i, .fpill i { width: 7px; height: 7px; border-radius: 50%; background: #8a8f98; }
.fstate.live i, .fpill.live i { background: #7fcf9a; box-shadow: 0 0 0 3px rgba(127,207,154,.18); animation: fbeat 2s ease-in-out infinite; }
.fstate.wait i, .fpill.wait i { background: var(--orange); } .fstate.off i, .fpill.off i { background: #e06a5a; }
@keyframes fbeat { 50% { box-shadow: 0 0 0 6px rgba(127,207,154,0); } }
.fpills { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 4px; }
.fpill { display: inline-flex; align-items: center; gap: 7px; height: 28px; padding: 0 11px; border: 1px solid var(--line); border-radius: 999px; font-size: 12px; background: rgba(36,40,47,.7); }
.fnone { margin-top: 16px; border-left: 2px solid var(--gold); } .fnone b { font-family: var(--serif); font-size: 18px; font-weight: 500; } .fnone p { margin: 6px 0 0; }
.fev { display: grid; } .fe { display: grid; grid-template-columns: 92px 1fr auto; gap: 14px; align-items: center; padding: 11px 18px; border-top: 1px solid var(--line); color: inherit; text-decoration: none; }
.fe:first-child { border-top: 0; } a.fe:hover { background: rgba(255,209,159,.04); }
.fe .fk { font: 600 10.5px/1 var(--f); letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
.fe .fk.merge { color: #7fcf9a; } .fe .fk.deploy { color: var(--peach); } .fe .fk.audit { color: var(--orange); }
.fe .ft { display: grid; gap: 2px; min-width: 0; } .fe .ft small { color: var(--muted); font-size: 12px; } .fe .fw { color: var(--faint); font-size: 11.5px; }
.flinks { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
.kpi .s b.up { color: #7fcf9a; } .kpi .s b.dn { color: #e06a5a; }
@media (max-width: 640px) { .fe { grid-template-columns: 1fr; gap: 4px; } }

/* ---------- 49G CONSOLE, phase 1 (3 Oct 2026): alarms, decision desk, inbox ---------- */
.dbtn.al { position: relative; }
.dbtn.al .pip { margin-left: 6px; }
.dbtn.al.hot { border-color: var(--bad); color: var(--bad-ink); box-shadow: 0 0 0 3px var(--bad-bg); }
.dbtn.al.hot .i { animation: alring 1.6s ease-in-out infinite; }
@keyframes alring { 0%, 100% { transform: rotate(0); } 10% { transform: rotate(14deg); } 20% { transform: rotate(-12deg); } 30% { transform: rotate(6deg); } 40% { transform: rotate(0); } }
@media (prefers-reduced-motion: reduce) { .dbtn.al.hot .i { animation: none; } }
@media (max-width: 720px) { .dbtn.al span:not(.pip) { display: none; } }

.alist { display: grid; gap: 10px; }
.alr { display: grid; grid-template-columns: 118px minmax(0, 1fr) auto; gap: 14px; align-items: start; padding: 14px 16px; border: 1px solid var(--line); border-left: 3px solid var(--line-2); border-radius: 8px; background: var(--soft); }
.alr.lv-P0 { border-left-color: var(--bad); background: linear-gradient(90deg, var(--bad-bg), transparent 60%); }
.alr.lv-P1 { border-left-color: var(--warn); background: linear-gradient(90deg, var(--warn-bg), transparent 60%); }
.alr.lv-P2 { border-left-color: var(--gold, var(--c1)); }
.alr.acked { opacity: .62; }
.alr .alv { justify-self: start; white-space: nowrap; }
.alr .alb b { display: block; color: var(--ink); font-weight: 600; line-height: 1.35; }
.alr .alb p { margin: 4px 0 6px; color: var(--ink-2); font-size: 13.5px; line-height: 1.5; }
.alr .ala { text-align: right; font-size: 12.5px; }
@media (max-width: 720px) { .alr { grid-template-columns: 1fr; } .alr .ala { text-align: left; } }

.dqlist { display: grid; gap: 16px; }
.dqc { padding: 20px 22px; border: 1px solid var(--line); border-radius: 10px; background: var(--card); box-shadow: var(--edge, none); }
.dqc.done { opacity: .85; }
.dqc header { display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; font-size: 12.5px; }
.dqc h3 { margin: 8px 0 10px; font-size: 18px; line-height: 1.35; color: var(--ink); text-wrap: balance; }
.dqx summary { cursor: pointer; color: var(--muted); font-size: 13px; }
.dqx p { margin: 8px 0 0; color: var(--ink-2); font-size: 13.5px; line-height: 1.6; }
.dqrec { margin: 12px 0 14px; padding: 10px 12px; border-radius: 8px; background: var(--soft); color: var(--ink-2); font-size: 14px; line-height: 1.55; }
.dqrec .fk { display: block; margin-bottom: 4px; }
.dqopts { display: grid; gap: 8px; }
.dqo { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 10px; align-items: start; width: 100%; padding: 12px 14px; border: 1px solid var(--line-2); border-radius: 8px; background: transparent; color: var(--ink); text-align: left; font: inherit; font-size: 14px; line-height: 1.5; cursor: pointer; transition: border-color .15s, background .15s; }
.dqo:hover { background: var(--hover); }
.dqo b { color: var(--gold, var(--c1)); }
.dqo small { align-self: center; padding: 2px 8px; border-radius: 999px; background: var(--soft); color: var(--muted); font-size: 11px; white-space: nowrap; }
.dqo.rec { border-color: color-mix(in srgb, var(--gold, var(--c1)) 55%, var(--line-2)); }
.dqo[aria-pressed="true"] { border-color: var(--gold, var(--c1)); background: color-mix(in srgb, var(--gold, var(--c1)) 14%, transparent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--gold, var(--c1)) 18%, transparent); }
.dqo:focus-visible { outline: 2px solid var(--gold, var(--c1)); outline-offset: 2px; }
.dqdef { margin: 10px 0 0; font-size: 13px; }
.dqf { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; margin-top: 12px; }
.dqf textarea { width: 100%; padding: 10px 12px; border: 1px solid var(--line-2); border-radius: 8px; background: var(--soft); color: var(--ink); font: inherit; resize: vertical; }
.dqf .btn { justify-self: start; }
.dqst { display: grid; gap: 6px; margin-top: 6px; font-size: 13.5px; color: var(--ink-2); }
.dqst .b { justify-self: start; }
.dqst q { color: var(--ink); font-style: italic; }

.ibk { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-bottom: 16px; }
.ibt { display: grid; gap: 2px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--card); color: inherit; text-decoration: none; }
.ibt b { font-size: 28px; line-height: 1.1; color: var(--ink); font-variant-numeric: tabular-nums; }
.ibt small { color: var(--muted); }
.ibt.bad { border-color: var(--bad); background: var(--bad-bg); }
a.ibt:hover { background: var(--hover); }
.iblist { display: grid; }
.ibr { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 2px 12px; padding: 10px 4px; border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; font-size: 14px; }
.ibr:last-child { border-bottom: 0; }
.ibr .mono { grid-row: span 2; color: var(--muted); font-size: 12px; padding-top: 2px; overflow: hidden; text-overflow: ellipsis; }
.ibr b { color: var(--ink); font-weight: 500; line-height: 1.4; }
.ibr .muted { font-size: 12.5px; }
.ibr.late .mono { color: var(--bad-ink); }
a.ibr:hover { background: var(--hover); }
@media (max-width: 560px) { .ibr { grid-template-columns: 1fr; } .ibr .mono { grid-row: auto; } }

/* ---------- THE FOUNDER OFFICE HUB (3 Oct 2026): team, personal pages, messages ---------- */
.tmg { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 12px; }
.tmc { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--card); color: inherit; text-decoration: none; transition: border-color .15s, transform .15s; }
.tmc:hover { border-color: var(--line-2); transform: translateY(-1px); }
.tmf, .mtf { width: 52px; height: 52px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: var(--soft); color: var(--ink-2); font-weight: 600; }
.tmf img, .mtf img { width: 100%; height: 100%; object-fit: cover; }
.tmb { display: grid; gap: 4px; min-width: 0; }
.tmb b { color: var(--ink); font-size: 15px; }
.tmb small { color: var(--muted); line-height: 1.4; }
.tmt { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
.tmn { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12.5px; color: var(--ink-2); }
.tmn em { color: var(--bad-ink); font-style: normal; }
.tmd { margin: 4px 0 0; font-size: 13px; line-height: 1.5; color: var(--ink-2); }

.hpp .hph { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 18px 20px; }
.hpp .dav { width: 72px; height: 72px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: var(--soft); font-size: 22px; }
.hpp .dav img { width: 100%; height: 100%; object-fit: cover; }
.hpp h1 { margin: 2px 0; font-size: 24px; }
.hpp p { margin: 0; color: var(--ink-2); }
.hpp .actions { display: flex; gap: 8px; flex-wrap: wrap; }
.hpp .dqn { padding: 0 20px 12px; margin: 0; }
@media (max-width: 640px) { .hpp .hph { grid-template-columns: 56px minmax(0, 1fr); } .hpp .dav { width: 56px; height: 56px; } .hpp .actions { grid-column: 1 / -1; } }
.hf { display: grid; gap: 6px; padding: 10px 2px; border-bottom: 1px solid var(--line); }
.hf:last-child { border-bottom: 0; }
.hf p { margin: 0; color: var(--ink); line-height: 1.55; font-size: 14px; }
.hf input, .hf textarea, .havf input, .havf select, .mnew select { width: 100%; padding: 9px 11px; border: 1px solid var(--line-2); border-radius: 8px; background: var(--soft); color: var(--ink); font: inherit; font-size: 14px; }
.hf textarea { resize: vertical; }
.havf { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; margin-top: 12px; }
.havf input[name="note"] { grid-column: 1 / 3; }
@media (max-width: 560px) { .havf { grid-template-columns: 1fr; } .havf input[name="note"] { grid-column: auto; } }
.hup { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; cursor: pointer; }

.msgs .pn-b, section.msgs { padding: 0; }
section.msgs { display: grid; grid-template-columns: 300px minmax(0, 1fr); min-height: 560px; overflow: hidden; }
.mside { border-right: 1px solid var(--line); display: flex; flex-direction: column; max-height: 72vh; overflow: auto; }
.mnew { padding: 12px; border-bottom: 1px solid var(--line); position: sticky; top: 0; background: var(--card); }
.mth { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 12px; border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; }
.mth .mtf { width: 40px; height: 40px; }
.mth b { display: block; color: var(--ink); font-size: 14px; }
.mth small { display: block; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mth.on, .mth:hover { background: var(--hover); }
.mmain { display: flex; flex-direction: column; min-width: 0; max-height: 72vh; }
.mmain.mempty { justify-content: center; }
.mhd { display: flex; align-items: center; gap: 10px; padding: 10px 16px; border-bottom: 1px solid var(--line); }
.mhd .mtf { width: 34px; height: 34px; }
.mhd a { margin-left: auto; font-size: 13px; }
.mlog { flex: 1; overflow: auto; padding: 16px; display: flex; flex-direction: column; gap: 8px; }
.mmsg { max-width: 75%; align-self: flex-start; padding: 9px 12px; border-radius: 12px 12px 12px 4px; background: var(--soft); border: 1px solid var(--line); }
.mmsg.me { align-self: flex-end; border-radius: 12px 12px 4px 12px; background: color-mix(in srgb, var(--gold, var(--c1)) 16%, transparent); border-color: color-mix(in srgb, var(--gold, var(--c1)) 35%, transparent); }
.mmsg p { margin: 0; color: var(--ink); font-size: 14px; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
.mmsg small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }
.mcomp { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 12px; border-top: 1px solid var(--line); }
.mcomp textarea { width: 100%; padding: 9px 11px; border: 1px solid var(--line-2); border-radius: 8px; background: var(--soft); color: var(--ink); font: inherit; resize: none; }
@media (max-width: 760px) { section.msgs { grid-template-columns: 1fr; } .mside { max-height: 34vh; border-right: 0; border-bottom: 1px solid var(--line); } }

/* ---------- THE ASSISTANT, NOTIFICATIONS (3 Oct 2026) ---------- */
.pushbox { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 12px; align-items: center; margin-bottom: 14px; padding: 12px 16px; border: 1px dashed var(--line-2); border-radius: 10px; background: var(--soft); }
.pushbox.on { border-style: solid; border-color: color-mix(in srgb, var(--gold, var(--c1)) 45%, var(--line)); }
.pushbox b { display: block; color: var(--ink); font-size: 14px; }
.pushbox small { color: var(--muted); }
.agcols { align-items: start; }
section.agchat { display: block; min-height: 0; }
.agchat .mmain { max-height: 74vh; min-height: 520px; }
.agbtns { display: flex; flex-direction: column; gap: 6px; align-items: stretch; }
.agdeep { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--muted); justify-content: center; }
.agacts { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.mlog code { padding: 1px 5px; border-radius: 4px; background: var(--soft); font-size: 12.5px; }

/* assistant v2 + usage board (3 Oct 2026) */
.agatts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.agatts:empty{display:none}.agatts a{margin-left:4px;color:inherit;text-decoration:none}.agclip{cursor:pointer}.mmsg pre{white-space:pre-wrap;font-size:12.5px;background:rgba(127,127,127,.12);padding:8px;border-radius:6px;overflow-x:auto}.agacts a.b{text-decoration:none}
.ubars{display:flex;align-items:flex-end;gap:3px;height:140px;padding:12px 14px 22px}.ubar{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative}.ubar i{display:block;width:100%;max-width:18px;background:var(--accent,#c9a227);border-radius:4px 4px 0 0}.ubar small{position:absolute;bottom:-18px;font-size:10px;opacity:.6}

/* divisions + acceptance (3 Oct 2026) */
.dvm{margin-bottom:12px}.dvh{padding:12px 14px;border-bottom:1px solid rgba(127,127,127,.18)}.dvh .b{margin-left:6px}.accf{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px;grid-column:1/-1}.accf input{flex:1;min-width:180px;padding:6px 8px;border-radius:6px;border:1px solid rgba(127,127,127,.3);background:transparent;color:inherit}.accac{grid-column:1/-1;margin:4px 0 0}

/* rooms in the console (3 Oct 2026) */
.rmgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.rmc{display:block;padding:14px 16px;text-decoration:none;color:inherit}.rmc:hover{border-color:var(--accent,#c9a227)}.rmh{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}.rmk{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.rmb{font-size:13.5px;line-height:1.6;margin:0;max-height:11em;overflow:hidden}

/* ---------- Talk to the Office (SETTINGS, 3 Oct 2026) ---------- */
.tkcols { grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); align-items: start; }
@media (max-width: 860px) { .tkcols { grid-template-columns: 1fr; } .tklist { max-height: 180px; overflow: auto; } }
.tklist { padding: 8px; display: flex; flex-direction: column; gap: 2px; max-height: 78vh; overflow: auto; }
.tklh { display: flex; align-items: center; justify-content: space-between; padding: 6px 6px 10px; }
.tkth { display: block; padding: 8px 10px; border-radius: 8px; color: var(--ink); text-decoration: none; border: 1px solid transparent; }
.tkth:hover { background: var(--hover); }
.tkth.on { background: var(--soft); border-color: var(--line-2); }
.tkth b { display: block; font-size: 13px; font-weight: 550; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tkth small { display: block; color: var(--muted); font-size: 11px; margin-top: 2px; }
.mmsg.tkoff { max-width: 86%; }
.tkwho { display: flex; align-items: center; gap: 6px; font-size: 11px; color: var(--muted); margin-bottom: 4px; letter-spacing: .02em; }
.tkwho .i { width: 13px; height: 13px; }
.tkwhy { font-size: 11px; color: var(--muted); margin: 0 0 6px; padding-left: 8px; border-left: 2px solid var(--line-2); }
.tkprog { display: flex; flex-direction: column; gap: 1px; margin-top: 6px; font: 11px/1.45 var(--fm); color: var(--muted); }
.tkprog span:last-of-type { color: var(--ink-2); }
.tkdots { display: inline-flex; gap: 3px; padding-top: 3px; }
.tkdots i { width: 5px; height: 5px; border-radius: 50%; background: var(--muted); animation: tkb 1.2s infinite ease-in-out; }
.tkdots i:nth-child(2) { animation-delay: .15s; } .tkdots i:nth-child(3) { animation-delay: .3s; }
@keyframes tkb { 0%, 80%, 100% { opacity: .25; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-2px); } }
@media (prefers-reduced-motion: reduce) { .tkdots i { animation: none; opacity: .6; } }
.tkroomh { font-size: 12px; color: var(--muted); padding: 2px 0 8px; display: flex; gap: 6px; align-items: center; }
.tksel { min-width: 0; max-width: 220px; padding: 6px 8px; border-radius: 8px; border: 1px solid var(--line-2); background: var(--card); color: var(--ink); font: inherit; font-size: 13px; margin-right: auto; }
.tkmic { touch-action: none; user-select: none; -webkit-user-select: none; }
.tkmic.rec { background: var(--bad-bg); color: var(--bad-ink); border-color: var(--bad); }
.tkmic.rec .i { animation: tkpulse 1s infinite; }
@keyframes tkpulse { 50% { opacity: .35; } }
.mmsg p[dir="rtl"] { text-align: right; font-family: "Vazirmatn", "Segoe UI", Tahoma, var(--f); line-height: 1.8; }
.b .i { width: 12px; height: 12px; vertical-align: -2px; margin-right: 4px; }
.tkid { font-size: 12px; letter-spacing: .04em; text-transform: uppercase; color: var(--gold, var(--muted)); margin: 2px 0 6px; }
/* the Owner's page (FO-D-0395) */
.ownshell { min-height: 100vh; display: flex; flex-direction: column; background: var(--bg); }
.ownbar { display: flex; align-items: center; gap: 14px; padding: 14px 24px; border-bottom: 1px solid var(--line); }
.ownmark { font-family: var(--serif, Georgia, serif); font-weight: 600; letter-spacing: .12em; color: var(--gold, var(--ink)); }
.ownbar-t { color: var(--muted); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; margin-right: auto; }
.ownhero { padding: 40px 0 24px; text-align: center; }
.ownbig { font-family: var(--serif, Georgia, serif); font-size: clamp(56px, 11vw, 132px); line-height: .95; letter-spacing: .18em; font-weight: 500; color: var(--gold, var(--ink)); }
.ownhero p { max-width: 760px; margin: 18px auto 12px; color: var(--ink-2); font-size: 15px; line-height: 1.6; }
.ownhero .actions { justify-content: center; display: flex; }
.tkdocs { margin-top: 14px; border-top: 1px solid var(--line); padding-top: 12px; }
.ownfoot { margin-top: auto; padding: 18px 24px; color: var(--faint); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; text-align: center; }
/* FO HUB, 3 Oct 2026 - at phone width the top bar's Dispatch steps aside (it is in the phone menu), so the bar fits the screen. */
@media (max-width: 520px) { .tn-r .dbtn:not(.al) { display: none; } }

/* ---------- v5 (FO HUB, 3 Oct 2026, the Founder): two worlds - the Dashboard, the view everyone shares, and each person's
   own Workspace, a page of its own built around them; and the Task Builder. ---------- */
.wkbtn { height: 32px; padding: 0 14px; gap: 8px; }
.wkbtn .pip { margin-left: 2px; }
.wkbtn.hot { box-shadow: 0 0 0 3px var(--bad-bg); }
.pip.soft { background: rgba(255,209,159,.16); color: var(--gold-2); }
@media (max-width: 400px) { .wkbtn > span:not(.pip) { display: none; } .wkbtn { padding: 0 10px; } }
.wkcard { display: grid; grid-template-columns: 44px minmax(0, 1fr) 18px; gap: 12px; align-items: center; padding: 14px; border: 1px solid rgba(255,209,159,.45); border-radius: 6px; background: linear-gradient(160deg, rgba(255,209,159,.14), rgba(36,40,47,.96) 70%); color: var(--ink); }
.wkcard .dav { width: 44px; height: 44px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: var(--soft); }
.wkcard .dav img { width: 100%; height: 100%; object-fit: cover; }
.wkcard b { display: block; font-size: 15px; } .wkcard small { color: var(--muted); font-size: 12px; line-height: 1.4; } .wkcard .i { color: var(--gold-2); }
/* the Workspace: its own page, built around the person */
.wk { min-height: 100vh; display: grid; grid-template-columns: 264px minmax(0, 1fr); grid-template-rows: auto 1fr; grid-template-areas: "side top" "side main"; }
/* the step from the Dashboard into the Workspace: the page rises in, the side slides in. Never animate .wk itself (or with a
   forwards fill): a transform there would hold the phone's fixed tab bar and menu to the page instead of the screen. */
.wk-enter .wk-main, .wk-enter .wk-top { animation: wkIn .34s cubic-bezier(.16,1,.3,1) backwards; }
@keyframes wkIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (min-width: 961px) { .wk-enter .wk-side { animation: wkSide .34s cubic-bezier(.16,1,.3,1) backwards; } .wk { background: linear-gradient(90deg, #111317 0, #0f1114 263px, var(--line) 263px, var(--line) 264px, transparent 264px); } }
@keyframes wkSide { from { opacity: 0; transform: translateX(-14px); } to { opacity: 1; transform: none; } }
.wk-top { grid-area: top; position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: 16px; height: 60px; padding: 0 28px; background: rgba(14,16,19,.94); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--gold-d); }
.wk-back { display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 12px; border: 1px solid var(--line-2); border-radius: 3px; color: var(--ink-2); font: 600 11px/1 var(--f); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.wk-back:hover { color: var(--ink); border-color: var(--gold); }
.wk-back .i { width: 15px; height: 15px; }
.wk-t { display: grid; line-height: 1.15; min-width: 0; } .wk-t b { font: 500 19px/1.1 var(--serif); color: var(--ink); } .wk-t small { color: var(--muted); font-size: 11.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wk-r { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.wk-side { grid-area: side; position: sticky; top: 0; height: 100vh; overflow-y: auto; display: flex; flex-direction: column; gap: 16px; padding: 18px 14px 20px; background: linear-gradient(180deg, #14171b, #0e1013 60%); border-right: 1px solid var(--line); scrollbar-width: thin; }
.wk-brand { display: flex; align-items: center; gap: 12px; padding: 2px 8px 6px; color: var(--ink); }
.wk-brand .mark { width: 56px; color: var(--ink); } .wk-brand .mark svg { width: 100%; height: auto; display: block; }
.wk-brand b { font: 600 11.5px/1.2 var(--f); letter-spacing: .16em; text-transform: uppercase; color: var(--gold-2); padding-left: 12px; border-left: 1px solid var(--line-2); }
.wk-me { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 11px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 6px; background: rgba(255,255,255,.03); color: inherit; }
.wk-me:hover { border-color: var(--line-2); }
.wk-me .dav { width: 44px; height: 44px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: var(--soft); box-shadow: 0 0 0 2px rgba(255,209,159,.35); }
.wk-me .dav img { width: 100%; height: 100%; object-fit: cover; }
.wk-me b { display: block; color: var(--ink); font-size: 14px; } .wk-me small { display: block; color: var(--muted); font-size: 11.5px; line-height: 1.35; }
.wk-nav { display: grid; gap: 14px; }
.wk-g { display: grid; gap: 2px; }
.wk-g > span { font: 600 10px/1 var(--f); letter-spacing: .16em; text-transform: uppercase; color: var(--gold); padding: 6px 10px; }
.wk-side .mi { padding: 7px 10px; gap: 10px; border-radius: 4px; }
.wk-side .mi .mic { width: 30px; height: 30px; }
.wk-side .mi .mic .i { width: 16px; height: 16px; }
.wk-side .mi b { font-size: 13px; }
.wk-side .mi[aria-current="page"] { background: rgba(255,209,159,.08); box-shadow: inset 2px 0 0 var(--gold-2); }
.wk-foot { margin-top: auto; display: grid; gap: 8px; }
.wk-foot .btn { justify-content: center; }
.wk-main { grid-area: main; max-width: 1280px; width: 100%; }
.wk-tabs { display: none; }
.in-wk::after { opacity: .45; }
/* the Workspace home */
.wkhero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: end; padding: 26px 28px; border: 1px solid var(--line); border-top: 2px solid var(--gold); border-radius: 4px; background: linear-gradient(135deg, rgba(45,50,58,.96), rgba(31,34,39,.96)); box-shadow: var(--edge), 0 8px 24px -16px rgba(0,0,0,.6); }
.wkhero h1 { margin: 8px 0 6px; font: 500 34px/1.1 var(--serif); color: var(--ink); }
.wkhero p { margin: 0; color: var(--muted); font-size: 13.5px; max-width: 640px; }
.wkacts { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 12px; }
.wka { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; align-items: start; padding: 16px; border: 1px solid var(--line); border-radius: 6px; background: rgba(36,40,47,.96); color: inherit; transition: border-color .15s, transform .15s; }
.wka:hover { border-color: var(--gold); transform: translateY(-1px); }
.wka .mic { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 6px; background: linear-gradient(160deg, rgba(255,209,159,.16), rgba(255,209,159,.03)); box-shadow: inset 0 0 0 1px rgba(255,209,159,.28); color: var(--peach); }
.wka b { display: block; color: var(--ink); font-size: 15px; margin-bottom: 4px; } .wka small { color: var(--muted); font-size: 12.5px; line-height: 1.45; }
.wka.lead { border-color: rgba(255,209,159,.5); background: linear-gradient(160deg, rgba(255,209,159,.12), rgba(36,40,47,.96) 65%); }
/* the Task Builder */
.tb .pn-b { padding: 0; }
.tbin .pn-b { padding: 18px; }
#tbt { width: 100%; min-height: 130px; resize: vertical; background: #16181c; color: var(--ink); border: 1px solid var(--line-2); border-radius: 4px; padding: 14px 16px; font: 400 15px/1.6 var(--f); box-shadow: inset 0 1px 3px rgba(0,0,0,.5); unicode-bidi: plaintext; }
#tbt:focus, .tbf input:focus, .tbf textarea:focus, .tbf select:focus, .tbq input:focus { outline: none; border-color: rgba(255,209,159,.6); box-shadow: 0 0 0 3px rgba(255,209,159,.12); }
.tbrow { display: flex; gap: 12px; align-items: center; margin-top: 12px; flex-wrap: wrap; }
.tbl { display: inline-flex; align-items: center; gap: 8px; font: 600 10.5px/1 var(--f); letter-spacing: .12em; text-transform: uppercase; color: var(--gold-2); }
.tbrow select, .tbrow input[type="date"], .tbacts select { height: 34px; max-width: 100%; background: #16181c; color: var(--ink-2); border: 1px solid var(--line-2); border-radius: 3px; padding: 0 10px; font: 500 12.5px/1 var(--f); color-scheme: dark; text-transform: none; letter-spacing: 0; }
.tbrow .btn { margin-left: auto; }
.tbfields { display: grid; }
.tbf { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 12px; padding: 11px 18px; border-bottom: 1px solid var(--line); align-items: start; }
.tbf > label { font: 600 10.5px/1.3 var(--f); letter-spacing: .12em; text-transform: uppercase; color: var(--gold-2); padding-top: 10px; }
.tbf input, .tbf textarea, .tbf select, .tbq input { width: 100%; padding: 8px 10px; border: 1px solid var(--line-2); border-radius: 4px; background: #16181c; color: var(--ink); font: inherit; font-size: 14px; line-height: 1.5; color-scheme: dark; unicode-bidi: plaintext; }
.tbf textarea { resize: vertical; }
.tbf small { display: block; margin-top: 4px; }
.tbf.bad input, .tbf.bad textarea, .tbf.bad select { border-color: var(--bad); }
.tbf.bad > label { color: var(--bad-ink); }
.tbchecks { display: grid; gap: 7px; padding: 14px 18px; background: rgba(0,0,0,.14); }
.tbc { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 9px; align-items: start; font-size: 13.5px; color: var(--ink-2); line-height: 1.45; }
.tbc i { width: 18px; height: 18px; margin-top: 1px; border-radius: 50%; display: grid; place-items: center; font: 700 11px/1 var(--f); font-style: normal; }
.tbc.ok i { background: rgba(143,199,154,.16); color: var(--good); }
.tbc.no i { background: var(--bad-bg); color: var(--bad-ink); }
.tbc.no { color: var(--ink); }
.tbc.note i { background: var(--warn-bg); color: var(--warn-ink); }
.tbc small { display: block; color: var(--bad-ink); font-size: 12.5px; }
.tbq { display: grid; gap: 10px; padding: 14px 18px; border-top: 1px solid var(--line); }
.tbq label { display: grid; gap: 6px; font-size: 14px; color: var(--ink); line-height: 1.5; }
.tbq .btn { justify-self: start; }
.tbsplit { display: grid; gap: 8px; padding: 14px 18px; border-top: 1px solid var(--line); }
.tbsr { display: flex; gap: 10px; align-items: center; justify-content: space-between; font-size: 13.5px; color: var(--ink-2); }
.tbacts { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; padding: 14px 18px; border-top: 1px solid var(--line); background: rgba(0,0,0,.2); }
.tbacts .sp { flex: 1; }
.tbcopy { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; padding: 12px 18px 4px; }
.tbcopy .fk { margin-right: 4px; }
.tbsr .btn { white-space: nowrap; flex: none; }
.tbsr { flex-wrap: wrap; }
.tbready { display: inline-flex; align-items: center; gap: 8px; font: 600 11px/1 var(--f); letter-spacing: .12em; text-transform: uppercase; }
.tbready::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.tbready.ok { color: var(--good); } .tbready.no { color: var(--bad-ink); }
.tbsheet .dnote { margin: 0; padding: 10px 18px 14px; font-size: 12.5px; }
.tbin .dnote { margin: 10px 0 0; font-size: 12.5px; }
.tbintro p { margin: 0 0 10px; color: var(--ink-2); }
.tbintro .kvi { margin-bottom: 12px; } .tbintro .kvi > div { padding: 9px 0; }
.tbsoon { border-top: 1px dashed var(--line-2); font-size: 12.5px; }
.ibr[aria-current="page"] { background: rgba(255,209,159,.07); }
@media (max-width: 960px) {
  .wk { grid-template-columns: minmax(0, 1fr); grid-template-areas: "top" "main"; }
  .wk-top { padding: 0 12px; height: 56px; gap: 10px; }
  .wk-side { position: fixed; inset: 56px 0 0 0; height: auto; z-index: 39; transform: translateX(-102%); visibility: hidden; transition: transform .24s cubic-bezier(.16,1,.3,1), visibility 0s .24s; }
  .nav-open .wk-side { transform: none; visibility: visible; transition: transform .24s cubic-bezier(.16,1,.3,1); }
  .wk-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); position: fixed; left: 0; right: 0; bottom: 0; z-index: 35; background: rgba(14,16,19,.97); border-top: 1px solid var(--line-2); padding: 6px 4px calc(6px + env(safe-area-inset-bottom)); }
  .wk-tabs a { display: grid; justify-items: center; gap: 4px; padding: 4px 0; color: var(--muted); font: 600 10px/1 var(--f); letter-spacing: .04em; position: relative; }
  .wk-tabs a .i { width: 21px; height: 21px; }
  .wk-tabs a[aria-current="page"] { color: var(--gold-2); }
  .wk-tabs .pip { position: absolute; top: 0; left: calc(50% + 6px); }
  .wk-main { padding-bottom: 96px !important; }
  .wk .clock, .wk .status { display: none; }
  .wkhero { grid-template-columns: 1fr; padding: 20px; } .wkhero h1 { font-size: 28px; }
}
@media (max-width: 640px) { .wk .sbtn { display: none; } .tbf { grid-template-columns: 1fr; gap: 6px; } .tbf > label { padding-top: 0; } .tbrow .btn { margin-left: 0; width: 100%; justify-content: center; }
  .tbacts select, .tbacts .btn { flex: 1 1 100%; justify-content: center; } .tbcopy .btn { flex: 1 1 auto; justify-content: center; } .tbcopy .fk { flex: 1 1 100%; }
  .tb .pn-h { flex-wrap: wrap; row-gap: 4px; } .tb .pn-h h3 { flex: none; } .tb .pn-m { line-height: 1.5; } }
@media (max-width: 340px) { .wk-back span { display: none; } .wk-back { padding: 0 9px; } }
