:root {
  --font-body: "Manrope", "Segoe UI", sans-serif;
  --font-head: "Space Grotesk", "Segoe UI", sans-serif;
}

body.app-theme--dashboard {
  --dashboard-theme-color:#041228;
  --dash-bg:#041228;
  --body-glow-a:rgba(72, 211, 255, .24);
  --body-glow-b:rgba(88, 132, 255, .24);
  --body-glow-c:rgba(255, 201, 121, .16);
  --dash-edge:#89bdff59;
  --dash-glass:rgba(9, 29, 56, .74);
  --sidebar-bg:
    radial-gradient(circle at 10% -8%, rgba(98, 221, 255, .25), transparent 38%),
    linear-gradient(185deg, #0f2d57 0%, #081a33 52%, #051329 100%);
  --sidebar-fg:#ebf4ff;
  --sidebar-overlay:linear-gradient(180deg, transparent 0%, rgba(3, 11, 23, .16) 100%);
  --sidebar-title-shadow:0 6px 16px rgba(0, 0, 0, .35);
  --sidebar-shadow:22px 0 48px rgba(2, 11, 28, .44);
  --menu-divider:rgba(149, 198, 255, .26);
  --menu-section-fg:rgba(214, 231, 255, .72);
  --btn-bg:linear-gradient(150deg, rgba(30, 62, 111, .98), rgba(14, 33, 62, .96));
  --btn-hover:linear-gradient(150deg, rgba(47, 89, 154, .98), rgba(23, 46, 84, .98));
  --menu-btn-border:rgba(138, 189, 255, .28);
  --menu-btn-border-hover:rgba(160, 210, 255, .46);
  --menu-btn-shadow:0 8px 17px rgba(3, 10, 25, .3);
  --menu-btn-shadow-hover:0 14px 24px rgba(3, 10, 25, .36);
  --menu-floating-border:rgba(149, 198, 255, .38);
  --menu-floating-bg:linear-gradient(170deg, rgba(9, 26, 52, .95), rgba(7, 21, 43, .92));
  --menu-badge-bg:#45d0ff;
  --menu-badge-fg:#03203c;
  --content-bg:linear-gradient(175deg, rgba(244, 250, 255, .93), rgba(229, 240, 255, .9));
  --content-fg:#0f1b30;
  --content-glow-a:rgba(91, 161, 255, .2);
  --content-glow-b:rgba(69, 208, 255, .18);
  --content-glow-c:rgba(115, 174, 255, .14);
  --top-nav-fg:#deeeff;
  --top-nav-hover-bg:rgba(96, 140, 255, .28);
  --top-nav-hover-shadow:0 8px 16px rgba(3, 10, 25, .24);
  --top-nav-active-bg:rgba(96, 140, 255, .36);
  --top-nav-active-fg:#f4f9ff;
  --top-nav-cta-fg:#001631;
  --top-nav-shadow:0 14px 30px rgba(3, 10, 25, .32);
  --top-owner-badge-bg:#ffc36d;
  --top-owner-badge-fg:#10213f;
  --mobile-menu-border:rgba(149, 198, 255, .56);
  --mobile-menu-bg:linear-gradient(165deg, rgba(11, 39, 78, .98), rgba(6, 24, 50, .98));
  --mobile-menu-fg:#eaf4ff;
  --tik-info-bg:#e6f1ff;
  --tik-info-bd:#9ec5ff;
  --tik-info-fg:#0b356f;
  --tik-warn-bg:#feefcd;
  --tik-warn-bd:#f2b84a;
  --tik-warn-fg:#7b3108;
  --service-ui-scale:1;
  --dash-card-bg:linear-gradient(180deg, rgba(250, 253, 255, .88), rgba(238, 246, 255, .84));
  --dash-card-edge:#bfd2ea;
  --dash-divider:#c8d7eb;
  --dash-table-bg:rgba(247, 251, 255, .86);
  --dash-table-head:#e7effb;
  --dash-table-border:#c3d3e9;
  --dash-table-row:rgba(247, 251, 255, .9);
  --dash-table-row-alt:rgba(239, 247, 255, .92);
  --dash-cell-accent:#eef4ff;
  --dash-cell-accent-strong:#dde9fb;
  --dash-input-bg:rgba(250, 253, 255, .92);
  --dash-input-edge:#c4d5ec;
  --dash-input-inset:inset 0 1px 0 rgba(255, 255, 255, .75);
  --dash-input-focus:#6ba9ff;
  --dash-input-focus-ring:rgba(107, 169, 255, .2);
  --dash-input-focus-bg:#ffffff;
  --dash-text:#12253f;
  --dash-heading:#132542;
  --dash-muted-text:#5f7394;
}

:root[data-dashboard-theme="dark"] body.app-theme--dashboard,
body.app-theme--dashboard[data-dashboard-theme="dark"] {
  --dashboard-theme-color:#08111f;
  --dash-bg:#07111f;
  --body-glow-a:rgba(37, 99, 235, .18);
  --body-glow-b:rgba(14, 165, 233, .14);
  --body-glow-c:rgba(59, 130, 246, .10);
  --dash-edge:rgba(92, 123, 169, .34);
  --dash-glass:rgba(8, 18, 34, .76);
  --sidebar-bg:
    radial-gradient(circle at 10% -8%, rgba(76, 180, 255, .20), transparent 38%),
    linear-gradient(185deg, #0c2142 0%, #071426 52%, #040c16 100%);
  --sidebar-fg:#ebf4ff;
  --sidebar-overlay:linear-gradient(180deg, transparent 0%, rgba(2, 8, 18, .28) 100%);
  --sidebar-title-shadow:0 6px 18px rgba(0, 0, 0, .42);
  --sidebar-shadow:22px 0 52px rgba(0, 0, 0, .34);
  --menu-divider:rgba(91, 122, 168, .28);
  --menu-section-fg:rgba(191, 211, 243, .72);
  --btn-bg:linear-gradient(150deg, rgba(19, 40, 74, .98), rgba(9, 21, 41, .98));
  --btn-hover:linear-gradient(150deg, rgba(28, 56, 102, .98), rgba(12, 27, 51, .98));
  --menu-btn-border:rgba(83, 121, 179, .34);
  --menu-btn-border-hover:rgba(114, 162, 227, .52);
  --menu-btn-shadow:0 10px 20px rgba(0, 0, 0, .24);
  --menu-btn-shadow-hover:0 14px 24px rgba(0, 0, 0, .32);
  --menu-floating-border:rgba(80, 114, 166, .4);
  --menu-floating-bg:linear-gradient(170deg, rgba(7, 18, 36, .96), rgba(5, 14, 28, .94));
  --menu-badge-bg:#38bdf8;
  --menu-badge-fg:#031b34;
  --content-bg:linear-gradient(180deg, rgba(8, 17, 31, .96), rgba(11, 22, 41, .98));
  --content-fg:#e6efff;
  --content-glow-a:rgba(37, 99, 235, .12);
  --content-glow-b:rgba(14, 165, 233, .10);
  --content-glow-c:rgba(56, 189, 248, .08);
  --top-nav-fg:#d9e7ff;
  --top-nav-hover-bg:rgba(96, 140, 255, .18);
  --top-nav-hover-shadow:0 8px 16px rgba(0, 0, 0, .26);
  --top-nav-active-bg:rgba(96, 140, 255, .24);
  --top-nav-active-fg:#f4f9ff;
  --top-nav-cta-fg:#001631;
  --top-nav-shadow:0 14px 30px rgba(0, 0, 0, .32);
  --top-owner-badge-bg:#ffe2a3;
  --top-owner-badge-fg:#5d4100;
  --mobile-menu-border:rgba(91, 122, 168, .54);
  --mobile-menu-bg:linear-gradient(180deg, rgba(10, 23, 43, .99), rgba(6, 15, 29, .99));
  --mobile-menu-fg:#ebf4ff;
  --dash-card-bg:linear-gradient(180deg, rgba(15, 28, 49, .94), rgba(10, 19, 36, .96));
  --dash-card-edge:rgba(90, 122, 169, .42);
  --dash-divider:rgba(81, 112, 156, .42);
  --dash-table-bg:rgba(11, 21, 39, .88);
  --dash-table-head:rgba(23, 40, 70, .96);
  --dash-table-border:rgba(86, 118, 168, .42);
  --dash-table-row:rgba(11, 21, 39, .96);
  --dash-table-row-alt:rgba(14, 27, 48, .96);
  --dash-cell-accent:rgba(22, 38, 67, .92);
  --dash-cell-accent-strong:rgba(28, 48, 84, .96);
  --dash-input-bg:rgba(10, 19, 36, .94);
  --dash-input-edge:rgba(84, 117, 166, .52);
  --dash-input-inset:inset 0 1px 0 rgba(148, 163, 184, .06);
  --dash-input-focus:#60a5fa;
  --dash-input-focus-ring:rgba(96, 165, 250, .24);
  --dash-input-focus-bg:rgba(14, 28, 49, .98);
  --dash-text:#e6efff;
  --dash-heading:#f4f8ff;
  --dash-muted-text:#93a8c7;
}

body.app-theme--dashboard .classes-shell {
  --classes-panel:rgba(255, 255, 255, 0.86);
  --classes-panel-strong:rgba(255, 255, 255, 0.96);
  --classes-border:rgba(148, 163, 184, 0.22);
  --classes-ink:#10233f;
  --classes-muted:#62748f;
  --classes-shadow:0 22px 44px rgba(15, 23, 42, 0.08);
}

body.app-theme--public {
  --bg:#06162f;
  --bg-soft:#0b2346;
  --fg:#eff6ff;
  --muted:#a8c2e9;
  --card:rgba(8, 31, 60, 0.82);
  --cardb:rgba(140, 198, 255, 0.26);
  --btn:#204579;
  --primary:#45d0ff;
}

body.app-theme--public-wizard,
body.app-theme--public-print {
  --bg:#041228;
  --bg-soft:#0b274e;
  --text:#edf5ff;
  --muted:#aac5e6;
  --card:rgba(8,26,52,.82);
  --edge:rgba(145,204,255,.27);
  --edge2:rgba(123,184,250,.45);
  --input:rgba(8,24,47,.9);
  --btn:linear-gradient(145deg, rgba(31,63,112,.96), rgba(16,36,66,.98));
  --primary:linear-gradient(130deg, #69deff, #9ef2ff);
  --shadow:0 22px 48px rgba(1,10,25,.44);
}

body.app-theme--public-organizer {
  --bg:#06162f;
  --panel:rgba(9,31,59,.84);
  --line:rgba(144,201,255,.28);
  --muted:#a8c2e9;
  --fg:#ebf4ff;
  --chip:#2563eb;
  --ok:#16a34a;
  --bad:#ef4444;
}

body.app-theme--public-bare {
  --bare-bg:#0f172a;
  --bare-fg:#e5e7eb;
  --bare-muted:#94a3b8;
  --bare-footer:#64748b;
  --bare-card:#111827;
  --bare-card-edge:#1f2937;
  --bare-input:#0b1220;
  --bare-input-edge:#374151;
  --bare-btn-primary:#2563eb;
  color-scheme: dark;
}

.spb-public-header {
  position:sticky;
  top:0;
  z-index:10;
  background:#0f172a;
  border-bottom:1px solid #1f2937;
}

.spb-public-header__inner {
  max-width:980px;
  margin:0 auto;
  padding:10px 16px;
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}

.spb-public-header__brand {
  display:flex;
  align-items:center;
  gap:10px;
  min-width:180px;
}

.spb-public-header__logo {
  width:34px;
  height:34px;
  border-radius:10px;
  background:#111827;
  border:1px solid #1f2937;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
}

.spb-public-header__title {
  font-weight:700;
}

.spb-public-header__meta {
  font-size:13px;
  color:#94a3b8;
}

.spb-public-header__actions {
  margin-left:auto;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.spb-public-header__action {
  display:inline-block;
  padding:8px 12px;
  border-radius:10px;
  border:1px solid #374151;
  background:#0b1220;
}
