/* ===================================================================
   WINGSWIN — THEME SYSTEM
   2 modes (dark / light)  ×  4 color themes (saffron / royal / emerald / crimson)
   Overrides the CSS variables defined in wings-admin.css and wings-shared.css.
   Load this file AFTER those.
   =================================================================== */

/* =====================================================
   LIGHT MODE — base palette (text/surface/lines)
   ===================================================== */
[data-mode="light"]{
  --bg:#F4F6FB;
  --bg-2:#FFFFFF;
  --surf:#FFFFFF;
  --surf-2:#F1F4F9;
  --surf-3:#E5EAF2;
  --line:#E2E8F0;
  --line-soft:#EEF2F7;
  --text:#0F172A;
  --text-2:#475569;
  --text-3:#94A3B8;
  --gold:#B45309;        /* darker gold for contrast on white */
  --gold-deep:#92400E;
  --green-soft:#15803D;
  --green:#166534;
}
/* Component-level fixes for light mode */
[data-mode="light"] body{background:var(--bg)}
[data-mode="light"] .tbl thead th{background:#F8FAFC;color:#334155}
[data-mode="light"] .tbl tbody tr:hover{background:#F8FAFC}
[data-mode="light"] .tbl tbody tr.foot td{background:#F1F4F9}
[data-mode="light"] .section-bar{background:linear-gradient(90deg,#F1F4F9,#FFFFFF)}
[data-mode="light"] .table-toolbar{background:#F8FAFC}
[data-mode="light"] .tbl-foot{background:#F8FAFC}
[data-mode="light"] .field input,
[data-mode="light"] .field select,
[data-mode="light"] .field textarea,
[data-mode="light"] .field .input,
[data-mode="light"] .tb-search input,
[data-mode="light"] .sb-search input{background:#F8FAFC}
[data-mode="light"] .field input:focus,
[data-mode="light"] .field select:focus,
[data-mode="light"] .field textarea:focus{background:#FFFFFF}
[data-mode="light"] .tb-bell,
[data-mode="light"] .tb-user,
[data-mode="light"] .tb-client,
[data-mode="light"] .tb-balance,
[data-mode="light"] .tb-search{background:#F8FAFC}
[data-mode="light"] .pv-stage{
  background:
    linear-gradient(45deg,rgba(0,0,0,.03) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.03) 75%) 0 0 /20px 20px,
    linear-gradient(45deg,rgba(0,0,0,.03) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.03) 75%) 10px 10px /20px 20px,
    #EEF2F7;
}
[data-mode="light"] .pv-canvas{box-shadow:0 30px 60px rgba(15,23,42,.12)}
[data-mode="light"] .lp-tab,
[data-mode="light"] .rp-tab{color:#64748B}
[data-mode="light"] .lp-tab.active,
[data-mode="light"] .rp-tab.active{color:#0F172A}
[data-mode="light"] .tab-bar .t.active{background:#F8FAFC}
[data-mode="light"] .crumbs .root{color:#94A3B8}
[data-mode="light"] .user-cell .av,
[data-mode="light"] .sb-foot .av,
[data-mode="light"] .tb-user .av{box-shadow:0 1px 2px rgba(0,0,0,.06)}
[data-mode="light"] .kpi::after{opacity:.65}
[data-mode="light"] .priv .box{background:#FFFFFF}
[data-mode="light"] .ss-item:hover,
[data-mode="light"] .ss-item.active{background:#F1F4F9}
[data-mode="light"] .sl-row{background:#F8FAFC}
[data-mode="light"] .sl-row.active{background:rgba(255,138,0,.06)}
[data-mode="light"] .action-btns .ab{background:#F1F4F9}
[data-mode="light"] .pager .pg{background:#F8FAFC}
[data-mode="light"] .swatches .sw,
[data-mode="light"] .ap{color:#475569}
[data-mode="light"] .audience .ap{background:#F1F4F9}
[data-mode="light"] .audience .ap.active{color:#fff}
[data-mode="light"] .toggle .switch{background:#CBD5E1}
[data-mode="light"] .add-slide{color:#64748B}
[data-mode="light"] .ab,
[data-mode="light"] .tg{background:#F8FAFC}
[data-mode="light"] .stats-panel{background:#FFFFFF}
[data-mode="light"] .auth-status,
[data-mode="light"] .card,
[data-mode="light"] .kpi{background:#FFFFFF}
[data-mode="light"] .stat-row .v.text{color:#0F172A}
[data-mode="light"] .topbar,
[data-mode="light"] .sidebar,
[data-mode="light"] .admin-bar,
[data-mode="light"] .blr-left,
[data-mode="light"] .blr-right,
[data-mode="light"] .pv-toolbar{background:#FFFFFF}

/* Slider chrome in light mode */
[data-mode="light"] .showcase-bar{
  background:linear-gradient(90deg,rgba(255,138,0,.06),rgba(245,197,71,.04),rgba(19,136,8,.06));
}
[data-mode="light"] .showcase-bar .links a{background:#F8FAFC}
[data-mode="light"] .ss-id{color:#94A3B8}

/* Sliders themselves stay dark internally (they are decorative theatrical content) */
/* but section dividers & section heads use light text */

/* =====================================================
   THEME: SAFFRON WINGS (default — Wingswin brand)
   Already declared in :root of wings-admin.css / wings-shared.css
   No overrides needed.
   ===================================================== */

/* =====================================================
   THEME: ROYAL PURPLE (luxury casino)
   ===================================================== */
[data-theme="royal"]{
  --saffron:#A855F7;
  --saffron-deep:#7C3AED;
}
[data-mode="dark"][data-theme="royal"]{
  --gold:#FBBF24;
  --gold-deep:#D97706;
}
[data-mode="light"][data-theme="royal"]{
  --gold:#7C3AED;
  --gold-deep:#5B21B6;
}
[data-theme="royal"] .kpi::after{background:radial-gradient(circle,rgba(168,85,247,.18),transparent 70%)}
[data-theme="royal"] .stats-panel::before{background:linear-gradient(180deg,#A855F7,#7C3AED)}
[data-theme="royal"] .sb-brand .mark{background:linear-gradient(135deg,#A855F7 0%,#FBBF24 50%,#7C3AED 100%)}
[data-theme="royal"] .brand-mark{background:linear-gradient(135deg,#A855F7 0%,#FFFFFF 50%,#7C3AED 100%)}
[data-theme="royal"] .btn-saffron{background:linear-gradient(135deg,#A855F7,#7C3AED);box-shadow:0 3px 12px rgba(168,85,247,.3)}
[data-theme="royal"] .btn-primary{background:linear-gradient(135deg,#A855F7,#7C3AED);box-shadow:0 3px 12px rgba(168,85,247,.3)}
[data-theme="royal"] .pager .pg.active{background:linear-gradient(135deg,#A855F7,#7C3AED)}
[data-theme="royal"] .wsl-dots .d.active{background:#A855F7}
[data-theme="royal"] .priv input:checked + .box{background:linear-gradient(135deg,#A855F7,#7C3AED);border-color:#A855F7}

/* =====================================================
   THEME: EMERALD SPORT (clean sportsbook green)
   ===================================================== */
[data-theme="emerald"]{
  --saffron:#10B981;
  --saffron-deep:#059669;
}
[data-mode="dark"][data-theme="emerald"]{
  --gold:#34D399;
  --gold-deep:#059669;
}
[data-mode="light"][data-theme="emerald"]{
  --gold:#047857;
  --gold-deep:#065F46;
}
[data-theme="emerald"] .kpi::after{background:radial-gradient(circle,rgba(16,185,129,.2),transparent 70%)}
[data-theme="emerald"] .stats-panel::before{background:linear-gradient(180deg,#10B981,#059669)}
[data-theme="emerald"] .sb-brand .mark{background:linear-gradient(135deg,#10B981 0%,#FBBF24 50%,#059669 100%)}
[data-theme="emerald"] .brand-mark{background:linear-gradient(135deg,#10B981 0%,#FFFFFF 50%,#059669 100%)}
[data-theme="emerald"] .btn-saffron,
[data-theme="emerald"] .btn-primary{background:linear-gradient(135deg,#10B981,#059669);box-shadow:0 3px 12px rgba(16,185,129,.3)}
[data-theme="emerald"] .pager .pg.active{background:linear-gradient(135deg,#10B981,#059669)}
[data-theme="emerald"] .wsl-dots .d.active{background:#10B981}
[data-theme="emerald"] .priv input:checked + .box{background:linear-gradient(135deg,#10B981,#059669);border-color:#10B981}

/* =====================================================
   THEME: CRIMSON (bold red, high-stakes)
   ===================================================== */
[data-theme="crimson"]{
  --saffron:#EF4444;
  --saffron-deep:#B91C1C;
}
[data-mode="dark"][data-theme="crimson"]{
  --gold:#F59E0B;
  --gold-deep:#D97706;
}
[data-mode="light"][data-theme="crimson"]{
  --gold:#B91C1C;
  --gold-deep:#7F1D1D;
}
[data-theme="crimson"] .kpi::after{background:radial-gradient(circle,rgba(239,68,68,.2),transparent 70%)}
[data-theme="crimson"] .stats-panel::before{background:linear-gradient(180deg,#EF4444,#B91C1C)}
[data-theme="crimson"] .sb-brand .mark{background:linear-gradient(135deg,#EF4444 0%,#F59E0B 50%,#B91C1C 100%)}
[data-theme="crimson"] .brand-mark{background:linear-gradient(135deg,#EF4444 0%,#FFFFFF 50%,#B91C1C 100%)}
[data-theme="crimson"] .btn-saffron,
[data-theme="crimson"] .btn-primary{background:linear-gradient(135deg,#EF4444,#B91C1C);box-shadow:0 3px 12px rgba(239,68,68,.3)}
[data-theme="crimson"] .pager .pg.active{background:linear-gradient(135deg,#EF4444,#B91C1C)}
[data-theme="crimson"] .wsl-dots .d.active{background:#EF4444}
[data-theme="crimson"] .priv input:checked + .box{background:linear-gradient(135deg,#EF4444,#B91C1C);border-color:#EF4444}

/* =====================================================
   THEME TWEAKS FAB + PANEL (universal floating widget)
   ===================================================== */
.wt-fab{
  position:fixed;right:18px;bottom:18px;z-index:200;
  width:46px;height:46px;border-radius:50%;
  background:linear-gradient(135deg,var(--saffron),var(--saffron-deep));
  color:#fff;display:grid;place-items:center;
  border:none;cursor:pointer;font-size:22px;
  box-shadow:0 10px 30px rgba(0,0,0,.35),0 0 0 4px rgba(255,255,255,.04);
  transition:transform .18s cubic-bezier(.4,.2,.2,1),box-shadow .18s;
}
.wt-fab i{font-size:22px}
.wt-fab:hover{transform:scale(1.06);box-shadow:0 12px 36px rgba(0,0,0,.4)}
.wt-fab.open{transform:rotate(135deg) scale(.92)}
.wt-fab .pulse{
  position:absolute;inset:0;border-radius:50%;
  box-shadow:0 0 0 0 var(--saffron);
  animation:wt-pulse 2.4s ease-out infinite;
  pointer-events:none;
}
@keyframes wt-pulse{
  0%{box-shadow:0 0 0 0 rgba(255,138,0,.6)}
  70%{box-shadow:0 0 0 14px rgba(255,138,0,0)}
  100%{box-shadow:0 0 0 0 rgba(255,138,0,0)}
}

.wt-panel{
  position:fixed;right:18px;bottom:78px;z-index:199;
  width:320px;background:var(--bg-2);border:1px solid var(--line);border-radius:14px;
  box-shadow:0 20px 50px rgba(0,0,0,.4);
  opacity:0;pointer-events:none;transform:translateY(10px) scale(.98);
  transition:opacity .18s,transform .18s;
  overflow:hidden;
  font:13px/1.45 'Inter',sans-serif;color:var(--text);
}
.wt-panel.open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}
.wt-head{
  padding:14px 16px;border-bottom:1px solid var(--line-soft);
  display:flex;align-items:center;gap:10px;
  background:linear-gradient(90deg,rgba(255,138,0,.06),transparent);
}
.wt-head .icon{
  width:32px;height:32px;border-radius:8px;
  background:linear-gradient(135deg,var(--saffron),var(--saffron-deep));
  display:grid;place-items:center;color:#fff;font-size:16px;
}
.wt-head .ttl{font-weight:800;font-size:13px;color:var(--text);letter-spacing:.04em;flex:1;font-family:'Bebas Neue',sans-serif;font-size:16px}
.wt-head .ttl .sub{display:block;font-size:9.5px;color:var(--text-3);letter-spacing:.14em;font-family:'Inter',sans-serif;font-weight:600;margin-top:2px;text-transform:uppercase}
.wt-head .close{color:var(--text-3);font-size:18px;cursor:pointer;background:none;border:none;padding:4px;display:grid;place-items:center;border-radius:6px}
.wt-head .close:hover{background:var(--surf);color:var(--text)}
.wt-body{padding:14px 16px}
.wt-section{margin-bottom:16px}
.wt-section:last-child{margin-bottom:0}
.wt-label{
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--text-3);
  margin-bottom:8px;display:flex;align-items:center;gap:6px;
}
.wt-label .hint{font-weight:500;letter-spacing:0;text-transform:none;font-size:10px;color:var(--text-3);margin-left:auto}

.wt-mode{display:flex;background:var(--surf);border:1px solid var(--line);border-radius:9px;padding:3px;gap:2px}
.wt-mode button{
  flex:1;padding:9px 8px;border-radius:6px;font-size:12px;font-weight:700;
  color:var(--text-2);display:flex;align-items:center;justify-content:center;gap:6px;
  background:transparent;border:none;cursor:pointer;transition:background .12s,color .12s;
}
.wt-mode button:hover{color:var(--text)}
.wt-mode button.active{background:linear-gradient(135deg,var(--saffron),var(--saffron-deep));color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.wt-mode button i{font-size:15px}

.wt-themes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.wt-theme{
  position:relative;
  border-radius:10px;border:1.5px solid var(--line);cursor:pointer;
  padding:10px 4px 8px;display:flex;flex-direction:column;align-items:center;gap:7px;
  background:var(--surf);transition:border-color .12s,transform .12s,background .12s;
}
.wt-theme:hover{transform:translateY(-2px);border-color:var(--text-3)}
.wt-theme.active{border-color:var(--text);background:var(--surf-2)}
.wt-theme.active::after{
  content:"✓";position:absolute;top:4px;right:5px;width:14px;height:14px;border-radius:50%;
  background:var(--text);color:var(--bg-2);font-size:9px;font-weight:900;display:grid;place-items:center;
}
.wt-theme .sw{
  width:34px;height:34px;border-radius:9px;display:grid;place-items:center;
  color:#fff;font-weight:900;font-size:14px;font-family:'Bebas Neue',sans-serif;
  box-shadow:0 4px 10px rgba(0,0,0,.2);
}
.wt-theme .nm{font-size:10px;font-weight:700;color:var(--text-2);letter-spacing:.02em;text-align:center;line-height:1.1}
.wt-theme.active .nm{color:var(--text)}

/* Preview chip strip */
.wt-preview{
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;
  padding:8px;background:var(--surf);border-radius:8px;border:1px solid var(--line);
}
.wt-preview .pc{
  height:30px;border-radius:6px;font-size:10px;font-weight:800;letter-spacing:.06em;
  display:grid;place-items:center;color:#fff;text-transform:uppercase;
}
.wt-preview .pc.primary{background:linear-gradient(135deg,var(--saffron),var(--saffron-deep))}
.wt-preview .pc.gold{background:var(--gold);color:#1a1208}
.wt-preview .pc.surface{background:var(--surf-2);color:var(--text);border:1px solid var(--line)}

.wt-foot{
  padding:10px 16px;background:var(--surf);border-top:1px solid var(--line-soft);
  font-size:10.5px;color:var(--text-3);display:flex;align-items:center;gap:6px;
}
.wt-foot i{color:var(--saffron);font-size:13px}

/* Builder-specific: float panel a bit higher to avoid right panel scrollbar */
body[data-page="builder"] .wt-fab{bottom:auto;top:62px;right:14px}
body[data-page="builder"] .wt-panel{bottom:auto;top:118px;right:14px}

/* Mobile: full-width panel from bottom */
@media (max-width:560px){
  .wt-fab{right:14px;bottom:14px;width:44px;height:44px}
  .wt-panel{left:14px;right:14px;width:auto;bottom:70px}
  body[data-page="builder"] .wt-fab{top:auto;bottom:14px}
  body[data-page="builder"] .wt-panel{top:auto;bottom:70px}
}

/* Hide tweaks UI in print */
@media print{
  .wt-fab,.wt-panel{display:none !important}
}

/* =====================================================
   EXTRA MOBILE POLISH (applies across all themes)
   ===================================================== */
@media (max-width:720px){
  /* Admin */
  .stats-panel{padding:14px}
  .kpi{padding:12px}
  .kpi .v{font-size:26px}
  .card-head{padding:12px 14px}
  .card-body{padding:14px}
  .page-title h1{font-size:20px}
  .page-title .sub{display:none}
  .page-title .actions{margin-left:0;width:100%;justify-content:flex-end;flex-wrap:wrap}
  .page-title .actions .btn{flex:1;justify-content:center;min-width:0}
  .tab-bar{overflow-x:auto;flex-wrap:nowrap}
  .tab-bar .t{flex:0 0 auto;white-space:nowrap}
  .table-toolbar{padding:10px 12px}
  .table-toolbar .show-entries select{width:54px}
  .table-toolbar .search-wrap input{width:140px}
  .section-bar{padding:9px 12px;font-size:13px}
  .tbl thead th,.tbl tbody td{padding:10px 12px}
  .user-cell .av{width:26px;height:26px;font-size:10px}
  .user-cell .info .nm{font-size:12px}
  .tbl tbody td .gold,.tbl tbody td .green,.tbl tbody td .red,
  .tbl tbody td.r{font-size:13px}
  .crumbs{font-size:11px}
  .crumbs .here{max-width:140px;overflow:hidden;text-overflow:ellipsis}

  /* Builder admin-bar */
  .admin-bar{padding:8px 12px}
  .admin-bar .crumb{display:none}
  .admin-bar .btn-sm{height:30px;padding:0 10px;font-size:11px}
  .admin-bar .status{font-size:10px;padding:4px 8px}
  .admin-bar .titlefield{font-size:13px;min-width:120px}

  /* Slider showcase chrome */
  .ss-meta{display:none}
  .section-divider .lbl{font-size:11px;letter-spacing:.16em}
}

@media (max-width:480px){
  .kpi-grid{grid-template-columns:1fr 1fr;gap:8px}
  .kpi{padding:10px 12px}
  .kpi .v{font-size:22px}
  .kpi .head .ttl{font-size:10px}
  .stats-grid{grid-template-columns:1fr 1fr;gap:10px 14px}
  .stat-row .v{font-size:18px}
  .stat-row .l{font-size:9.5px}
  .priv-grid{grid-template-columns:1fr 1fr;gap:8px}
  .priv{font-size:11px}
  .auth-options{gap:10px}
  .auth-opt{padding:14px}
  .wt-themes{grid-template-columns:repeat(4,1fr);gap:6px}
  .wt-theme .sw{width:30px;height:30px;font-size:12px}
  .wt-theme .nm{font-size:9px}
}

/* Improve scroll affordance on tables for mobile */
@media (max-width:720px){
  .tbl-wrap{position:relative}
  .tbl-wrap::after{
    content:"";position:absolute;right:0;top:0;bottom:0;width:24px;pointer-events:none;
    background:linear-gradient(90deg,transparent,var(--bg-2));opacity:.85;
  }
  .card .tbl-wrap::after{background:linear-gradient(90deg,transparent,var(--bg-2))}
}
