/* Direction: premium dark ISP — deep navy canvas, rose-red accent on the public site, blue inside the admin */
:root {
  color-scheme: dark;
  --canvas: #0a0f1f;
  --surface: #111a33;
  --surface-2: #182345;
  --border: #26325c;
  --border-strong: #3a4a80;
  --ink: #eef2ff;
  --muted: #9aa6c7;
  --accent: #e11d48;
  --accent-hover: #be123c;
  --accent-ink: #ffffff;
  --accent-text: #fb7185;
  --accent-strong: #fda4af;
  --accent-soft: #2a1328;
  --accent-border: #6b2442;
  --success: #15803d;
  --success-ink: #ffffff;
  --success-soft: #12301f;
  --success-strong: #4ade80;
  --warning: #b45309;
  --warning-ink: #ffffff;
  --warning-soft: #3a2a10;
  --warning-strong: #fbbf24;
  --danger: #b91c1c;
  --danger-ink: #ffffff;
  --danger-soft: #3b1519;
  --danger-strong: #fca5a5;
  --chart-1: #fb7185;
  --chart-2: #60a5fa;
  --chart-3: #34d399;
  --chart-4: #fbbf24;
  --chart-5: #a78bfa;
  --chart-6: #22d3ee;

  --x-blue: #2563eb;
  --x-blue-hover: #1d4ed8;
  --x-blue-text: #60a5fa;
  --x-blue-strong: #93c5fd;
  --x-blue-soft: #14224d;
  --x-blue-border: #2b4690;

  --x-ad-canvas: #f1f4f9;
  --x-ad-surface: #ffffff;
  --x-ad-surface-2: #eef2f8;
  --x-ad-border: #dde3ee;
  --x-ad-border-strong: #b9c3d6;
  --x-ad-ink: #0f1b33;
  --x-ad-muted: #5b6780;
  --x-ad-blue: #1d4ed8;
  --x-ad-blue-strong: #1e40af;
  --x-ad-blue-soft: #e3ebff;
  --x-ad-blue-border: #a9bff5;
  --x-ad-orange: #c2410c;
  --x-ad-orange-soft: #ffedd5;
  --x-ad-red: #b91c1c;
  --x-ad-red-soft: #fee2e2;
  --x-ad-navy: #050505;
  --x-ad-navy-2: #171717;
  --x-ad-navy-border: #262626;
  --x-ad-navy-ink: #f5f5f5;
  --x-ad-navy-muted: #a3a3a3;
  --x-hub-bg: #000000;
  --x-hub-hero: #12294f;
  --x-hub-card: #050505;
  --x-hub-border: #262626;
  --x-hub-foot: #1f1f1f;
  --x-hub-ink: #ffffff;
  --x-hub-muted: #a3a3a3;
  --x-hub-blue: #3b82f6;
  --x-hub-green: #22a06b;
  --x-hub-amber: #e0a030;
  --x-hub-purple: #a78bfa;
  --x-menu-icon: #3b82f6;
  --x-menu-badge-bg: #0d2a1c;
  --x-menu-badge-ink: #22c55e;
  --x-ad-navy-group: #fdba74;
  --x-ad-orange-bright: #f97316;
  --x-ad-orange-mark: #fb923c;
  --x-ad-chart-orange: #ea580c;
  --x-ad-chart-cyan: #0891b2;
  --x-ad-chart-amber: #f59e0b;
  --x-ad-chart-indigo: #6366f1;
  --x-ad-chart-slate: #64748b;
  --x-on-photo: #ffffff;

  --font-display: "Sora", system-ui, sans-serif;
  --font-body: "Inter", system-ui, sans-serif;
  --font-sans: "Inter", system-ui, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --display-weight: 700;
  --display-tracking: -0.03em;
  --radius-card: 16px;
  --radius-btn: 10px;
  --radius-input: 10px;
}

html[data-theme="light"] {
  color-scheme: light;
  --canvas: #f4f6fc;
  --surface: #ffffff;
  --surface-2: #eaeef9;
  --border: #d5dbee;
  --border-strong: #aab4d4;
  --ink: #0f1730;
  --muted: #56607f;
  --accent: #e11d48;
  --accent-hover: #be123c;
  --accent-ink: #ffffff;
  --accent-text: #be123c;
  --accent-strong: #9f1239;
  --accent-soft: #fde7ec;
  --accent-border: #f5a3b5;
  --success: #15803d;
  --success-ink: #ffffff;
  --success-soft: #dcf2e4;
  --success-strong: #166534;
  --warning: #b45309;
  --warning-ink: #ffffff;
  --warning-soft: #fdebd3;
  --warning-strong: #92400e;
  --danger: #b91c1c;
  --danger-ink: #ffffff;
  --danger-soft: #fbe1e1;
  --danger-strong: #991b1b;
  --chart-1: #e11d48;
  --chart-2: #2563eb;
  --chart-3: #059669;
  --chart-4: #d97706;
  --chart-5: #7c3aed;
  --chart-6: #0891b2;

  --x-blue: #2563eb;
  --x-blue-hover: #1d4ed8;
  --x-blue-text: #1d4ed8;
  --x-blue-strong: #1e40af;
  --x-blue-soft: #e0e9ff;
  --x-blue-border: #9db8f5;
}

/* Admin: white / light-grey workspace, blue + orange indicators, navy sidebar */
.theme-admin {
  color-scheme: light;
  --canvas: var(--x-ad-canvas);
  --surface: var(--x-ad-surface);
  --surface-2: var(--x-ad-surface-2);
  --border: var(--x-ad-border);
  --border-strong: var(--x-ad-border-strong);
  --ink: var(--x-ad-ink);
  --muted: var(--x-ad-muted);
  --accent: var(--x-ad-blue);
  --accent-hover: var(--x-ad-blue-strong);
  --accent-ink: var(--x-on-photo);
  --accent-text: var(--x-ad-blue);
  --accent-strong: var(--x-ad-blue-strong);
  --accent-soft: var(--x-ad-blue-soft);
  --accent-border: var(--x-ad-blue-border);
  --success: var(--x-ad-blue);
  --success-ink: var(--x-on-photo);
  --success-soft: var(--x-ad-blue-soft);
  --success-strong: var(--x-ad-blue);
  --warning: var(--x-ad-orange);
  --warning-ink: var(--x-on-photo);
  --warning-soft: var(--x-ad-orange-soft);
  --warning-strong: var(--x-ad-orange);
  --danger: var(--x-ad-red);
  --danger-ink: var(--x-on-photo);
  --danger-soft: var(--x-ad-red-soft);
  --danger-strong: var(--x-ad-red);
  --chart-1: var(--x-ad-blue);
  --chart-2: var(--x-ad-chart-orange);
  --chart-3: var(--x-ad-chart-cyan);
  --chart-4: var(--x-ad-chart-amber);
  --chart-5: var(--x-ad-chart-indigo);
  --chart-6: var(--x-ad-chart-slate);
}
.theme-admin .admin-aside {
  --surface: var(--x-ad-navy);
  --surface-2: var(--x-ad-navy-2);
  --border: var(--x-ad-navy-border);
  --ink: var(--x-ad-navy-ink);
  --muted: var(--x-ad-navy-muted);
  --accent-soft: var(--x-ad-navy-2);
  --accent-text: var(--x-ad-navy-ink);
  background: var(--x-ad-navy);
}
.theme-admin .admin-aside { --success-soft: var(--x-menu-badge-bg); --success-strong: var(--x-menu-badge-ink); }
.theme-admin .admin-aside .nav-link[aria-current="page"] { box-shadow: inset 3px 0 0 var(--x-ad-orange-mark); }
.menu-sum { display: flex; align-items: center; gap: 0.85rem; list-style: none; cursor: pointer; padding: 0.7rem 0.75rem; border-radius: 10px; font-size: 1rem; color: var(--ink); }
.menu-sum::-webkit-details-marker { display: none; }
.menu-sum > svg:first-child { color: var(--x-menu-icon); width: 1.25rem; height: 1.25rem; }
.menu-sum:hover { background: var(--surface-2); }
.menu-sum .chev { width: 1rem; height: 1rem; color: var(--muted); transition: transform 0.15s ease; }
.menu-group[open] > .menu-sum .chev { transform: rotate(90deg); }
.menu-group[open] > .menu-sum { font-weight: 600; }
.hub { background: var(--x-hub-bg); color: var(--x-hub-ink); border: 1px solid var(--x-hub-border); }
.hub-hero { background: var(--x-hub-hero); }
.hub-hero p:last-child { color: var(--x-hub-muted); color: color-mix(in srgb, var(--x-hub-ink) 82%, transparent); }
.hub-tile { background: var(--x-hub-card); border: 1px solid var(--x-hub-border); transition: border-color 0.15s ease, transform 0.15s ease; }
.hub-tile:hover { transform: translateY(-2px); border-color: var(--x-hub-muted); }
.hub-tile:focus-visible, .hub-foot:focus-visible { outline: 2px solid var(--x-hub-blue); outline-offset: 2px; }
.hub-tile p:last-child { color: var(--x-hub-muted); }
.hub-blue .hub-ico { color: var(--x-hub-blue); }
.hub-green .hub-ico { color: var(--x-hub-green); }
.hub-amber .hub-ico { color: var(--x-hub-amber); }
.hub-purple .hub-ico { color: var(--x-hub-purple); }
.qr-box { background: var(--x-hub-ink); }
.qr-box img, .qr-box canvas { display: block; }
.hub-tile section p:last-child, .hub-tile .font-mono { color: var(--x-hub-muted); }
.hub-foot { background: var(--x-hub-foot); transition: background 0.15s ease; }
.hub-foot:hover { background: var(--x-hub-border); }
.hub-foot p:last-child { color: var(--x-hub-muted); }
.theme-admin .admin-aside .btn-ghost { color: var(--ink); }
.theme-admin .admin-aside .btn-ghost:hover { background: var(--surface-2); }
.theme-admin .kpi { border-top: 3px solid var(--accent); }
.theme-admin .card { box-shadow: 0 1px 2px color-mix(in srgb, black 8%, transparent); }
.theme-admin .tbl th { background: var(--surface-2); }

.glow-hero {
  background:
    radial-gradient(56rem 28rem at 85% -10%, color-mix(in srgb, var(--accent) 32%, transparent), transparent),
    radial-gradient(40rem 24rem at 0% 100%, color-mix(in srgb, var(--x-blue) 26%, transparent), transparent);
}
.admin-aside { transform: translateX(-100%); transition: transform 0.2s ease; }
.nav-open .admin-aside { transform: none; }
@media (min-width: 1024px) { .admin-aside { transform: none; } }
.nav-link { display: flex; align-items: center; gap: 0.65rem; padding: 0.5rem 0.75rem; border-radius: 10px; color: var(--muted); font-size: 0.875rem; }
.nav-link:hover { background: var(--surface-2); color: var(--ink); }
.nav-link[aria-current="page"] { background: var(--accent-soft); color: var(--accent-text); font-weight: 600; }
.tbl { width: 100%; font-size: 0.875rem; border-collapse: collapse; }
.tbl th { text-align: left; font-weight: 600; color: var(--muted); padding: 0.6rem 0.75rem; border-bottom: 1px solid var(--border); white-space: nowrap; }
.tbl td { padding: 0.65rem 0.75rem; border-bottom: 1px solid var(--border); vertical-align: middle; }
.tbl tr:hover td { background: color-mix(in srgb, var(--surface-2) 60%, transparent); }
.lift { transition: transform 0.2s ease, border-color 0.2s ease; }
.lift:hover { transform: translateY(-3px); border-color: var(--accent); }
@media print {
  .no-print { display: none !important; }
  .admin-main { margin: 0 !important; padding: 0 !important; }
  body { background: none !important; }
}
