/* NeutralBeats design system — shared visual language */
:root{
  --nb-paper:#edf3f7;--nb-surface:#fbfdff;--nb-ink:#101d2e;--nb-muted:#536276;
  --nb-muted-strong:#3d4c5f;
  --nb-line:#c7d3dd;--nb-cyan:#15b8d4;--nb-cyan-deep:#087e98;--nb-mint:#27b986;
  --nb-soft:#e4edf3;--nb-danger:#c84545;--nb-radius-sm:12px;--nb-radius:18px;
  --nb-radius-lg:24px;--nb-shadow-sm:0 8px 24px rgba(16,29,46,.06);
  --nb-shadow:0 22px 60px rgba(39,58,78,.10);--nb-focus:0 0 0 4px rgba(21,184,212,.18);
  --nb-transition-fast:150ms ease;--nb-transition-base:220ms ease;
  --nb-chrome-width:min(1200px,calc(100% - 36px));
  --nb-font-body:"Segoe UI",Arial,sans-serif;
}
html{scrollbar-gutter:stable;overflow-y:scroll}

/* Shared chrome */
body{font-family:var(--nb-font-body)}
.portal-header-container,.shell{width:var(--nb-chrome-width);margin-inline:auto}
.portal-header-container{height:58px;box-sizing:border-box}
.connection-page #top{padding-top:0}
.connection-page .hero{margin-top:0!important;padding-top:72px!important}
.portal-nav{width:100%;box-sizing:border-box;height:58px;min-height:58px;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center;gap:24px}
.portal-brand{display:flex;align-items:center;gap:10px;color:var(--nb-ink);text-decoration:none;font:900 14px/1 "Arial Narrow","Aptos Display",Arial,sans-serif;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.portal-brand small{font:700 9px "SFMono-Regular",Consolas,monospace;color:var(--nb-muted);letter-spacing:.08em}
.portal-mark{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--nb-ink);border-radius:9px;background:var(--nb-surface);color:var(--nb-cyan);font-style:normal;font-size:17px}
.portal-links{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0}
.portal-links a{box-sizing:border-box;display:flex;align-items:center;height:34px;min-height:34px;padding:0 11px;border-radius:999px;color:var(--nb-muted);text-decoration:none;font-size:11px;font-weight:750;white-space:nowrap}
.portal-links a.active{background:var(--nb-ink)!important;color:#fff!important;box-shadow:none!important}
.portal-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.login-button{display:flex;align-items:center;justify-content:center;height:36px;min-width:74px;padding:0 16px;border:1px solid var(--nb-ink);border-radius:999px;background:var(--nb-ink);color:#fff;text-decoration:none;font-size:11px;font-weight:800;white-space:nowrap}
.login-button:hover,.login-button.active{background:var(--nb-cyan-deep);border-color:var(--nb-cyan-deep);box-shadow:0 6px 16px rgba(8,126,152,.18)}
.portal-actions .quiet-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:34px;height:34px;padding:0 13px;border:1px solid var(--nb-line);border-radius:999px;background:rgba(251,253,255,.8);color:var(--nb-muted);font-family:"Segoe UI",Inter,Arial,sans-serif;font-size:12px;font-weight:850;line-height:1;cursor:pointer;white-space:nowrap}
.portal-actions .quiet-button:hover{background:var(--nb-surface);border-color:var(--nb-ink);color:var(--nb-ink)}
.portal-actions .quiet-button:disabled{opacity:.6;cursor:wait}
.portal-actions [data-auth-action][hidden]{display:none!important}
html[data-auth-state="authenticated"] .public-anonymous-controls{display:none!important}
html[data-auth-state="authenticated"] .public-authenticated-controls{display:flex!important}
html[data-auth-state="anonymous"] .public-anonymous-controls{display:flex!important}
html[data-auth-state="anonymous"] .public-authenticated-controls{display:none!important}
[data-public-auth][hidden]{display:none!important}
.public-anonymous-controls,.public-authenticated-controls{align-items:center;gap:8px}
.public-anonymous-controls{display:flex}
.public-authenticated-controls{display:flex;align-items:center;gap:10px}
.public-balance-chip{min-height:36px;display:flex;align-items:center;gap:7px;padding:0 12px;border:1px solid var(--nb-line);border-radius:11px;background:#fff;color:var(--nb-muted);font-size:9px;text-decoration:none;white-space:nowrap;box-sizing:border-box}
.public-balance-chip b{color:var(--nb-cyan-deep);font:850 11px "SFMono-Regular",Consolas,monospace}
.public-account{position:relative}
.public-account-button{min-height:40px;max-width:250px;display:flex;align-items:center;gap:8px;padding:4px 8px;border:0;border-radius:12px;background:transparent;color:#203549;cursor:pointer;box-sizing:border-box}
.public-account-button:hover,.public-account-button[aria-expanded="true"]{background:#edf4f6}
.public-account-button>span:nth-child(2){max-width:160px;overflow:hidden;text-overflow:ellipsis;font-size:10px;font-weight:750;white-space:nowrap}
.public-account-button>i{font-style:normal;color:#718094;transition:transform var(--nb-transition-fast)}
.public-account-button[aria-expanded="true"]>i{transform:rotate(180deg)}
.public-avatar{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:#dff3f5;color:#0a7182;font:900 12px "Arial Narrow","Aptos Display",Arial,sans-serif}
.public-account-dropdown{position:absolute;top:46px;right:0;width:218px;display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid #d2dee5;border-radius:14px;background:#fff;box-shadow:0 18px 50px rgba(18,37,56,.15);box-sizing:border-box;z-index:80}
.public-account-dropdown[hidden]{display:none!important}
.public-account-dropdown>a{width:100%;min-height:36px;display:flex;align-items:center;padding:0 10px;border-radius:8px;color:#283e52;font-size:10px;font-weight:750;text-decoration:none;box-sizing:border-box}
.public-account-dropdown>a:hover{background:#edf4f6}
.public-account-dropdown .lang-toggle{margin:0}
.public-account-menu-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}
.public-account-menu-actions>[data-auth-action="sign-out"]{width:auto;min-width:82px;min-height:34px;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;padding:0 13px;border:1px solid #d2dee5;border-radius:9px;background:#f7f9fb;color:#405468;font-size:11px;font-weight:800;cursor:pointer;box-sizing:border-box}
.public-account-menu-actions>[data-auth-action="sign-out"]:hover{border-color:#9eb4c2;background:#edf4f6;color:#172f43}
.lang-toggle{display:flex;gap:0;width:80px;height:36px;padding:3px;border:1px solid var(--nb-line);border-radius:999px;background:rgba(251,253,255,.9)}
.lang-toggle button{width:36px;min-width:36px;height:28px;border:0;background:transparent;color:var(--nb-muted);border-radius:999px;padding:0;font-size:10px;line-height:28px;font-weight:800;cursor:pointer}
.lang-toggle button.active{background:var(--nb-ink);color:#fff}
.portal-nav,.navbar{border-bottom-color:rgba(199,211,221,.72)}
.portal-brand:hover,.nav-logo:hover{opacity:.82}
.portal-links a,.nav-links a{color:var(--nb-muted)}
.portal-links a,.nav-links a{color:var(--nb-muted);font-weight:750}
.hero p,.model-desc,.footer,.disclaimer{color:var(--nb-muted)}
.panel-sub,.meta,.model-family,.context span,.limit span{color:var(--nb-muted-strong)}
.portal-links a:hover,.nav-links a:hover{color:var(--nb-ink)}
.portal-links a.active,.nav-links a.active{background:var(--nb-ink);color:#fff;box-shadow:0 5px 15px rgba(16,29,46,.14)}
.portal-mark,.nav-logo-icon{box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 4px 14px rgba(16,29,46,.06)}
.portal-footer a,.footer a{color:inherit;text-decoration:none;text-underline-offset:3px;transition:color .18s ease}
.portal-footer a:hover,.footer a:hover{color:var(--nb-cyan-deep);text-decoration:underline}
.portal-shared-footer{width:100%;margin:42px 0 0!important;padding:56px 0!important;background:var(--nb-ink)!important;border:0!important;color:#aebacc}
.portal-shared-footer .container{width:min(1200px,calc(100% - 36px));margin:auto}
.portal-shared-footer .footer-content{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:28px}
.portal-shared-footer .footer-brand{display:flex;flex-direction:column}
.portal-shared-footer .footer-brand b{color:#fff;font:900 17px "Arial Narrow","Aptos Display",Arial,sans-serif;text-transform:uppercase}
.portal-shared-footer .footer-brand span{font-size:10px}
.portal-shared-footer .footer-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.portal-shared-footer .footer-links a{color:#b8c4d2;text-decoration:none;font-size:12px;white-space:nowrap}
.portal-shared-footer .footer-links a:hover{color:#fff}
.portal-shared-footer .footer-copy{margin:0;color:#8291a3;font-size:11px;white-space:nowrap}

/* Accessibility and interaction */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--nb-cyan-deep)!important;outline-offset:3px!important;box-shadow:var(--nb-focus)!important;
}
button:not(:disabled),a[href]{-webkit-tap-highlight-color:rgba(21,184,212,.16)}
::selection{background:rgba(21,184,212,.25);color:var(--nb-ink)}

/* Surfaces */
.panel,.stat-card,.auth-card,.model-card,.access-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
@media(hover:hover){.panel:hover,.stat-card:not(.balance-card):hover,.model-card:hover{transform:translateY(-3px);box-shadow:var(--nb-shadow)}}

/* Empty states become helpful states */
.empty-state{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(251,253,255,.88),rgba(228,237,243,.75));border-style:dashed!important}
.empty-state:before{content:"◇";display:block;margin:0 auto 9px;color:var(--nb-cyan-deep);font:800 22px/1 ui-monospace,monospace}

/* Keep page chrome and route-entry content motionless between routes. */
.hero,.pricing-hero,.legal-head,.auth-layout,.dashboard-head{animation:none!important;transform:none!important}

/* The portal intentionally stays light on every system. */
:root{color-scheme:light}

@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(max-width:620px){a,button{min-height:44px}.portal-links a,.nav-links a{min-height:40px}}
@media(max-width:620px){.portal-actions{gap:6px}.lang-toggle{width:72px}.lang-toggle button{width:32px;min-width:32px}.login-button{min-width:68px;height:40px;padding:0 12px}.public-balance-chip>span{display:none}.public-account-button>span:nth-child(2){display:none}.public-account-button{padding-inline:4px}.public-authenticated-controls{gap:4px}}
@media(max-width:930px){
  .portal-header-container{width:calc(100% - 22px)}
  .portal-nav{height:auto;grid-template-columns:auto 1fr!important;gap:10px;padding-top:0}
  .portal-actions{grid-column:2;grid-row:1;justify-self:end}
  .portal-links{grid-column:1/-1;grid-row:2;justify-content:flex-start;overflow-x:auto;padding-bottom:8px;scrollbar-width:none}
  .portal-links::-webkit-scrollbar{display:none}
  .connection-page .hero{margin-top:0!important;padding-top:52px!important}
  .portal-shared-footer .footer-content{grid-template-columns:1fr}
  .portal-shared-footer .footer-links{gap:12px 20px}
}
@media(max-width:620px){.portal-shared-footer{padding:30px 0!important}.portal-shared-footer .container{width:calc(100% - 22px)}.portal-shared-footer .footer-links{align-items:flex-start;flex-direction:column;gap:12px}}

/* Stagger animation for stat cards */
.stat-card:nth-child(1){animation-delay:.05s}
.stat-card:nth-child(2){animation-delay:.10s}
.stat-card:nth-child(3){animation-delay:.15s}
/* Billing guide */
.billing-guide-link{display:inline-flex;margin:18px 0 0;color:#111827;font-weight:800;text-decoration:none;border-bottom:1px solid #111827}.billing-docs-shell{max-width:1160px}.billing-docs-hero{padding:72px 0 38px;max-width:820px}.billing-docs-hero h1{font-size:clamp(2.2rem,6vw,5rem);line-height:.92;margin:14px 0 22px}.billing-docs-hero p{font-size:1.15rem;color:#475569}.billing-docs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.billing-docs-grid article,.billing-docs-rate{background:#fff;border:1px solid #dbe4ea;border-radius:22px;padding:28px}.billing-docs-grid article>b{color:#2563eb}.billing-docs-grid h2{font-size:1.25rem;margin:18px 0 12px}.billing-docs-grid p,.billing-docs-rate p{color:#475569;line-height:1.65}.billing-docs-rate{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:18px}.billing-docs-rate div{display:flex;flex-direction:column;gap:8px}.billing-docs-rate span{font-size:.72rem;font-weight:900;letter-spacing:.12em;color:#64748b}.billing-docs-rate strong{font-size:1.7rem}.billing-docs-rate p{grid-column:1/-1;margin:0}.billing-docs-cta{display:inline-flex;margin:24px 0 64px}@media(max-width:800px){.billing-docs-grid{grid-template-columns:1fr}.billing-docs-rate{grid-template-columns:1fr}.billing-docs-hero{padding-top:40px}}
