/* AshenForge: quiet surfaces and clear interaction states for working software. */
@font-face { font-family:Manrope; src:url('/license-assets/manrope-latin.woff2') format('woff2'); font-weight:200 800; font-style:normal; font-display:swap; }
html[data-theme="day"] {
  --bg:#f2eee7; --panel:#fffdf8; --panel2:#eee9e0; --line:#d8cfc2;
  --text:#252522; --muted:#66625b; --brand:#934829; --brand2:#72351e;
  --sidebar:#181a19; --sidebar2:#272925; --sidebar-line:#45463e;
  --sidebar-text:#f5eee3; --sidebar-muted:#c0b8aa;
  --shadow:0 8px 28px rgba(44,37,27,.055);
}
html[data-theme="night"] {
  --bg:#101215; --panel:#171a1e; --panel2:#20242a; --line:#303338;
  --text:#eeeae2; --muted:#a3a5a7; --brand:#d7a178; --brand2:#f4c9aa;
  --sidebar:#101215; --sidebar2:#20242a; --sidebar-line:#303338;
  --sidebar-text:#eeeae2; --sidebar-muted:#a3a5a7;
  --shadow:0 12px 32px rgba(0,0,0,.15);
}
html body { font-family:Manrope,"Segoe UI",Inter,Arial,sans-serif; line-height:1.5; }
html button,html input,html select,html textarea { font:inherit; }
html .content label { color:var(--text)!important; }
html .content input::placeholder,html .content textarea::placeholder { color:var(--muted)!important; }
html .brand { font-size:18px; letter-spacing:-.035em; font-weight:650; }
html .brand-mark { background:transparent; box-shadow:none; border-radius:0; }
html .brand-mark::after { display:none; }
html .brand-mark img { display:block; width:36px; height:36px; }
html .brand small { display:block; color:var(--sidebar-muted); font-size:10px; letter-spacing:.14em; font-weight:500; text-transform:uppercase; }
html .nav a { color:var(--sidebar-text); min-height:44px; display:flex; align-items:center; }
html .nav a.active,html .nav a:hover { background:var(--sidebar2); color:var(--sidebar-text); }
html .nav a.active { box-shadow:inset 2px 0 0 var(--brand); }
html .sidebar { border-right:1px solid var(--sidebar-line); }
html .content h1 { letter-spacing:-.035em; font-weight:600; }
html .content .card,html .content .table-card,html .content .metric { border-radius:10px; }
html .content input,html .content select,html .content textarea { border-color:var(--line); min-height:44px; }
html[data-theme="night"] .content input,html[data-theme="night"] .content select,html[data-theme="night"] .content textarea { background:var(--panel2)!important; }
html[data-theme="night"] .content th,html[data-theme="night"] .content code,html[data-theme="night"] .content pre.snippet { background:var(--panel2)!important; color:var(--text)!important; }
html[data-theme="night"] .content button.secondary,html[data-theme="night"] .content .button.secondary,html[data-theme="night"] .content .workspace-tabs a,html[data-theme="night"] .content .section-nav a { background:var(--panel2)!important; color:var(--brand)!important; }
html[data-theme="night"] .content button[type="submit"]:not(.secondary):not(.danger),html[data-theme="night"] .content .button:not(.secondary):not(.danger),html[data-theme="night"] .auth-card form>button { color:#101215; }
html[data-theme="night"] .content .action-modal-close,html[data-theme="night"] .content .action-feedback-close { color:var(--text); }
html[data-theme="night"] .content [data-trend-period]:not(.secondary) { color:#101215!important; }
html .content button,html .content .button { min-height:42px; }
html .auth-card { max-width:560px; margin-inline:auto; padding:clamp(24px,4vw,48px); border-top:2px solid var(--brand); }
html .auth-card h1 { font-size:clamp(28px,4vw,36px); line-height:1.15; }
html .auth-card .stack { gap:18px; margin-top:26px; }
html .auth-card input { min-height:48px; }
html .auth-card button[type="submit"],html .auth-card form>button { min-height:48px; }
html .auth-card button { background:var(--brand)!important; box-shadow:none!important; border:1px solid var(--brand); font-weight:650; }
html .auth-card button:hover { background:var(--brand2)!important; }
html .theme-track,html[data-theme="night"] .theme-track { background:var(--sidebar-line); }
html .theme-thumb,html[data-theme="night"] .theme-thumb { background:#d7a178; }
html .auth-card .muted { font-size:13px; }
html .studio-back { display:block; margin-top:20px; font-size:13px; color:var(--sidebar-muted); text-decoration:none; }
html .studio-back:hover { color:var(--sidebar-text); text-decoration:underline; }
html .avatar,html .profile-avatar-letter { background:var(--brand); color:var(--panel); }
/* Keep the account menu inside the sidebar's clipped scroll surface. */
html .profile-actions { left:0; right:0; bottom:calc(100% + 8px); top:auto; width:auto; max-width:none; }
/* Match the authenticated control-center rail before its deferred JS adds
 * cc-ready. The head stylesheet blocks first paint; late initialization must
 * not shrink a 260px rail to 236px or reflow its navigation and profile. Keep
 * the existing JS-dependent mobile drawer and guest navigation unchanged. */
@media(min-width:981px) {
  html :is(.shell-admin,.shell-customer) { grid-template-columns:236px minmax(0,1fr); }
  html :is(.shell-admin,.shell-customer) .sidebar { min-width:0; padding:20px 14px; gap:18px; height:100dvh; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
  html :is(.shell-admin,.shell-customer) .sidebar-foot { margin-top:auto; flex-shrink:0; }
  html :is(.shell-admin,.shell-customer) .sidebar .brand { font-size:14px; }
  html :is(.shell-admin,.shell-customer) .nav { gap:3px; }
  html :is(.shell-admin,.shell-customer) .nav>a { padding:9px 10px; border-radius:5px; font-size:13px; }
}
@media(max-width:920px) {
  html .sidebar { border-right:0; border-bottom:1px solid var(--sidebar-line); }
  html .auth-card { margin:16px auto; }
  html .studio-back { margin-top:8px; }
  html .shell-guest { grid-template-rows:auto 1fr; }
  html .shell-guest .sidebar { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:min-content min-content; align-content:start; align-self:start; gap:18px; padding:18px; height:auto; }
  html .shell-guest .nav { display:none; }
  html .shell-guest .studio-back { align-self:center; margin:0; font-size:12px; }
  html .shell-guest .sidebar-foot { grid-column:1/-1; flex-direction:row; margin:0; align-items:end; gap:14px; }
  html .shell-guest .language-panel { min-width:120px; }
}
@media(prefers-reduced-motion:reduce) {
  html *,html *::before,html *::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
}
