/* Default is light, including when JavaScript or storage is unavailable. */
html { color-scheme: light; }
html[data-theme="dark"] { color-scheme: dark; }
body {
  --bg:#f5f8f6; --sidebar:#ffffff; --panel:#ffffff; --panel-soft:#edf4ef;
  --line:#d8e3dc; --text:#20382b; --muted:#53695d; --accent:#21744a;
  --accent-soft:#e4f2e9; --accent-hover:#185c3a; --button-text:#ffffff;
  --input:#ffffff; --field-border:#bdcec3; --selected:#dceee3;
  --hero-from:#e3f2e8; --hero-to:#f2f8f4; --strong:#245c3b;
  --amber:#825b17; --warning-bg:#fff5dd; --warning-line:#e7d19c;
  background:var(--bg); color:var(--text);
}
body.admin-login, body.admin-workspace {
  --bg:#f3f6fc; --sidebar:#ffffff; --panel:#ffffff; --panel-soft:#eaf0fa;
  --line:#d6dfed; --text:#1c2c49; --muted:#536580; --accent:#365fad;
  --accent-soft:#e6edfc; --accent-hover:#284a8b; --selected:#e0e9fb;
  --field-border:#bdcce1; --hero-from:#e2ebfc; --hero-to:#f0f4fd; --strong:#304f88;
}
html[data-theme="dark"] body {
  --bg:#0c1115; --sidebar:#10171d; --panel:#141d24; --panel-soft:#1d282e;
  --line:#2b3942; --text:#e7edf0; --muted:#a0b1bb; --accent:#8beaaf;
  --accent-soft:#22392e; --accent-hover:#a4f5c1; --button-text:#102419;
  --input:#0f171e; --field-border:#42545f; --selected:#20372e;
  --hero-from:#21362c; --hero-to:#17272a; --strong:#c6f7d6;
  --amber:#e3bb77; --warning-bg:#342f24; --warning-line:#665637;
}
html[data-theme="dark"] body.admin-login, html[data-theme="dark"] body.admin-workspace {
  --bg:#0d1423; --sidebar:#101a2b; --panel:#141e30; --panel-soft:#1c2940;
  --line:#34425c; --text:#e7edf8; --muted:#a0afc6; --accent:#a0baff;
  --accent-soft:#243656; --accent-hover:#b9cbff; --button-text:#142342;
  --input:#0e1727; --field-border:#465a79; --selected:#243656;
  --hero-from:#253b60; --hero-to:#17253f; --strong:#c3d3ff;
}
.sidebar,.panel,.stat-card { background:var(--panel); border-color:var(--line); }
.sidebar { background:var(--sidebar); }
.sidebar nav>a.active { background:var(--selected); color:var(--accent); }
.sidebar nav>a:hover,.btn.secondary:hover { background:var(--panel-soft); color:var(--text); }
.btn.primary,.admin-login .btn.primary { background:var(--accent); color:var(--button-text); }
.btn.primary:hover,.admin-login .btn.primary:hover { background:var(--accent-hover); }
.btn.secondary { background:var(--panel); border-color:var(--field-border); color:var(--text); }
.avatar,.empty-icon,.live-symbol { background:var(--accent-soft); border-color:var(--line); color:var(--accent); }
.stat-card.featured,.wallet-banner { background:linear-gradient(115deg,var(--hero-from),var(--hero-to)); border-color:var(--line); }
.featured .stat-value,.wallet-banner .stat-value { color:var(--strong); }
.stat-label,.field label,.remember-row { color:var(--text); }
.stat-label>span,.workspace-label,.breadcrumb span,footer,.brand-sub,.admin-login .brand-sub { color:var(--muted); }
.badge { background:var(--panel-soft); color:var(--muted); }
.badge.green { background:var(--accent-soft); color:var(--accent); }
.badge.amber { background:var(--warning-bg); color:var(--amber); }
.dot.amber { background:var(--amber); }
.callout { background:var(--panel-soft); color:var(--muted); }
.notice { background:var(--warning-bg); border-color:var(--warning-line); color:var(--amber); }
.notice.success { background:var(--accent-soft); border-color:var(--field-border); color:var(--strong); }
.field input:not([type=checkbox]),.field textarea,.field select,.search-form input,.login-body .field input,.admin-login .field input {
  background:var(--input); color:var(--text); border-color:var(--field-border);
}
input::placeholder,textarea::placeholder { color:var(--muted); opacity:1; }
.live-stage { background:radial-gradient(ellipse at 50% 40%,var(--hero-from),transparent 75%),var(--bg); border-color:var(--field-border); }
.workflow,.workflow b { color:var(--muted); }
.workflow .current,.workflow .current b,.text-link,.positive { color:var(--accent); }
.check-number,td,.event { border-color:var(--line); }
.check-number { color:var(--muted); }
.event-dot { background:var(--accent); }
.login-story { background:radial-gradient(ellipse at 0% 60%,var(--hero-from),transparent 80%),var(--hero-to); }
/* Keep the studio brand panel dark green in both appearance modes. */
.studio-login .login-story {
  --hero-from:#21362c; --hero-to:#17272a;
  --text:#e7edf0; --muted:#a0b1bb; --accent:#8beaaf;
  color:var(--text);
}
.story-copy .eyebrow,.admin-intro .eyebrow { color:var(--accent); }
.story-copy p,.login-foot,.admin-intro>p,.integration-note { color:var(--muted); }
.signal-art span,.signal-art span:nth-child(n) { background:var(--accent); }
.signal-art span:nth-child(2n) { opacity:.65; }
.admin-login { background:radial-gradient(ellipse at 12% 40%,var(--hero-from),transparent 65%),var(--bg); }
.admin-login-card { background:var(--panel); border-color:var(--line); box-shadow:0 24px 80px #1423420d; }
.admin-access-label,.admin-features span { color:var(--muted); border-color:var(--field-border); }
.admin-login-footer { border-color:var(--line); color:var(--muted); }
.appearance-toggle { min-height:40px; padding:8px 12px; display:inline-flex; align-items:center; justify-content:center; gap:7px; border:1px solid var(--field-border); border-radius:7px; background:var(--panel); color:var(--text); font:500 12px/1.4 var(--font); white-space:nowrap; cursor:pointer; }
.appearance-toggle:hover { background:var(--panel-soft); }
.login-header-actions { display:flex; gap:12px; align-items:center; }
.login-theme-switch { position:absolute; top:24px; right:28px; z-index:2; }
.errorlist { color:#b02536; }
html[data-theme="dark"] .errorlist { color:#ffb0a9; }
.account-name { max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.panel h2,.page-heading h1,.event strong,td,.detail-line strong { overflow-wrap:anywhere; }
.table-scroll { max-width:100%; -webkit-overflow-scrolling:touch; }
textarea { resize:vertical; max-width:100%; }
@media(max-width:900px) {
  .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stats-grid>.stat-card:first-child { grid-column:1/-1; }
  .topbar { gap:10px; }
  .account-name { max-width:110px; }
}
@media(max-width:600px) {
  .sidebar nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:visible; }
  .sidebar nav>a { min-height:44px; justify-content:center; font-size:12px; padding:8px 4px; gap:4px; }
  .sidebar-bottom { display:flex; align-items:center; gap:16px; padding:8px 4px 0; margin:0; }
  .sidebar-bottom .currency-label { display:none; }
  .sidebar-bottom>a,.sidebar-bottom form { width:auto; flex:1; }
  .sidebar-bottom>a,.sidebar-bottom .logout { min-height:44px; align-items:center; font-size:12px; }
  .topbar { min-height:64px; height:auto; padding:10px 16px; flex-wrap:wrap; }
  .account { gap:7px; margin-left:auto; flex-wrap:wrap; }
  .account-name { max-width:95px; }
  .appearance-toggle { min-height:44px; padding:8px 10px; }
  .field input:not([type=checkbox]),.field textarea,.field select,.search-form input { font-size:16px; min-height:48px; }
  .btn,.text-button { min-height:44px; }
  .text-link { display:inline-flex; min-height:44px; align-items:center; }
  .remember-row { min-height:44px; font-size:13px; }
  .remember-row input { width:20px; height:20px; }
  .remember-help { font-size:12px; }
  .detail-line { flex-wrap:wrap; gap:8px; }
  .panel-heading { align-items:flex-start; }
  .row-actions { gap:14px; }
  .table-scroll table { min-width:560px; }
  .pagination { gap:20px; align-items:center; }
  .pagination a { padding:12px 0; }
  .login-theme-switch { top:20px; right:22px; }
  .studio-login .login-story>.brand { max-width:150px; }
  .admin-login-header { flex-wrap:wrap; }
  .admin-access-label { display:none; }
  .admin-login-content { padding-top:28px; }
  .stat-value { font-size:28px; }
  .wallet-banner p { overflow-wrap:anywhere; }
}
@media(max-width:360px) {
  .sidebar nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stats-grid { grid-template-columns:1fr; }
  .account-name { display:none; }
  .login-theme-switch { right:14px; }
}
