@font-face{font-family:Diatype;src:url('/assets/fonts/diatype-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Diatype;src:url('/assets/fonts/diatype-medium.woff2') format('woff2');font-weight:500 700;font-display:swap}
@font-face{font-family:Otto;src:url('/assets/fonts/otto-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Diatype Mono;src:url('/assets/fonts/diatype-mono.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Geist Pixel;src:url('/assets/fonts/geist-pixel-square.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--background:#fff;--panel:#fdfdfd;--ink:#2c2b31;--muted:#767676;--faint:#a2a2a2;--line:#ececee;--blue:#386bff;--navigation:#929292;--input-border:#dedee2;--input-hover:#bcbcc3;--placeholder:#a0a0a5;--selection:#d8e2ff;--button-border:#e3e3e3;--button-background:linear-gradient(#f6f6f6 0%,#eee 37%,#eee 61%,#f6f6f6 100%);--code:#627bb9;--backdrop:rgba(32,31,35,.15);--sidebar:240px;--column:800px;color-scheme:light}
:root[data-theme=dark]{--background:#141416;--panel:#1b1b1f;--ink:#e5e5e9;--muted:#aaaab4;--faint:#8d8d99;--line:#2c2c32;--blue:#82a2ff;--navigation:#9d9da8;--input-border:#3c3c45;--input-hover:#62626f;--placeholder:#858591;--selection:#354774;--button-border:#44444e;--button-background:linear-gradient(#34343b 0%,#29292f 37%,#29292f 61%,#34343b 100%);--code:#9aafea;--backdrop:rgba(0,0,0,.4);color-scheme:dark}
*{box-sizing:border-box;scrollbar-width:none}
*::-webkit-scrollbar{display:none;width:0;height:0}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--background);color:var(--ink);font-family:Diatype,Arial,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
button{font:inherit;cursor:pointer;color:inherit;border:0;background:none;padding:0}
a{color:inherit;text-decoration:none}
button,a{-webkit-tap-highlight-color:transparent}
:focus{outline:none}
:is(a,button,summary):focus-visible{text-decoration-line:underline;text-decoration-thickness:2px;text-underline-offset:.2em}
::selection{background:var(--selection)}
h1,h2,h3,p,figure,pre{margin:0}
h1{font:400 28px/1.3 Otto,Georgia,serif;letter-spacing:-.035em}
h2{font:400 23px/1.35 Otto,Georgia,serif;letter-spacing:-.025em}
h3{font:400 14px/1.5 Diatype,Arial,sans-serif}
p{color:var(--muted);letter-spacing:.015em}
.skip-link{position:fixed;top:8px;left:8px;z-index:20;background:var(--background);padding:8px 16px;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.sidebar{width:var(--sidebar);position:fixed;left:max(0px,calc((100vw - 1440px)/2));top:0;bottom:0;padding:124px 44px 42px;display:flex;flex-direction:column;z-index:5;background:var(--background)}
.brand{display:inline-flex;align-items:center;gap:8px;width:max-content;color:var(--ink)}
.brand-mark{display:block;font:400 21px/31px 'Geist Pixel',monospace;letter-spacing:0;white-space:nowrap}
.navigation{margin-top:24px;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.navigation a,.auth-navigation a{font-size:14px;line-height:21px;letter-spacing:.015em;color:var(--navigation);transition:color .15s}
.navigation a:hover,.auth-navigation a:hover,.navigation a[aria-current=page],.auth-navigation a[aria-current=page]{color:var(--ink)}
.auth-navigation{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin-top:29px}
.system-status{display:flex;align-items:center;gap:8px;width:max-content;max-width:100%;margin-top:auto;color:var(--muted);font-size:12px;white-space:nowrap}
.system-status:hover{color:var(--ink)}
.system-status span{width:7px;height:7px;flex:none;border-radius:50%;background:var(--blue)}
.mobile-menu{display:none}
.mobile-drawer{display:none}
body.drawer-open{position:fixed;width:100%;overflow:hidden}
.main{position:relative;margin-left:calc(max(0px,(100vw - 1440px)/2) + var(--sidebar));width:min(var(--column),calc(100% - var(--sidebar)));min-height:100vh;padding-top:128px;display:flex;flex-direction:column;isolation:isolate}
.main:before{content:'';pointer-events:none;position:absolute;left:0;top:0;bottom:0;width:1px;z-index:-1;background:linear-gradient(to bottom,transparent 0,var(--line) 400px,var(--line) calc(100% - 80px),transparent 100%)}
.page{padding-bottom:0;flex:1}
.inset{padding-left:32px;padding-right:32px}
.hero-copy{display:flex;flex-direction:column;gap:24px}
.hero-copy p{max-width:670px;line-height:1.7}
.hero-description{display:flex;flex-direction:column;gap:16px}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.home-account-action{display:inline-flex;width:128px}
.home-account-action .button{width:100%}
.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:max-content;max-width:100%;min-height:27px;border-radius:5px;padding:2px 9px;font-size:14px;line-height:21px;letter-spacing:.005em;border:1px solid var(--button-border);background:var(--button-background);box-shadow:0 1px 1px #00000003;transition:filter .15s,transform .15s;white-space:nowrap}
.button:hover{filter:brightness(1.025)}
.button:active{transform:translateY(1px)}
.button-primary{color:#ffffff;border-color:#0041ffad;background:linear-gradient(#6b91ff 0%,#386bff 37%,#386bff 61%,#5581ff 100%);box-shadow:inset 0 0 0 1px #ffffff16,0 1px 2px #00000008;text-shadow:0 1px 1px #00000016}
.noscript{padding:40px}
.text-link{font-size:13px;color:var(--muted);display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;text-decoration:underline;text-underline-offset:3px}
.text-link:hover{color:var(--ink)}
.page-header{margin-bottom:26px;max-width:670px}
.page-header p{margin-top:23px;line-height:1.7}
.prose{max-width:630px}
.prose p{line-height:1.7}
.prose p+p{margin-top:18px}
.contact-content{width:100%;max-width:440px}
.contact-form{display:flex;flex-direction:column;gap:22px}
:is(.contact-field,.auth-field){display:flex;flex-direction:column;gap:8px}
:is(.contact-field,.auth-field) label{font-size:13px;line-height:20px}
:is(.contact-field,.auth-field) :is(input,textarea){display:block;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--input-border);border-radius:5px;background:var(--background);color:var(--ink);font:400 16px/22px Diatype,Arial,sans-serif;transition:border-color .15s}
:is(.contact-field,.auth-field) :is(input,textarea)::placeholder{color:var(--placeholder);font-size:14px;opacity:1}
:is(.contact-field,.auth-field) :is(input,textarea):hover:not(:focus){border-color:var(--input-hover)}
.contact-submit{width:100%;min-height:42px;padding:9px 13px;justify-content:space-between;margin-top:2px}
.contact-submit span{font-size:16px;line-height:20px}
.contact-status{margin-top:-10px;font-size:12px;line-height:19px;letter-spacing:0;color:var(--muted)}
@media(max-width:999px){:root{--sidebar:200px}.sidebar{padding:88px 30px 30px}.main{padding-top:92px}.inset{padding-left:28px;padding-right:28px}}
@media(max-width:700px){
  :root{--sidebar:0px}
  .sidebar{position:sticky;left:0;top:0;width:100%;height:56px;padding:0 24px;flex-direction:row;align-items:center;border-bottom:1px solid var(--line);background:var(--background)}
  .brand-mark{font-size:21px;line-height:30px}
  .mobile-menu,.drawer-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-10px;color:var(--ink);flex:none}
  :is(.mobile-menu,.drawer-close):focus-visible{background:var(--line);border-radius:5px}
  .mobile-menu{margin-left:auto}
  .navigation,.auth-navigation,.system-status{display:none}
  .mobile-drawer{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--ink);overflow:hidden;outline:none}
  .mobile-drawer[open]{display:block}
  .mobile-drawer::backdrop{background:transparent}
  .drawer-backdrop{position:absolute;inset:0;background:var(--backdrop);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fade-in .28s ease}
  .drawer-header{position:absolute;inset:0 0 auto;height:56px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;background:var(--background)}
  .drawer-panel{position:absolute;inset:auto 0 0;max-height:calc(100svh - 64px);overflow-y:auto;overscroll-behavior:contain;border-radius:24px 24px 0 0;background:var(--background);padding:0 32px max(48px,env(safe-area-inset-bottom));animation:drawer-slide-in .28s cubic-bezier(.22,1,.36,1)}
  .drawer-handle{display:flex;justify-content:center;padding:18px 0 26px;touch-action:none;cursor:grab}
  .drawer-handle:active{cursor:grabbing}
  .drawer-handle span{display:block;width:100px;height:4px;border-radius:999px;background:var(--input-border)}
  .drawer-navigation,.drawer-auth{display:flex;flex-direction:column;gap:4px}
  .drawer-navigation a,.drawer-auth a{display:block;margin:-2px 0;padding:2px 0;font-size:19px;line-height:1.5;color:var(--navigation);transition:color .15s}
  .drawer-navigation a:hover,.drawer-auth a:hover,.drawer-navigation a[aria-current=page],.drawer-auth a[aria-current=page]{color:var(--ink)}
  .drawer-auth{margin-top:40px;min-height:61px}
  .mobile-drawer.is-closing .drawer-panel{animation:drawer-slide-out .18s ease-in forwards}
  .mobile-drawer.is-closing .drawer-backdrop{animation:drawer-fade-out .18s ease-in forwards}
  .main{width:100%;margin-left:0;padding-top:39px;min-height:calc(100vh - 56px)}
  .main:before{display:none}
  .inset{padding-left:24px;padding-right:24px}
  h1{font-size:27px;line-height:1.32}
  h2{font-size:22px}
  .hero-copy{gap:22px}
  .hero-copy p,.page-header p,.prose p{font-size:14px;line-height:1.65}
  .hero-description{gap:15px}
}
@keyframes drawer-slide-in{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes drawer-slide-out{to{transform:translateY(100%)}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@keyframes drawer-fade-out{to{opacity:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Content retains the established typography and narrow page column. */
.technical-section{margin-top:40px}
.technical-section h2{margin-bottom:18px}
.technical-section p{max-width:650px;line-height:1.7}
.technical-section p+p{margin-top:16px}
.site-footer{border-top:1px solid var(--line);margin-top:24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;padding-top:24px;padding-bottom:40px;color:var(--muted);font-size:12px}
.site-footer nav{display:flex;flex-wrap:wrap;gap:12px 18px;align-content:flex-start}
@media(max-width:700px){
  html{scroll-padding-top:80px}
  .technical-section{margin-top:32px}
  .feature-rows .technical-section{margin-top:28px}
  .technical-section p{font-size:14px}
  .site-footer{flex-direction:column;padding-bottom:32px}
}

.audience-rows{margin-top:40px}
.audience-row{display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;padding:30px 0;border-top:1px solid var(--line)}
.audience-row h2{font:400 13px/1.7 Diatype,Arial,sans-serif;letter-spacing:0}
.audience-row p{line-height:1.7}
.audience-row .text-link{margin-top:18px}
.contact-field textarea{resize:vertical;min-height:130px}
.contact-submit span{font-size:16px;line-height:20px}
.contact-page .contact-status{margin-top:0}
@media(max-width:700px){.audience-row{grid-template-columns:1fr;gap:12px;padding:26px 0}.audience-row p{font-size:14px}}

/* Standalone account layout; typography and controls use the site styles. */
.auth-layout{
  display:grid;grid-template-columns:minmax(0,1fr);min-height:100vh;min-height:100dvh;
  --otp-inactive-ink:oklch(.83 .001 75);
}
:root[data-theme=dark] .auth-layout{--otp-inactive-ink:var(--faint)}
:is(.auth-layout,.dashboard-frame){
  --button-primary-bg:oklch(.244 .001 75);--button-primary-hover:oklch(.375 .001 75);--button-primary-ink:#fff;
  --button-secondary-bg:oklch(.982 .001 75);--button-secondary-hover:oklch(.966 .001 75);--button-secondary-ink:oklch(.15 .001 75);
  --button-disabled-bg:oklch(.919 .001 75);--button-disabled-ink:oklch(.602 .001 75);
  --button-ease:cubic-bezier(.24,.8,.24,1);
}
:root[data-theme=dark] :is(.auth-layout,.dashboard-frame){
  --button-primary-bg:oklch(.93 .001 75);--button-primary-hover:oklch(.86 .001 75);--button-primary-ink:#141416;
  --button-secondary-bg:oklch(.25 .006 285);--button-secondary-hover:oklch(.3 .006 285);--button-secondary-ink:var(--ink);
  --button-disabled-bg:oklch(.29 .006 285);--button-disabled-ink:var(--faint);
}
.auth-column{display:flex;flex-direction:column;padding:24px 24px 0}
.auth-brand{display:flex;align-items:center;justify-content:space-between;padding-block:8px}
.auth-content{max-width:425px;margin:120px 0 48px}
.auth-header{margin-bottom:72px}
.auth-header p{margin-top:16px}
.auth-methods{display:flex;flex-direction:column;gap:12px}
.auth-layout [hidden]{display:none}
.auth-pill{
  --button-bg:var(--button-secondary-bg);--button-hover:var(--button-secondary-hover);
  display:inline-flex;align-items:center;justify-content:center;gap:6px;width:max-content;max-width:100%;min-height:36px;
  border:0;border-radius:999px;padding:8px 16px;color:var(--button-secondary-ink);background-color:var(--button-bg);
  font-size:14px;font-weight:400;line-height:20px;letter-spacing:.005em;white-space:nowrap;
  transition:transform .32s var(--button-ease),background-color .18s var(--button-ease),color .18s var(--button-ease);
}
.auth-pill-primary{--button-bg:var(--button-primary-bg);--button-hover:var(--button-primary-hover);color:var(--button-primary-ink)}
@media(hover:hover){.auth-pill:not(:disabled):hover{background-color:var(--button-hover)}}
.auth-pill:not(:disabled):active{transform:scale(.992)}
.auth-pill:disabled{background-color:var(--button-disabled-bg);color:var(--button-disabled-ink);cursor:not-allowed}
.auth-button{position:relative;width:100%;padding-inline:36px;white-space:normal}
.auth-button svg{position:absolute;left:16px;top:50%;width:16px;height:16px;transform:translateY(-50%)}
.password-field{position:relative}
.auth-field .password-field input{padding-right:64px}
.password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);min-height:34px;min-width:52px;padding:0 8px;border-radius:4px;font-size:12px;color:var(--muted)}
.password-toggle:hover{color:var(--ink)}
.auth-status{font-size:12px;line-height:19px;letter-spacing:0}
.auth-status:not(:empty){margin-top:12px}
.auth-column .site-footer{max-width:var(--column);margin-top:auto}
@media(min-width:768px){.auth-column{padding:64px 120px 0}}
@media(max-height:650px){
  .auth-content{margin-top:72px}
  .auth-header{margin-bottom:40px}
}

/* Email forms reveal the password while keeping the email field in place. */
.auth-form:not([hidden]),.signup-verification:not([hidden]),.login-reset-header:not([hidden]){animation:fade-in-up .25s ease-out both}
@keyframes fade-in-up{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.auth-form .auth-field input:disabled{color:var(--muted);border-color:var(--line);background:var(--panel);opacity:1}
.auth-password-reveal{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .28s cubic-bezier(.22,1,.36,1),opacity .2s ease}
.auth-password-reveal:not([inert]){grid-template-rows:1fr;opacity:1}
.auth-password-panel{min-height:0;overflow:clip;overflow-clip-margin:5px}
.auth-password-panel .auth-field{margin-top:20px}
.auth-form-actions{display:flex;align-items:center;gap:12px;margin-top:40px}
.login-password-label{display:flex;align-items:center;justify-content:space-between;gap:8px}
.login-password-label .text-link{text-decoration:none}
[data-login-step=reset] .site-footer,[data-login-step=verify] .site-footer{display:none}
.login-code-form .auth-field+.auth-field{margin-top:20px}
.login-reset-header{overflow-wrap:anywhere}
[data-login-step=verify] .login-reset-header{margin-bottom:0}
.login-resend{margin-top:20px}
.auth-field-hint{margin-top:6px;color:var(--muted);font-size:13px;line-height:20px}
.organization-onboarding [data-retry-memberships]{margin-top:24px}
.organization-name-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.organization-onboarding :is([data-create-organization],[data-memberships]){margin-top:20px}
.organization-onboarding [data-memberships] button{overflow-wrap:anywhere}

/* Clerk draws field borders and focus rings with shadows. */
:is(.cl-rootBox,.cl-modalBackdrop) :focus { outline: none !important; }
:is(.cl-rootBox,.cl-modalBackdrop) :is(a,button,[role=button],[role=menuitem]):focus { box-shadow: none !important; }
:is(.cl-formFieldInput[data-variant=default],.cl-formInputGroup,.cl-phoneInputBox,.cl-otpCodeFieldInput) {
  border: 1px solid var(--clerk-field-border, #80808059) !important;
  box-shadow: none !important;
}
:is(.cl-rootBox,.cl-modalBackdrop) :is([aria-invalid=true],[data-feedback=error]) { --clerk-field-border: #c74a57; }

.dashboard-frame {
  --dashboard-rail: clamp(188px, 15vw, 264px);
  --dashboard-overlap: 12px;
  --dashboard-backdrop: #eeeff0;
  --dashboard-sidebar-bg: #f5f5f5;
  --dashboard-surface: var(--background);
  --dashboard-ink: #151515;
  --dashboard-muted: #67686a;
  --dashboard-active: #fbfbfb;
  --dashboard-hover: #ffffff80;
  --dashboard-menu-bg: #fff;
  --dashboard-menu-border: #d0d0d5;
  display: grid;
  grid-template-columns: calc(var(--dashboard-rail) + var(--dashboard-overlap)) minmax(0, 1fr);
  min-height: 100vh;
  min-height: 100dvh;
  background: var(--dashboard-backdrop);
  color: var(--dashboard-ink);
}
:root[data-theme=dark] .dashboard-frame {
  --dashboard-backdrop: #202024;
  --dashboard-sidebar-bg: #242428;
  --dashboard-ink: #f0f0f1;
  --dashboard-muted: #a9a9ae;
  --dashboard-active: #353539;
  --dashboard-hover: #ffffff0d;
  --dashboard-menu-bg: #303035;
  --dashboard-menu-border: #494950;
}
.dashboard-sidebar {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 24px calc(14px + var(--dashboard-overlap)) 16px 18px;
  background: linear-gradient(var(--dashboard-backdrop) 18%, var(--dashboard-sidebar-bg) 78%);
}
.dashboard-brand {
  flex: none;
  height: 34px;
  margin: 0 0 54px 9px;
  border-radius: 6px;
}
.dashboard-nav, .dashboard-profile-options {
  display: grid;
  gap: 2px;
}
.dashboard-nav { margin-bottom: 28px; }
.dashboard-nav-item {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 33px;
  padding: 6px 9px;
  border-radius: 8px;
  color: var(--dashboard-muted);
  font-size: 13px;
  line-height: 20px;
}
.dashboard-nav-item svg, .dashboard-profile-chevron {
  width: 14px;
  height: 14px;
  flex: none;
}
.dashboard-nav-item[aria-current] {
  background: var(--dashboard-active);
  color: var(--dashboard-ink);
}
.dashboard-nav-item:not([aria-current], :disabled):hover, .dashboard-profile-trigger:hover, .dashboard-profile-trigger[aria-expanded=true] {
  background: var(--dashboard-hover);
  color: var(--dashboard-ink);
}
.dashboard-nav-item:disabled { cursor: default; }
.dashboard-content {
  --dashboard-gutter: clamp(24px, 3.75vw, 72px);
  --chart-supply: #4a86c5;
  --chart-demand: #1f2329;
  --chart-shortfall: #d46a5e;
  position: relative;
  z-index: 1;
  margin: 11px 5px 4px calc(-1 * var(--dashboard-overlap));
  padding: 40px var(--dashboard-gutter);
  border-radius: 12px 12px 4px 4px;
  background: var(--dashboard-surface);
  color: var(--ink);
}
:root[data-theme=dark] .dashboard-content {
  --chart-supply: #6ca6e8;
  --chart-demand: #e6e9ee;
  --chart-shortfall: #f08a7f;
}
.dashboard-home-header { margin-bottom: 46px; }
.dashboard-chart-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px 16px;
}
.dashboard-chart-controls,
.dashboard-chart-filters,
.dashboard-chart-ranges {
  display: flex;
  gap: 6px;
}
.dashboard-chart-controls {
  flex-wrap: wrap;
  justify-content: flex-end;
  margin-inline-start: auto;
}
.dashboard-chart-select { position: relative; }
.dashboard-chart-select-trigger {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 33px;
  padding-inline: 14px;
  border: 1px solid #080706;
  border-radius: 999px;
  background: #151311;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  line-height: 18px;
  white-space: nowrap;
}
.dashboard-chart-select-trigger:disabled { cursor: default; opacity: .6; }
:is(.dashboard-chart-select-trigger, .dashboard-chart-select-option):focus-visible span {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.dashboard-chart-select-trigger svg, .dashboard-chart-select-option svg { width: 12px; height: 12px; flex: none; }
.dashboard-chart-select-menu {
  position: absolute;
  z-index: 2;
  inset-block-start: calc(100% + 5px);
  inset-inline-end: 0;
  min-width: 100%;
  padding: 4px;
  border: 1px solid var(--dashboard-menu-border);
  border-radius: 10px;
  background: var(--dashboard-menu-bg);
  box-shadow: 0 6px 20px #00000026;
}
.dashboard-chart-select-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  min-height: 32px;
  padding-inline: 8px;
  border-radius: 6px;
  color: var(--dashboard-ink);
  font-size: 12px;
  white-space: nowrap;
}
.dashboard-chart-select-option[aria-checked=false] svg { visibility: hidden; }
.dashboard-chart-select-option:hover {
  background: var(--button-secondary-hover);
  text-decoration: none;
}
:root[data-theme=dark] :is(.dashboard-chart-select-trigger, .dashboard-chart-select-menu) { border-color: #909099; }
:root[data-theme=dark] .dashboard-chart-select-trigger { background: #34343b; }
:root[data-theme=dark] .dashboard-chart-select-trigger:not(:disabled):is(:hover, [aria-expanded=true]) { background: #41414b; }
:root[data-theme=dark] .dashboard-chart-select-menu {
  --button-secondary-hover: #41414b;
  background: #27272d;
}
.dashboard-headroom { margin: 0; }
.dashboard-headroom dt {
  color: var(--dashboard-muted);
  font-size: 13px;
  line-height: 18px;
}
.dashboard-headroom dd { margin: 6px 0 0; }
.dashboard-headroom-value {
  display: block;
  color: var(--dashboard-ink);
  font-size: 24px;
  line-height: 30px;
  font-variant-numeric: tabular-nums;
}
.dashboard-headroom-value[data-tone=positive] { color: #187346; }
.dashboard-headroom-value[data-tone=negative] { color: var(--chart-shortfall); }
:root[data-theme=dark] .dashboard-headroom-value[data-tone=positive] { color: #75d6a2; }
.dashboard-headroom-context {
  display: block;
  margin-top: 2px;
  color: var(--dashboard-muted);
  font-size: 12px;
  line-height: 16px;
}
.dashboard-home-chart {
  position: relative;
  height: clamp(188px, 27vw, 240px);
  margin: 12px calc(-1 * var(--dashboard-gutter)) 0;
  background: radial-gradient(circle, var(--line) .7px, transparent 1.2px) 0 0 / 24px 24px;
  color: var(--chart-supply);
}
.dashboard-home-chart > svg { display: block; width: 100%; height: 100%; overflow: hidden; }
.dashboard-home-chart > svg[hidden], .dashboard-chart-legend[hidden] { display: none; }
.dashboard-chart-empty:not([hidden]) {
  display: grid;
  place-items: center;
  height: 100%;
  padding-inline: var(--dashboard-gutter);
  background: var(--dashboard-surface);
  color: var(--dashboard-muted);
  text-align: center;
  font-size: 13px;
}
.dashboard-chart-supply { color: var(--chart-supply); }
.dashboard-chart-demand { color: var(--chart-demand); }
.dashboard-chart-line { fill: none; stroke: currentColor; stroke-width: 1.75px; }
.dashboard-chart-projected { stroke-dasharray: 5 4; }
.dashboard-chart-band { fill: var(--chart-demand); fill-opacity: .08; }
.dashboard-chart-today {
  position: absolute;
  inset-block: 0 17px;
  border-left: 1px dashed var(--faint);
  pointer-events: none;
}
.dashboard-chart-today span {
  position: absolute;
  top: 100%;
  padding-inline: 4px;
  background: var(--dashboard-surface);
  color: var(--dashboard-muted);
  font-size: 11px;
  line-height: 17px;
  transform: translateX(-50%);
}
.dashboard-chart-hover {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.dashboard-chart-guide {
  position: absolute;
  inset-block: 0;
  left: var(--chart-x);
  width: 1px;
  background: var(--line);
  transform: translateX(-50%);
}
.dashboard-chart-dot {
  position: absolute;
  left: var(--chart-x);
  width: 9px;
  height: 9px;
  border: 1px solid var(--dashboard-surface);
  border-radius: 50%;
  background: currentColor;
  transform: translate(-50%, -50%);
}
.dashboard-chart-dot.dashboard-chart-supply { top: var(--supply-y); }
.dashboard-chart-dot.dashboard-chart-demand { top: var(--demand-y); }
.dashboard-chart-readout {
  --date-width: 44px;
  --readout-gap: 16px;
  --readout-left: calc(var(--chart-x) - var(--readout-width) + var(--date-width) + var(--readout-gap) / 2);
  position: absolute;
  top: 8px;
  left: clamp(4px, var(--readout-left), 100% - var(--readout-width) - 4px);
  width: max-content;
  display: grid;
  grid-template-columns: max-content var(--date-width);
  column-gap: var(--readout-gap);
  align-items: start;
  color: var(--dashboard-ink);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.dashboard-chart-readout :is(dt, dd, span) { background: var(--dashboard-surface); }
.dashboard-chart-readout > span { justify-self: start; color: var(--dashboard-muted); white-space: nowrap; }
.dashboard-chart-readout dl { margin: 0; }
.dashboard-chart-readout dl > div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}
.dashboard-chart-readout dt { color: var(--dashboard-muted); }
.dashboard-chart-readout dd { margin: 0; white-space: nowrap; }
.dashboard-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
  color: var(--dashboard-muted);
  font-size: 11px;
}
.dashboard-chart-legend li {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.dashboard-chart-legend li > span { width: 16px; border-top: 2px solid currentColor; }
.dashboard-chart-legend .dashboard-chart-projected { border-top-style: dashed; }
.dashboard-greeting-name[data-reveal] { animation: fade-in .28s ease-out; }
.dashboard-profile {
  position: relative;
  margin-top: auto;
  font-size: 13px;
}
.dashboard-profile-trigger {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-height: 42px;
  padding: 6px 8px;
  border-radius: 8px;
  text-align: start;
}
.dashboard-avatar {
  position: relative;
  display: grid;
  place-items: center;
  flex: none;
  width: 28px;
  height: 28px;
  overflow: hidden;
  border-radius: 50%;
  background: var(--dashboard-surface);
  color: var(--dashboard-muted);
  font-size: 10px;
}
.dashboard-avatar img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.dashboard-profile-label {
  display: grid;
  flex: 1;
  min-width: 0;
  line-height: 17px;
}
.dashboard-profile-label span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dashboard-user, .dashboard-profile-chevron { color: var(--dashboard-muted); }
.dashboard-user { font-size: 11px; }
.dashboard-profile-chevron { transition: transform .18s ease-out; }
.dashboard-profile-trigger[aria-expanded=true] .dashboard-profile-chevron { transform: rotate(180deg); }
.dashboard-profile-options {
  position: absolute;
  z-index: 2;
  inset: auto auto calc(100% + 6px) 0;
  width: 100%;
  padding: 4px;
  border: 1px solid var(--dashboard-menu-border);
  border-radius: 9px;
  background: var(--dashboard-menu-bg);
  box-shadow: 0 6px 20px #00000026;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity .26s ease-out, transform .26s ease-out, visibility 0s .26s;
}
:root:not([data-theme=dark]) .dashboard-profile-options { --dashboard-hover: #00000008; }
.dashboard-profile-trigger[aria-expanded=true] + .dashboard-profile-options {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-delay: 0s;
}
.dashboard-theme-indicator {
  display: flex;
  align-items: center;
  flex: none;
  width: 24px;
  height: 14px;
  margin-inline-start: auto;
  padding: 2px;
  border: 1px solid currentColor;
  border-radius: 999px;
}
.dashboard-theme-indicator::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  transition: transform .18s ease-out;
}
[data-theme-toggle][aria-checked=true] .dashboard-theme-indicator {
  border-color: var(--blue);
  background: var(--blue);
  color: var(--dashboard-menu-bg);
}
[data-theme-toggle][aria-checked=true] .dashboard-theme-indicator::before { transform: translateX(10px); }
.dashboard-profile-options .auth-status:not(:empty) {
  margin: 0;
  padding: 4px 9px;
  color: var(--dashboard-muted);
  font-size: 11px;
  overflow-wrap: anywhere;
}

@media (width > 700px) {
  .dashboard-sidebar {
    position: sticky;
    top: 0;
    align-self: start;
    height: 100vh;
    height: 100dvh;
  }
}
@media (width > 700px) and (max-height: 420px) {
  .dashboard-sidebar { padding-block: 12px; }
  .dashboard-brand { margin-bottom: 16px; }
  .dashboard-nav { margin-bottom: 12px; }
}

@media (max-width: 700px) {
  .dashboard-frame { display: flex; flex-direction: column; background: var(--dashboard-surface); }
  .dashboard-frame :is(.mobile-menu, .drawer-close):focus-visible {
    background: transparent;
    color: var(--data-accent);
  }
  .dashboard-sidebar {
    position: sticky;
    top: 0;
    z-index: 5;
    flex: none;
    flex-direction: row;
    align-items: center;
    height: 56px;
    padding: 0 24px;
    border-bottom: 1px solid var(--line);
    background: var(--dashboard-surface);
  }
  .dashboard-brand { margin: 0; }
  .dashboard-content {
    --dashboard-gutter: 24px;
    flex: 1;
    min-width: 0;
    margin: 0;
    padding-block: 32px max(32px, env(safe-area-inset-bottom));
    border-radius: 0;
  }
  .dashboard-content .page-header { overflow-wrap: anywhere; }
  .dashboard-home-header { margin-bottom: 32px; }
  .dashboard-chart-header { flex-direction: column; gap: 20px; }
  .dashboard-chart-controls { justify-content: flex-start; margin-inline-start: 0; }
  .dashboard-chart-controls, .dashboard-chart-filters, .dashboard-chart-ranges { gap: 8px; }
  .dashboard-chart-select-trigger, .dashboard-chart-select-option { min-height: 44px; }
  .dashboard-chart-select-menu { inset-inline: 0 auto; }
  .dashboard-home-chart { height: 220px; margin-top: 20px; }
  .dashboard-chart-legend { gap: 8px 16px; margin-top: 16px; }
  .dashboard-drawer .drawer-panel { padding: 0 24px max(24px, env(safe-area-inset-bottom)); }
  .dashboard-drawer .dashboard-nav { margin-bottom: 16px; }
  .dashboard-drawer .dashboard-nav-item { min-height: 44px; font-size: 15px; }
  .dashboard-drawer .dashboard-nav-item svg { width: 18px; height: 18px; }
  .dashboard-drawer .dashboard-profile { padding-top: 16px; border-top: 1px solid var(--line); }
  .dashboard-drawer .dashboard-profile-trigger { min-height: 52px; }
  .dashboard-drawer .dashboard-profile-options {
    position: static;
    display: none;
    margin-top: 8px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
    transition: none;
  }
  .dashboard-drawer .dashboard-profile-trigger[aria-expanded=true] + .dashboard-profile-options {
    display: grid;
  }
  .dashboard-drawer .dashboard-profile-chevron { transform: rotate(180deg); }
  .dashboard-drawer .dashboard-profile-trigger[aria-expanded=true] .dashboard-profile-chevron {
    transform: none;
  }
}

.signup-password-hint{display:flex;align-items:center;gap:6px}
.signup-password-hint svg{display:none;flex:none;color:var(--blue)}
.signup-password-hint[data-met] svg{display:block}
[data-signup-step=verify] .auth-content > .auth-header,
[data-signup-step=verify] .site-footer{display:none}
.signup-verification .auth-header{margin-bottom:0;overflow-wrap:anywhere}
.auth-code{position:relative;width:max-content;max-width:100%;margin-top:40px}
.auth-code input{position:absolute;inset:0;width:100%;height:100%;opacity:0;font-size:16px;cursor:text}
.auth-code-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 28px repeat(3,minmax(0,1fr));align-items:center;gap:6px;width:352px;max-width:100%;pointer-events:none}
.auth-code-slot{position:relative;display:grid;place-items:center;height:48px;border-radius:6px;background:var(--button-secondary-bg);font-size:20px;line-height:1;font-variant-numeric:tabular-nums}
.auth-code-slot[data-empty]{color:var(--otp-inactive-ink)}
.auth-code:focus-within .auth-code-slot[data-active]:not([data-empty]){text-decoration:underline 2px;text-underline-offset:.2em}
.auth-code:focus-within .auth-code-slot[data-active][data-empty]{color:transparent}
.auth-code:focus-within .auth-code-slot[data-active][data-empty]::after{content:'';position:absolute;left:50%;width:1px;height:20px;background:var(--ink);transform:translateX(-50%);animation:otp-caret 1s step-end infinite}
@keyframes otp-caret{50%{opacity:0}}
.auth-code-separator{text-align:center;font-size:20px;color:var(--muted)}
.signup-verification-actions{display:grid;justify-items:start;gap:6px;margin-top:48px}
.signup-verification-actions .text-link{text-decoration:none}
.signup-verification-actions button:disabled{color:var(--otp-inactive-ink);cursor:default}
@media(min-width:768px) and (min-height:651px){
  [data-signup-step=verify] .auth-content{margin-top:110px}
  .auth-code{margin-top:83px}
  .signup-verification-actions{margin-top:88px}
}

/* Shared editorial visuals and terminal palette. */
:root{--data-accent:#496cae;--terminal-bg:#f6f7f9;--terminal-ink:var(--ink);--terminal-muted:#62626f;--terminal-border:#d8dce3;--terminal-divider:#e1e4ea;--terminal-selection:var(--selection)}
:root[data-theme=dark]{--data-accent:#8faeea;--terminal-bg:#191c22;--terminal-ink:#e1e5ee;--terminal-muted:#a0a7b4;--terminal-border:#363b46;--terminal-divider:#ffffff12;--terminal-selection:#7489b566}
.section-link{margin-top:24px}
.section-followup{margin-top:26px}
.home-page>.technical-section{margin-top:60px}
.capacity-plan,.capacity-definitions,.decision-figure{margin-top:28px;min-width:0}
.table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--input-border) transparent}
.table-scroll::-webkit-scrollbar{display:block;height:4px}
.table-scroll::-webkit-scrollbar-thumb{background:var(--input-border);border-radius:2px}
.table-scroll:focus-visible thead th{background:var(--line)}
.editorial-table{width:100%;border-collapse:collapse;font:13px/1.6 Diatype,Arial,sans-serif;font-variant-numeric:tabular-nums;color:var(--ink)}
.editorial-table th,.editorial-table td{padding:18px 12px;border-bottom:1px solid var(--line);text-align:right;font-weight:400;vertical-align:top}
.editorial-table thead th{padding-top:0;padding-bottom:12px;color:var(--muted);font-size:12px}
.editorial-table th:first-child{text-align:left;padding-left:0}
.editorial-table th:last-child,.editorial-table td:last-child{padding-right:0}
.editorial-table tbody tr:last-child>*{border-bottom:0}
.capacity-table{min-width:510px}
.capacity-table tbody th{white-space:nowrap}
.capacity-table th:first-child{position:sticky;left:0;background:var(--background);z-index:1}
.editorial-table .data-shortfall{color:var(--data-accent);font-weight:500}
.definitions-table th:first-child{width:28%;padding-right:24px}
.definitions-table td,.definitions-table thead th{text-align:left}
.definitions-table td{color:var(--muted)}
.decision-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:relative}
.decision-flow:before{content:'';position:absolute;left:4px;right:calc(100% / 3 - 4px);top:4px;height:1px;background:var(--input-border)}
.decision-stage{position:relative;padding:26px 16px 0 0}
.decision-stage:before{content:'';position:absolute;left:0;top:0;width:9px;height:9px;border:1px solid var(--muted);background:var(--background);border-radius:50%}
.decision-stage:last-child:before{border-color:var(--data-accent);background:var(--data-accent)}
.decision-stage h3{font:500 13px/1.6 Diatype,Arial,sans-serif;margin-bottom:12px}
.decision-stage:last-child h3{color:var(--data-accent)}
.decision-stage ul{list-style:none;margin:0;padding:0;color:var(--muted);font-size:13px;line-height:1.8}
@media(max-width:500px){
  .definitions-table th:first-child{width:36%;padding-right:16px}
  .editorial-table th,.editorial-table td{padding-top:16px;padding-bottom:16px}
  .editorial-table thead th{padding-top:0;padding-bottom:10px}
  .decision-flow{grid-template-columns:1fr;gap:24px}
  .decision-flow:before{display:none}
  .decision-stage{padding:0 0 0 28px}
  .decision-stage:before{top:5px}
  .decision-stage:not(:last-child):after{content:'';position:absolute;left:4px;top:14px;width:1px;height:calc(100% + 15px);background:var(--input-border)}
  .decision-stage h3{margin-bottom:6px}
  .decision-stage ul{display:grid;grid-template-columns:1fr 1fr;gap:2px 14px}
}
.dashboard-issues { margin-top: clamp(32px, 5vw, 56px); }
.dashboard-issues h2 {
  color: var(--dashboard-ink);
  font: 500 16px/22px Diatype, Arial, sans-serif;
  letter-spacing: 0;
}
.dashboard-issues-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
}
.dashboard-issues-heading .text-link { flex: none; min-height: 24px; }
.dashboard-issues-page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: none;
}
.dashboard-issues-search {
  position: relative;
  width: 216px;
  min-width: 0;
  color: var(--dashboard-muted);
  -webkit-tap-highlight-color: transparent;
}
.dashboard-issues-search svg {
  position: absolute;
  inset-inline-start: 11px;
  top: 50%;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  pointer-events: none;
}
.dashboard-issues-search input {
  display: block;
  width: 100%;
  min-height: 36px;
  padding-inline: 34px 10px;
  border: 1px solid var(--input-border);
  border-radius: 7px;
  background: var(--dashboard-surface);
  color: var(--dashboard-ink);
  font: inherit;
  font-size: 14px;
}
.dashboard-issues-search input::placeholder { color: var(--dashboard-muted); }
.dashboard-issues-pagination {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  padding-block-start: 6px;
  border-top: 1px solid var(--line);
  color: var(--dashboard-muted);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.dashboard-issues-pagination button {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 5px;
  color: var(--dashboard-ink);
}
.dashboard-issues-pagination svg { width: 14px; height: 14px; }
.dashboard-issues-pagination button:disabled { cursor: default; opacity: .35; }
.dashboard-issues-pagination button:not(:disabled):hover { background: var(--button-secondary-hover); }
.dashboard-issues-pagination button:focus-visible { color: var(--data-accent); }
@media (max-width: 700px) {
  .dashboard-issues-heading .text-link { min-height: 44px; }
  .dashboard-issues-pagination button { width: 44px; height: 44px; }
  .dashboard-issues-search input { min-height: 44px; font-size: 16px; }
}
.dashboard-issues-table tr > :nth-child(2) { width: 1%; white-space: nowrap; }
.dashboard-issues-table tbody :is(th, td) { padding-block: 12px; }
.dashboard-issues-table tbody .dashboard-issues-empty {
  padding-block: 24px;
  color: var(--dashboard-muted);
  text-align: center;
}
.dashboard-issues-table time { color: var(--dashboard-muted); line-height: 24px; }
.dashboard-issue-trigger {
  display: block;
  color: var(--data-accent);
  font-weight: 500;
  line-height: 24px;
  text-align: start;
}
.dashboard-issue-trigger:not(:disabled):is(:hover, :focus-visible) {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.dashboard-issue-trigger:disabled { color: var(--dashboard-ink); cursor: default; }
.dashboard-issue-context {
  display: block;
  color: var(--dashboard-muted);
  font-size: 12px;
  font-weight: 400;
}

/* Editorial forecast: quiet axes and direct series labels, no chart chrome. */
.forecast-figure{margin-top:28px;min-width:0}
.forecast-plot{position:relative;height:280px;width:100%}
.forecast-plot[hidden],.forecast-tooltip[hidden]{display:none}
.forecast-plot canvas{display:block;font-variant-numeric:tabular-nums}
.forecast-tooltip{position:absolute;z-index:2;pointer-events:none;width:174px;padding:11px 13px;background:var(--background);border:1px solid var(--input-border);border-radius:3px;font:12px/1.6 Diatype,Arial,sans-serif;font-variant-numeric:tabular-nums;color:var(--ink)}
.forecast-tooltip strong{display:block;font-weight:500;margin-bottom:5px}
.forecast-tooltip dl{margin:0}
.forecast-tooltip dl>div{display:flex;justify-content:space-between;gap:16px}
.forecast-tooltip dt{color:var(--muted)}
.forecast-tooltip dd{margin:0}
.forecast-data:not(.sr-only){overflow-x:auto}
.forecast-data caption{text-align:left;color:var(--muted);padding-bottom:12px}
@media(max-width:700px){.forecast-plot{height:220px}}
/* A single read-only xterm.js transcript, framed as a macOS terminal. */
.cli-terminal{margin-top:26px;min-width:0;overflow:hidden;background:var(--terminal-bg);border:1px solid var(--terminal-border);border-radius:8px;color:var(--terminal-ink)}
.terminal-toolbar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:42px;padding:8px 16px;border-bottom:1px solid var(--terminal-divider);font:11px/1.5 Diatype,Arial,sans-serif;color:var(--terminal-muted)}
.terminal-lights{display:flex;gap:7px;flex:none}
.terminal-lights i{display:block;width:10px;height:10px;border-radius:50%;background:#ff5f57}
.terminal-lights i:nth-child(2){background:#febc2e}
.terminal-lights i:nth-child(3){background:#28c840}
.terminal-panel{padding:16px 18px 6px;overflow:clip;container-type:inline-size}
.terminal-panel pre{font:inherit;white-space:pre;font-variant-ligatures:none;letter-spacing:0}
.terminal-screen,.terminal-transcript{font:13px/1.4 'Diatype Mono',monospace;font-size:min(13px,5.7cqi)}
.terminal-panel code{font:inherit}
.terminal-command{margin-bottom:18px}
.terminal-command>span{color:var(--terminal-muted)}
.terminal-output{color:var(--terminal-ink)}
.terminal-screen{width:100%}
.terminal-transcript[hidden]{display:none}
.terminal-screen .xterm{padding:0}
.terminal-screen .xterm-viewport,.terminal-screen .xterm .xterm-scrollable-element{overflow:clip!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.audience-row h3{font-size:15px;margin-bottom:14px}
.audience-row p+p{margin-top:14px}
@media(max-width:700px){
  .home-page>.technical-section{margin-top:44px}
  .terminal-toolbar{padding-inline:14px}
  .terminal-panel{padding:16px 14px 6px}
  .terminal-screen,.terminal-transcript{font-size:min(12px,5.7cqi)}
}

/* Account placeholders reserve space without adding controls. */
.skeleton{display:block;background:var(--input-border);border-radius:4px;pointer-events:none}
.home-action-skeleton{width:100%;height:27px;border-radius:5px}
.auth-navigation{min-height:47px}
.account-link-skeleton{width:72px;height:11px;margin-block:5px}
.auth-navigation>.account-link-skeleton+.account-link-skeleton,.drawer-auth>.account-link-skeleton+.account-link-skeleton{width:50px}
.auth-action-skeleton{width:min(176px,100%);height:36px;border-radius:999px}
.dashboard-profile[aria-hidden] .dashboard-profile-trigger{pointer-events:none}
.dashboard-avatar.skeleton{border-radius:50%;background:var(--input-border)}
@media(max-width:700px){
  .drawer-auth>.account-link-skeleton{margin-block:9px}
}
