:root {
  color-scheme: dark;
  --bg: #080a0c;
  --bg-grid: rgba(255,255,255,.022);
  --surface: #101418;
  --surface-2: #151a1f;
  --surface-3: #1b2127;
  --line: #2b333b;
  --line-hot: #4b5660;
  --text: #f2f5f2;
  --muted: #8f9aa3;
  --muted-2: #68737c;
  --lime: #c8ef32;
  --lime-ink: #10130a;
  --cyan: #49d8e8;
  --amber: #ffb84d;
  --red: #ff675f;
  --violet: #b493ff;
  --shadow: 0 20px 54px rgba(0,0,0,.35);
  --radius: 4px;
  --sidebar: 248px;
  --ease: cubic-bezier(.2,.75,.25,1);
  --font-display: "Arial Narrow", "Bahnschrift Condensed", "Roboto Condensed", sans-serif;
  --font-body: "Bahnschrift", "Segoe UI", sans-serif;
  --font-mono: "Cascadia Mono", "SFMono-Regular", Consolas, monospace;
}

:root[data-theme="light"] {
  color-scheme: light;
  --bg: #edf0f2;
  --bg-grid: rgba(9,18,25,.05);
  --surface: #fafcfb;
  --surface-2: #f1f4f4;
  --surface-3: #e5e9ea;
  --line: #ccd3d6;
  --line-hot: #9ba8ae;
  --text: #11171b;
  --muted: #58656d;
  --muted-2: #77838a;
  --lime: #9fc900;
  --lime-ink: #111800;
  --cyan: #007c8c;
  --amber: #a65b00;
  --red: #c43630;
  --violet: #6546b3;
  --shadow: 0 20px 42px rgba(22,35,42,.12);
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--bg); }
body { margin: 0; min-height: 100vh; background: var(--bg); color: var(--text); font: 400 15px/1.5 var(--font-body); }
body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; background-image: linear-gradient(var(--bg-grid) 1px, transparent 1px), linear-gradient(90deg, var(--bg-grid) 1px, transparent 1px), radial-gradient(circle at 75% -10%, color-mix(in srgb, var(--cyan) 9%, transparent), transparent 34%); background-size: 32px 32px, 32px 32px, auto; }
button, input, select { font: inherit; }
button { color: inherit; }
button, a, select { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid var(--lime); outline-offset: 3px; }
button:disabled { cursor: not-allowed; opacity: .5; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.skip-link { position: fixed; z-index: 100; top: 10px; left: 10px; transform: translateY(-160%); padding: 10px 14px; background: var(--lime); color: var(--lime-ink); font-weight: 800; text-decoration: none; }
.skip-link:focus { transform: none; }

.boot-screen { min-height: 100vh; display: grid; place-content: center; grid-template-columns: auto auto; gap: 18px; align-items: center; background: repeating-linear-gradient(135deg, transparent 0 12px, color-mix(in srgb, var(--text) 3%, transparent) 12px 13px); }
.boot-screen img { filter: drop-shadow(0 0 28px color-mix(in srgb, var(--lime) 30%, transparent)); }
.boot-screen div { display: grid; gap: 2px; }
.boot-screen strong { font: 800 18px/1 var(--font-display); letter-spacing: .08em; }
.boot-screen span { color: var(--muted); font: 12px var(--font-mono); }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: var(--sidebar) minmax(0,1fr); }
.sidebar { position: fixed; z-index: 30; inset: 0 auto 0 0; width: var(--sidebar); display: flex; flex-direction: column; padding: 18px 14px 14px; background: color-mix(in srgb, var(--surface) 94%, transparent); border-right: 1px solid var(--line); backdrop-filter: blur(18px); }
.brand-lockup { display: flex; gap: 12px; align-items: center; padding: 0 6px 18px; border-bottom: 1px solid var(--line); }
.brand-lockup img { box-shadow: 0 0 24px color-mix(in srgb, var(--lime) 12%, transparent); }
.brand-lockup div { display: grid; gap: 2px; }
.brand-lockup b { font: 900 20px/.9 var(--font-display); letter-spacing: .08em; }
.brand-lockup span { color: var(--muted); font: 700 10px/1 var(--font-mono); letter-spacing: .08em; }
.brand-lockup i { color: var(--muted-2); font-style: normal; font-weight: 400; }
.venue-chip { min-height: 66px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; margin: 14px 0 12px; padding: 10px; border: 1px solid var(--line); background: var(--surface-2); }
.signal-dot, .live-pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 4px color-mix(in srgb, var(--lime) 12%, transparent), 0 0 15px var(--lime); }
.venue-chip div { display: grid; min-width: 0; }
.venue-chip small { color: var(--muted); font: 9px var(--font-mono); text-transform: uppercase; letter-spacing: .08em; }
.venue-chip strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.icon-button, .more-button { width: 44px; height: 44px; display: inline-grid; place-items: center; border: 1px solid var(--line); background: var(--surface-2); cursor: pointer; transition: border-color .2s, background .2s, transform .2s var(--ease); }
.icon-button:hover, .more-button:hover { border-color: var(--line-hot); background: var(--surface-3); transform: translateY(-1px); }
.venue-chip .icon-button { width: 30px; height: 30px; border: 0; background: transparent; }
.sidebar nav { flex: 1; min-height: 0; overflow: auto; scrollbar-width: thin; }
.nav-group { margin-top: 14px; }
.nav-label { display: block; padding: 0 10px 6px; color: var(--muted-2); font: 700 9px var(--font-mono); letter-spacing: .16em; text-transform: uppercase; }
.nav-item { position: relative; width: 100%; min-height: 42px; display: grid; grid-template-columns: 26px 1fr auto; align-items: center; gap: 6px; padding: 0 10px; border: 0; border-left: 2px solid transparent; background: transparent; color: var(--muted); text-align: left; cursor: pointer; }
.nav-item:hover { background: color-mix(in srgb, var(--surface-3) 70%, transparent); color: var(--text); }
.nav-item.active { border-left-color: var(--lime); background: linear-gradient(90deg, color-mix(in srgb, var(--lime) 11%, transparent), transparent); color: var(--text); }
.nav-item.active::after { content: ""; position: absolute; right: 8px; width: 5px; height: 5px; background: var(--lime); box-shadow: 0 0 10px var(--lime); }
.nav-item b { min-width: 20px; padding: 2px 5px; border-radius: 10px; background: var(--red); color: white; font: 700 9px var(--font-mono); text-align: center; }
.nav-icon { color: var(--muted-2); font: 16px var(--font-mono); }
.sidebar-foot { display: grid; gap: 8px; padding-top: 12px; border-top: 1px solid var(--line); }
.role-preview { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; padding: 7px 9px; border: 1px dashed var(--violet); color: var(--violet); font: 9px var(--font-mono); text-transform: uppercase; }
.role-preview select { min-height: 30px; border: 1px solid var(--line); background: var(--surface-2); color: var(--text); font-size: 11px; text-transform: none; }
.user-card { width: 100%; min-height: 48px; display: grid; grid-template-columns: 34px 1fr auto; gap: 9px; align-items: center; padding: 6px; border: 0; background: transparent; text-align: left; cursor: pointer; }
.user-card:hover { background: var(--surface-2); }
.user-card > span:nth-child(2) { display: grid; min-width: 0; }
.user-card b { overflow: hidden; font-size: 11px; text-overflow: ellipsis; }
.user-card small { color: var(--muted); font: 9px var(--font-mono); text-transform: uppercase; }
.avatar { width: 34px; height: 34px; display: inline-grid; place-items: center; flex: 0 0 auto; border: 1px solid var(--line-hot); background: var(--surface-3); color: var(--lime); font: 700 10px var(--font-mono); }
.avatar.large { width: 48px; height: 48px; font-size: 13px; }

.workspace { grid-column: 2; min-width: 0; }
.topbar { position: sticky; z-index: 20; top: 0; height: 64px; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 0 clamp(20px,3vw,48px); border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--bg) 88%, transparent); backdrop-filter: blur(18px); }
.live-status, .top-actions { display: flex; align-items: center; gap: 12px; }
.live-status b { color: var(--lime); font: 800 10px var(--font-mono); letter-spacing: .1em; }
.live-status > span:not(.live-pulse) { color: var(--muted); font: 10px var(--font-mono); }
.live-status .topbar-clock { padding-left: 12px; border-left: 1px solid var(--line); color: var(--text); }
.alert-button { position: relative; }
.alert-button b { position: absolute; top: -5px; right: -5px; min-width: 17px; padding: 2px 4px; border-radius: 10px; background: var(--red); color: white; font: 800 9px var(--font-mono); }
.menu-button { display: none; }
.nav-scrim { display: none; }
main { width: min(1540px,100%); margin: 0 auto; padding: clamp(28px,4vw,56px) clamp(20px,3vw,48px) 80px; outline: none; }

.page-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 28px; }
.page-heading h1 { margin: 3px 0 4px; font: 900 clamp(38px,5vw,66px)/.94 var(--font-display); letter-spacing: -.025em; text-transform: uppercase; }
.page-heading p { max-width: 660px; margin: 0; color: var(--muted); font-size: 14px; }
.eyebrow, .metric-code { color: var(--cyan); font: 700 9px var(--font-mono); letter-spacing: .16em; text-transform: uppercase; }
.button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 16px; border: 1px solid var(--line-hot); background: var(--surface-2); color: var(--text); font: 700 11px var(--font-mono); cursor: pointer; transition: transform .2s var(--ease), box-shadow .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button.primary { border-color: var(--lime); background: var(--lime); color: var(--lime-ink); box-shadow: 0 10px 28px color-mix(in srgb, var(--lime) 14%, transparent); }
.button.secondary:hover { border-color: var(--lime); }
.button.wide { width: 100%; }
.text-button { min-height: 36px; padding: 0; border: 0; background: none; color: var(--muted); font: 700 10px var(--font-mono); cursor: pointer; }
.text-button:hover { color: var(--lime); }
.badge { display: inline-flex; align-items: center; justify-content: center; width: max-content; min-height: 22px; padding: 2px 8px; border: 1px solid var(--line-hot); color: var(--muted); font: 700 8px var(--font-mono); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.badge-lime { border-color: color-mix(in srgb,var(--lime) 50%,var(--line)); background: color-mix(in srgb,var(--lime) 9%,transparent); color: var(--lime); }
.badge-cyan { border-color: color-mix(in srgb,var(--cyan) 50%,var(--line)); background: color-mix(in srgb,var(--cyan) 9%,transparent); color: var(--cyan); }
.badge-amber { border-color: color-mix(in srgb,var(--amber) 50%,var(--line)); background: color-mix(in srgb,var(--amber) 9%,transparent); color: var(--amber); }
.badge-red { border-color: color-mix(in srgb,var(--red) 50%,var(--line)); background: color-mix(in srgb,var(--red) 9%,transparent); color: var(--red); }
.badge-violet { border-color: color-mix(in srgb,var(--violet) 50%,var(--line)); background: color-mix(in srgb,var(--violet) 9%,transparent); color: var(--violet); }

.signal-rail { position: relative; display: grid; grid-template-columns: 1.45fr repeat(5,1fr) auto; min-height: 82px; margin-bottom: 18px; overflow: hidden; border: 1px solid var(--line); background: var(--surface); box-shadow: var(--shadow); }
.signal-rail::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 2px; background: linear-gradient(90deg,var(--lime) 0 30%,var(--cyan) 48%,transparent 80%); box-shadow: 0 0 16px color-mix(in srgb,var(--lime) 50%,transparent); }
.signal-title, .signal-step, .signal-action { min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 13px 16px; border-right: 1px solid var(--line); }
.signal-title { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; align-content: center; }
.signal-title .live-pulse { grid-row: 1 / 3; align-self: center; }
.signal-title b { font: 800 12px var(--font-mono); }
.signal-title small { color: var(--muted); font: 9px var(--font-mono); text-transform: uppercase; }
.signal-step { position: relative; }
.signal-step::after { content: ""; position: absolute; bottom: 0; right: 0; left: 0; height: 2px; background: var(--line); }
.signal-step span { color: var(--muted); font: 9px var(--font-mono); }
.signal-step b { margin-top: 3px; font: 700 10px var(--font-body); }
.signal-step.complete::after { background: var(--lime); }
.signal-step.active { background: color-mix(in srgb,var(--lime) 7%,transparent); }
.signal-step.active::after { height: 3px; background: var(--lime); box-shadow: 0 0 13px var(--lime); }
.signal-step.active span, .signal-step.active b { color: var(--lime); }
.signal-action { min-width: 110px; align-items: center; flex-direction: row; gap: 9px; border: 0; background: var(--surface-2); font: 700 9px var(--font-mono); cursor: pointer; }
.signal-action:hover { background: var(--lime); color: var(--lime-ink); }

.metric-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-bottom: 10px; }
.metric-card { position: relative; min-height: 150px; display: grid; align-content: space-between; padding: 16px; overflow: hidden; border: 1px solid var(--line); background: var(--surface); }
.metric-card::after { content: ""; position: absolute; right: -22px; bottom: -26px; width: 86px; height: 86px; border: 1px solid var(--line); transform: rotate(45deg); }
.metric-card small { margin-top: 14px; color: var(--muted); font: 10px var(--font-mono); text-transform: uppercase; }
.metric-card strong { font: 900 clamp(34px,3vw,48px)/1 var(--font-display); }
.metric-card strong span { color: var(--muted-2); font-size: .48em; }
.metric-change { width: max-content; font: normal 8px var(--font-mono); text-transform: uppercase; }
.metric-change.lime { color: var(--lime); }.metric-change.amber { color: var(--amber); }.metric-change.red { color: var(--red); }.metric-change.cyan { color: var(--cyan); }
.dashboard-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 10px; margin-bottom: 10px; }
.panel { border: 1px solid var(--line); background: var(--surface); box-shadow: 0 16px 44px rgba(0,0,0,.08); }
.panel-head { min-height: 76px; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px 18px; border-bottom: 1px solid var(--line); }
.panel-head h2 { margin: 3px 0 0; font: 800 18px var(--font-display); text-transform: uppercase; }
.timeline { padding: 6px 18px 14px; }
.timeline-row { position: relative; min-height: 58px; display: grid; grid-template-columns: 52px 18px 1fr auto; gap: 8px; align-items: center; }
.timeline-row:not(:last-child)::after { content: ""; position: absolute; z-index: 0; top: 37px; bottom: -20px; left: 66px; width: 1px; background: var(--line); }
.timeline-row time { color: var(--muted); font: 10px var(--font-mono); }
.timeline-node { position: relative; z-index: 1; width: 9px; height: 9px; border: 2px solid var(--line-hot); border-radius: 50%; background: var(--surface); }
.timeline-row.done .timeline-node { border-color: var(--lime); background: var(--lime); }
.timeline-row.live .timeline-node { border-color: var(--lime); box-shadow: 0 0 13px var(--lime); }
.timeline-row > div { display: grid; }
.timeline-row b { font-size: 12px; }
.timeline-row small { color: var(--muted); font: 9px var(--font-mono); }
.task-list { padding: 8px; }
.task-row { width: 100%; min-height: 62px; display: grid; grid-template-columns: 30px 1fr auto auto; gap: 10px; align-items: center; padding: 7px 10px; border: 0; border-bottom: 1px solid var(--line); background: transparent; text-align: left; cursor: pointer; }
.task-row:hover { background: var(--surface-2); }
.task-row > span:nth-child(2) { display: grid; }
.task-row b { font-size: 11px; }
.task-row small, .task-row time { color: var(--muted); font: 9px var(--font-mono); }
.task-check { width: 20px; height: 20px; display: grid; place-items: center; border: 1px solid var(--line-hot); color: var(--lime); }
.row-arrow { color: var(--muted); font: 12px var(--font-mono); }
.callout { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; margin: 0 12px 12px; padding: 13px; border: 1px solid color-mix(in srgb,var(--amber) 40%,var(--line)); background: color-mix(in srgb,var(--amber) 7%,transparent); }
.callout-icon { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--amber); color: var(--amber); font: 800 12px var(--font-mono); }
.callout b { font-size: 10px; }.callout p { margin: 2px 0 0; color: var(--muted); font-size: 10px; }
.callout button { min-height: 34px; border: 0; background: none; color: var(--amber); font: 700 9px var(--font-mono); cursor: pointer; }
.booking-strip { margin-top: 10px; }
.guest-status{min-height:92px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:10px;padding:18px;border:1px solid color-mix(in srgb,var(--cyan) 40%,var(--line));background:linear-gradient(90deg,color-mix(in srgb,var(--cyan) 8%,transparent),var(--surface))}.guest-status>div{display:grid;grid-template-columns:auto 1fr;gap:3px 12px}.guest-status .live-pulse{grid-row:1/4;align-self:center;background:var(--cyan);box-shadow:0 0 14px var(--cyan)}.guest-status strong{font:800 17px var(--font-display);text-transform:uppercase}.guest-status p{margin:0;color:var(--muted);font-size:10px}.guest-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.guest-date{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:24px 18px}.guest-date time{color:var(--lime);font:800 30px var(--font-mono)}.guest-date b{font-size:12px}.guest-date p{margin:2px 0;color:var(--muted);font-size:10px}.guest-grid address{min-height:96px;padding:20px 18px;color:var(--muted);font-style:normal}.location-mark{color:var(--cyan);font:24px var(--font-mono)}.guest-action{margin:0 18px 18px;text-decoration:none}.availability-panel{margin-top:10px}.availability-row{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto;gap:14px;align-items:center;padding:18px}.availability-row>span:not(.badge){display:grid}.availability-row b{font:800 16px var(--font-display)}.availability-row small{color:var(--muted);font:8px var(--font-mono);text-transform:uppercase}
.booking-table { width: 100%; }
.table-head, .table-row { display: grid; grid-template-columns: 1.2fr .8fr .65fr 1.2fr; gap: 12px; align-items: center; padding: 0 18px; }
.table-head { min-height: 36px; color: var(--muted-2); font: 8px var(--font-mono); letter-spacing: .1em; text-transform: uppercase; }
.table-row { width: 100%; min-height: 64px; border: 0; border-top: 1px solid var(--line); background: transparent; text-align: left; cursor: pointer; }
.table-row:hover { background: var(--surface-2); }
.table-row > span { display: grid; justify-items: start; }
.table-row b { font-size: 11px; }.table-row small { color: var(--muted); font: 8px var(--font-mono); }

.pipeline { display: grid; grid-template-columns: repeat(4,minmax(220px,1fr)); gap: 10px; overflow-x: auto; padding-bottom: 12px; }
.pipeline-column { min-height: 520px; border: 1px solid var(--line); background: color-mix(in srgb,var(--surface) 70%,transparent); }
.pipeline-column > header { height: 50px; display: flex; justify-content: space-between; align-items: center; padding: 0 13px; border-top: 2px solid var(--line-hot); border-bottom: 1px solid var(--line); font: 800 10px var(--font-mono); text-transform: uppercase; }
.pipeline-column > header b { min-width: 22px; padding: 2px 6px; background: var(--surface-3); text-align: center; }
.pipeline-column > div { padding: 8px; }
.booking-card { padding: 13px; border: 1px solid var(--line); background: var(--surface); box-shadow: 0 12px 24px rgba(0,0,0,.08); }
.booking-card + .booking-card { margin-top: 8px; }
.booking-card > div, .booking-card footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.booking-card .more-button { width: 32px; height: 30px; border: 0; background: none; }
.booking-card h2 { margin: 18px 0 2px; font: 800 18px var(--font-display); text-transform: uppercase; }
.booking-card p { margin: 0 0 18px; color: var(--muted); font: 9px var(--font-mono); }
.booking-card footer { padding-top: 10px; border-top: 1px solid var(--line); color: var(--muted); font-size: 9px; }
.booking-card footer button, .directory-card footer button { width: 30px; height: 30px; border: 1px solid var(--line); background: var(--surface-2); cursor: pointer; }
.empty-lane { padding: 24px 10px; border: 1px dashed var(--line); color: var(--muted-2); font: 9px var(--font-mono); text-align: center; }

.calendar-board { overflow: hidden; border: 1px solid var(--line); background: var(--surface); }
.calendar-toolbar { min-height: 76px; display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.calendar-toolbar h2 { margin: 0 12px; font: 800 22px var(--font-display); text-transform: uppercase; }.calendar-toolbar h2 span { color: var(--muted); }
.legend { display: flex; gap: 14px; margin-left: auto; color: var(--muted); font: 8px var(--font-mono); text-transform: uppercase; }
.legend span { display: flex; align-items: center; gap: 6px; }.dot { width: 6px; height: 6px; border-radius: 50%; }.dot.lime{background:var(--lime)}.dot.amber{background:var(--amber)}.dot.cyan{background:var(--cyan)}
.calendar-week, .calendar-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.calendar-week span { padding: 9px 10px; border-right: 1px solid var(--line); color: var(--muted); font: 8px var(--font-mono); text-transform: uppercase; }
.calendar-day { position: relative; min-height: 112px; padding: 10px; border-top: 1px solid var(--line); border-right: 1px solid var(--line); }
.calendar-day > span { font: 10px var(--font-mono); }.calendar-day.muted > span { color: var(--muted-2); }.calendar-day.today { background: color-mix(in srgb,var(--lime) 5%,transparent); box-shadow: inset 0 0 0 1px var(--lime); }
.cal-event { width: 100%; margin-top: 8px; padding: 6px; overflow: hidden; border: 0; border-left: 2px solid currentColor; background: color-mix(in srgb,currentColor 8%,transparent); color: var(--cyan); font: 8px var(--font-mono); text-align: left; text-overflow: ellipsis; cursor: pointer; }.cal-event.lime{color:var(--lime)}.cal-event.amber{color:var(--amber)}.cal-event.violet{color:var(--violet)}

.brief-hero { display: grid; grid-template-columns: auto 1fr auto auto; gap: 22px; align-items: center; padding: 22px; border: 1px solid var(--line); border-top: 2px solid var(--lime); background: var(--surface); }
.brief-id { width: 84px; height: 76px; display: grid; place-content: center; border: 1px solid var(--line-hot); background: repeating-linear-gradient(135deg,var(--surface-2) 0 7px,var(--surface-3) 7px 8px); text-align: center; }.brief-id span{font:8px var(--font-mono);color:var(--lime)}.brief-id b{font:800 18px var(--font-display)}
.brief-hero h2 { margin: 3px 0 2px; font: 900 30px var(--font-display); text-transform: uppercase; }.brief-hero p{margin:0;color:var(--muted);font-size:11px}
.brief-grid { display: grid; grid-template-columns: repeat(5,1fr); margin-top: 10px; border: 1px solid var(--line); background: var(--surface); }
.brief-grid article { position: relative; min-height: 170px; padding: 18px; border-right: 1px solid var(--line); }.brief-grid article > span{position:absolute;right:10px;top:8px;color:var(--muted-2);font:8px var(--font-mono)}.brief-grid time{color:var(--lime);font:700 20px var(--font-mono)}.brief-grid h3{margin:24px 0 4px;font:800 15px var(--font-display);text-transform:uppercase}.brief-grid p{margin:0;color:var(--muted);font-size:10px}
.directory-grid, .people-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.directory-card { min-height: 210px; display: grid; grid-template-columns: auto 1fr; gap: 16px; padding: 18px; border: 1px solid var(--line); background: var(--surface); }.band-monogram{width:54px;height:54px;display:grid;place-items:center;border:1px solid var(--cyan);color:var(--cyan);font:800 16px var(--font-mono)}.directory-card h2{margin:5px 0 2px;font:800 20px var(--font-display);text-transform:uppercase}.directory-card p{margin:0;color:var(--muted);font-size:10px}.directory-card footer{grid-column:1/-1;align-self:end;display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font:9px var(--font-mono)}
.filter-row { display: flex; gap: 6px; padding: 12px; border-bottom: 1px solid var(--line); }.filter{min-height:36px;padding:0 12px;border:1px solid var(--line);background:transparent;color:var(--muted);font:9px var(--font-mono);cursor:pointer}.filter.active{border-color:var(--lime);color:var(--lime);background:color-mix(in srgb,var(--lime) 7%,transparent)}.filter b{margin-left:5px}.task-list.large{padding:14px}.task-list.large .task-row{min-height:72px}
.tech-grid { display:grid;grid-template-columns:.8fr 1.2fr;gap:10px}.tech-status{padding:22px}.tech-status strong{display:block;margin:16px 0 2px;font:900 54px var(--font-display)}.tech-status p{max-width:420px;margin:0 0 24px;color:var(--muted)}.tech-meter{height:10px;margin-top:24px;background:var(--surface-3);overflow:hidden}.tech-meter span{display:block;width:var(--value);height:100%;background:repeating-linear-gradient(135deg,var(--lime) 0 6px,color-mix(in srgb,var(--lime) 50%,transparent) 6px 10px);box-shadow:0 0 14px var(--lime)}.spec-list{margin:0;padding:0 18px}.spec-list div{min-height:58px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.spec-list dt{color:var(--muted);font:9px var(--font-mono);text-transform:uppercase}.spec-list dd{margin:0;font-weight:700}
.chat-shell { min-height:560px;display:grid;grid-template-columns:230px 1fr;border:1px solid var(--line);background:var(--surface)}.chat-shell>aside{padding:8px;border-right:1px solid var(--line)}.chat-thread{width:100%;min-height:60px;display:grid;grid-template-columns:32px 1fr;gap:8px;align-items:center;padding:8px;border:0;background:transparent;text-align:left;cursor:pointer}.chat-thread.active{background:var(--surface-2);border-left:2px solid var(--lime)}.chat-thread>span{color:var(--lime);font:18px var(--font-mono)}.chat-thread div{display:grid}.chat-thread b{font-size:11px}.chat-thread small{color:var(--muted);font:8px var(--font-mono)}.chat-main{display:grid;grid-template-rows:auto 1fr auto;min-width:0}.chat-main>header{min-height:64px;display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line)}.chat-main>header div{display:grid}.chat-main>header small{color:var(--muted);font:8px var(--font-mono)}.messages{padding:20px;display:flex;flex-direction:column;gap:20px}.messages article{display:flex;gap:10px;max-width:72%}.messages article.own{align-self:flex-end;flex-direction:row-reverse}.messages article>div{padding:10px 12px;background:var(--surface-2);border:1px solid var(--line)}.messages article.own>div{border-color:color-mix(in srgb,var(--lime) 30%,var(--line))}.messages p{margin:0 0 5px;display:flex;justify-content:space-between;gap:20px}.messages p b{font-size:10px}.messages time{color:var(--muted);font:8px var(--font-mono)}.messages article>div>span{font-size:11px}.composer{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border-top:1px solid var(--line)}.composer input{min-height:44px;padding:0 12px;border:1px solid var(--line);background:var(--surface-2);color:var(--text)}
.activity-list{padding:0 18px}.activity-list article{min-height:90px;display:grid;grid-template-columns:14px 1fr auto;gap:14px;align-items:center;border-bottom:1px solid var(--line)}.activity-mark{width:7px;height:34px;background:var(--cyan);box-shadow:0 0 12px color-mix(in srgb,var(--cyan) 60%,transparent)}.activity-mark.amber{background:var(--amber)}.activity-mark.lime{background:var(--lime)}.activity-list h2{margin:0;font:800 14px var(--font-display);text-transform:uppercase}.activity-list p{margin:2px 0;color:var(--muted);font-size:11px}.activity-list time{color:var(--muted);font:9px var(--font-mono)}
.people-grid article{min-height:92px;display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);background:var(--surface)}.people-grid h2{margin:0;font:800 14px var(--font-display);text-transform:uppercase}.people-grid p{margin:2px 0;color:var(--muted);font:9px var(--font-mono)}.people-grid .more-button{width:32px;height:32px;border:0;background:none}
.settings-form{max-width:820px;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:22px}.field{display:grid;gap:6px}.field label{color:var(--muted);font:700 9px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.field input,.field select{width:100%;min-height:46px;padding:0 12px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:0}.field input:hover,.field select:hover{border-color:var(--line-hot)}.form-actions{grid-column:1/-1;padding-top:6px}
.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.help-grid article{position:relative;min-height:180px;padding:22px;border:1px solid var(--line);background:var(--surface)}.help-index{position:absolute;top:14px;right:14px;color:var(--muted-2);font:9px var(--font-mono)}.help-grid h2{margin:34px 0 8px;font:800 18px var(--font-display);text-transform:uppercase}.help-grid p{max-width:580px;margin:0;color:var(--muted);font-size:12px}.help-contact{border-top:2px solid var(--violet)!important}.help-contact .button{margin-top:22px}

.auth-screen { width:100%;min-height:100vh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr);padding:0;overflow:hidden;background:var(--bg)}
.auth-brand{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;padding:40px clamp(32px,6vw,90px);overflow:hidden;border-right:1px solid var(--line);background:radial-gradient(circle at 85% 20%,color-mix(in srgb,var(--cyan) 14%,transparent),transparent 30%),repeating-linear-gradient(135deg,transparent 0 18px,var(--bg-grid) 18px 19px)}.auth-brand::after{content:"VH / 01";position:absolute;right:-18px;bottom:80px;color:color-mix(in srgb,var(--text) 5%,transparent);font:900 clamp(100px,18vw,260px)/.7 var(--font-display);transform:rotate(-90deg);transform-origin:bottom right;white-space:nowrap}.auth-brand>span{position:absolute;top:56px;left:120px;font:800 11px var(--font-mono);letter-spacing:.1em}.auth-brand>div{position:relative;z-index:1}.auth-brand h1{margin:12px 0 20px;font:900 clamp(60px,8vw,130px)/.8 var(--font-display);letter-spacing:-.05em;text-transform:uppercase}.auth-brand h1 em{color:var(--lime);font-style:normal;text-shadow:0 0 30px color-mix(in srgb,var(--lime) 18%,transparent)}.auth-brand p{max-width:520px;color:var(--muted);font-size:16px}.auth-signal{display:flex;gap:20px;color:var(--muted);font:9px var(--font-mono);text-transform:uppercase}.auth-signal span{display:flex;align-items:center;gap:7px}.auth-signal i{width:6px;height:6px;background:var(--lime);box-shadow:0 0 10px var(--lime)}
.auth-panel{position:relative;min-height:100vh;display:grid;grid-template-rows:1fr auto;place-items:center;padding:60px 8vw 24px;background:var(--surface)}.auth-theme{position:absolute;top:24px;right:24px}.auth-form{width:min(420px,100%)}.auth-form h2{margin:8px 0 6px;font:900 34px var(--font-display);text-transform:uppercase}.auth-form>p{margin:0 0 26px;color:var(--muted);font-size:12px}.auth-form .field{margin-bottom:15px}.auth-form .auth-switch{width:100%;margin-top:12px}.auth-panel footer{color:var(--muted-2);font:8px var(--font-mono);text-align:center}
.onboarding-screen{width:100%;min-height:100vh;display:grid;place-items:center;padding:24px;background:repeating-linear-gradient(135deg,transparent 0 18px,var(--bg-grid) 18px 19px)}.onboarding-card{width:min(560px,100%);padding:34px;border:1px solid var(--line);border-top:2px solid var(--lime);background:var(--surface);box-shadow:var(--shadow)}.onboarding-card>img{margin-bottom:28px}.onboarding-card h1{margin:8px 0;font:900 44px var(--font-display);text-transform:uppercase}.onboarding-card>p{margin:0 0 26px;color:var(--muted)}.onboarding-card .field{margin-bottom:16px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.onboarding-card>.text-button{width:100%;margin-top:12px}
.toast{position:fixed;z-index:80;right:24px;bottom:24px;max-width:min(420px,calc(100vw - 48px));padding:13px 16px;border:1px solid var(--lime);background:var(--surface);box-shadow:var(--shadow),0 0 20px color-mix(in srgb,var(--lime) 10%,transparent);font:10px var(--font-mono)}
.reveal{animation:reveal .48s var(--ease) both}.delay-1{animation-delay:.06s}.delay-2{animation-delay:.12s}.delay-3{animation-delay:.18s}@keyframes reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes pulse{50%{opacity:.4;box-shadow:0 0 0 7px transparent}}.live-pulse{animation:pulse 1.6s ease-in-out infinite}

@media (max-width: 1180px){
  .signal-rail{grid-template-columns:1.3fr repeat(3,1fr) auto}.signal-step:nth-of-type(4),.signal-step:nth-of-type(5){display:none}
  .dashboard-grid{grid-template-columns:1fr}.directory-grid,.people-grid{grid-template-columns:repeat(2,1fr)}
  .brief-grid{grid-template-columns:repeat(3,1fr)}.brief-grid article:nth-child(n+4){border-top:1px solid var(--line)}
}
@media (max-width: 900px){
  .app-shell{display:block}.workspace{grid-column:auto}.sidebar{transform:translateX(-102%);transition:transform .28s var(--ease)}.nav-open .sidebar{transform:none}.nav-scrim{position:fixed;z-index:25;inset:0;border:0;background:rgba(0,0,0,.64)}.nav-open .nav-scrim{display:block}.menu-button{display:inline-grid}
  .metric-grid{grid-template-columns:repeat(2,1fr)}.pipeline{grid-template-columns:repeat(4,270px)}.calendar-day{min-height:90px;padding:6px}.cal-event{font-size:7px}.brief-hero{grid-template-columns:auto 1fr}.brief-hero>.badge,.brief-hero>.button{grid-column:2}.tech-grid{grid-template-columns:1fr}
  .auth-screen{grid-template-columns:1fr}.auth-brand{min-height:44vh;padding:28px}.auth-brand>span{top:46px;left:106px}.auth-brand h1{font-size:clamp(54px,15vw,92px)}.auth-brand p{font-size:13px}.auth-panel{min-height:56vh;padding:54px 24px 24px}
}
@media (max-width: 640px){
  .topbar{height:58px;padding:0 14px}.live-status>span:nth-of-type(2),.live-status .topbar-clock,.top-actions>.badge{display:none}main{padding:24px 14px 70px}.page-heading{display:grid;align-items:start}.page-heading h1{font-size:42px}.page-heading>.button{width:100%}
  .signal-rail{grid-template-columns:1fr 1fr}.signal-title{grid-column:1/-1;border-bottom:1px solid var(--line)}.signal-step{display:none!important}.signal-step.active{display:flex!important}.signal-action{min-height:58px}
  .metric-grid{grid-template-columns:1fr 1fr}.metric-card{min-height:138px}.metric-card strong{font-size:34px}.dashboard-grid{display:block}.dashboard-grid>.panel+.panel{margin-top:10px}.callout{grid-template-columns:auto 1fr}.callout button{grid-column:2;justify-self:start}.table-head{display:none}.table-row{grid-template-columns:1fr 1fr;padding:10px 12px}.table-row>span:nth-child(4){grid-column:1/-1}
  .legend{display:none}.calendar-toolbar h2{font-size:17px;margin:0}.calendar-week span{padding:7px 3px;text-align:center}.calendar-day{min-height:64px;padding:4px}.cal-event{height:24px;padding:3px;font-size:0}.cal-event::after{content:"•";font-size:16px}
  .brief-hero{grid-template-columns:1fr}.brief-hero>*{grid-column:auto!important}.brief-id{width:68px;height:60px}.brief-grid{grid-template-columns:1fr 1fr}.brief-grid article{min-height:145px}.brief-grid article:nth-child(n+3){border-top:1px solid var(--line)}.brief-grid article:last-child{grid-column:1/-1}
  .directory-grid,.people-grid{grid-template-columns:1fr}.filter-row{overflow-x:auto}.task-row{grid-template-columns:30px 1fr auto}.task-row>.badge{grid-column:2}.chat-shell{grid-template-columns:1fr}.chat-shell>aside{display:none}.messages article{max-width:90%}.settings-form,.help-grid{grid-template-columns:1fr}.settings-form{padding:16px}.form-actions{grid-column:auto}.field-grid{grid-template-columns:1fr}.auth-brand{min-height:40vh}.auth-brand h1{font-size:54px}.auth-signal{display:none}.auth-panel{min-height:60vh}.onboarding-card{padding:24px}
  .guest-status{align-items:flex-start}.guest-status>.badge{margin-top:2px}.guest-grid{grid-template-columns:1fr}.availability-row{grid-template-columns:1fr auto}.availability-panel .panel-head{align-items:flex-start;flex-direction:column}.availability-panel .button{width:100%}
}
@media (max-width: 420px){.metric-grid{grid-template-columns:1fr}.timeline{padding-inline:10px}.timeline-row{grid-template-columns:44px 18px 1fr}.timeline-row>.badge{display:none}.timeline-row:not(:last-child)::after{left:58px}.brief-grid{grid-template-columns:1fr}.brief-grid article,.brief-grid article:last-child{grid-column:auto}.auth-brand h1{font-size:46px}}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
