:root{
  --gold:#F5B400;
  --gold-bright:#FFC533;
  --gold-deep:#C98A00;
  --green:#3ECf8E;
  --red:#ef5b6e;
  --text:#ffffff;
  --muted:#8c8c8c;
  --label:#777777;
  --line:rgba(255,255,255,0.07);
  --card-grad:linear-gradient(160deg,#161616,#0e0e0e);
}
*{box-sizing:border-box;margin:0;padding:0;}
*{scrollbar-width:thin;scrollbar-color:#3a3a3a transparent;}
::-webkit-scrollbar{width:8px;height:8px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:#333;border-radius:20px;border:2px solid transparent;background-clip:padding-box;}
::-webkit-scrollbar-thumb:hover{background:#4a4a4a;background-clip:padding-box;border:2px solid transparent;}
::-webkit-scrollbar-corner{background:transparent;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;}
body{
  font-family:'Poppins',sans-serif;
  background:radial-gradient(120% 80% at 50% -10%, #0c0c0c, #050505 60%);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  display:flex;min-height:100vh;font-size:14px;
}
svg{display:block;}

/* ---------------- SIDEBAR ---------------- */
.sidebar{
  width:236px;flex-shrink:0;
  background:linear-gradient(180deg,#0b0b0b,#070707);
  border-right:1px solid var(--line);
  display:flex;flex-direction:column;
  padding:20px 14px 14px;
  position:sticky;top:0;height:100vh;z-index:60;
  transition:width .26s cubic-bezier(.4,0,.2,1);
}
.side-logo{display:flex;align-items:center;gap:6px;padding:4px 8px 2px;height:42px;overflow:hidden;}
.side-logo img{height:32px;}
.side-logo .bolt-only{height:30px;display:none;}
.rail-btn{
  margin:10px 8px 12px;align-self:flex-start;
  width:34px;height:30px;border-radius:8px;border:1px solid var(--line);background:#131313;
  color:#9a9a9a;display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:color .18s,border-color .18s;
}
.rail-btn:hover{color:var(--gold);border-color:rgba(245,180,0,.35);}
.rail-btn svg{transition:transform .28s ease;}
.nav{display:flex;flex-direction:column;gap:3px;}
.nav-item{
  display:flex;align-items:center;gap:13px;width:100%;
  padding:10px 12px;border-radius:10px;border:none;background:none;cursor:pointer;
  color:#b0b0b0;font-weight:500;font-size:13.5px;font-family:inherit;text-align:left;
  transition:background .18s,color .18s;position:relative;white-space:nowrap;
}
.nav-item .ic{color:#8f8f8f;display:flex;flex-shrink:0;transition:color .18s;}
.nav-item .lbl{flex:1;overflow:hidden;}
.nav-item .caret{margin-left:auto;color:#5f5f5f;display:flex;transition:transform .2s,color .18s;}
.nav-item:hover{background:rgba(255,255,255,0.05);color:#fff;}
.nav-item:hover .ic{color:#cfcfcf;}
.nav-item.active{background:linear-gradient(90deg,rgba(245,180,0,0.15),rgba(245,180,0,0.02));color:#fff;}
.nav-item.active .ic{color:var(--gold);}
.nav-item.active::before{
  content:"";position:absolute;left:-14px;top:50%;transform:translateY(-50%);
  width:4px;height:22px;border-radius:0 4px 4px 0;background:var(--gold);box-shadow:0 0 12px rgba(245,180,0,.7);
}
.nav-group{position:relative;}
.nav-group.open > .nav-item{color:#fff;background:rgba(255,255,255,0.05);}
.nav-group.open > .nav-item .caret{transform:rotate(90deg);color:var(--gold);}
.flyout{
  position:absolute;left:calc(100% + 14px);top:-6px;z-index:120;min-width:190px;padding:8px;
  background:linear-gradient(160deg,#1c1c1c,#121212);
  border:1px solid rgba(245,180,0,0.18);border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.6);
  opacity:0;transform:translateX(-10px) scale(.97);transform-origin:left center;
  pointer-events:none;transition:opacity .2s ease,transform .2s cubic-bezier(.22,1,.36,1);
}
.flyout::before{
  content:"";position:absolute;left:-7px;top:18px;width:13px;height:13px;
  background:#1c1c1c;border-left:1px solid rgba(245,180,0,0.18);border-bottom:1px solid rgba(245,180,0,0.18);transform:rotate(45deg);
}
.nav-group:hover > .flyout,.nav-group.open > .flyout{opacity:1;transform:translateX(0) scale(1);pointer-events:auto;}
.fly-head{font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:#6f6f6f;padding:6px 10px 8px;font-weight:600;}
.fly-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:9px;color:#c2c2c2;font-size:13px;font-weight:500;transition:background .15s,color .15s;cursor:pointer;}
.fly-item .dot{width:6px;height:6px;border-radius:50%;background:#5a5a5a;flex-shrink:0;transition:background .15s,box-shadow .15s;}
.fly-item:hover{background:rgba(245,180,0,0.10);color:#fff;}
.fly-item:hover .dot{background:var(--gold);}
.fly-item.active{color:#fff;}
.fly-item.active .dot{background:var(--gold);box-shadow:0 0 8px rgba(245,180,0,.85);}

/* manager + promo pushed to bottom */
.side-spacer{flex:1 1 auto;min-height:14px;}
.mgr{background:var(--card-grad);border:1px solid var(--line);border-radius:12px;padding:13px;display:flex;align-items:center;gap:11px;}
.mgr .av{width:38px;height:38px;border-radius:50%;flex-shrink:0;border:1.5px solid rgba(245,180,0,.5);display:flex;align-items:center;justify-content:center;color:var(--gold);}
.mgr .av img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit;}
.mgr .tx{min-width:0;flex:1;overflow:hidden;}
.mgr .t1{font-size:10px;color:var(--muted);margin-bottom:1px;}
.mgr .t2{font-size:12.5px;font-weight:600;}
.mgr .t3{font-size:9.5px;color:var(--gold);margin-top:1px;word-break:break-all;line-height:1.3;}
.promo{margin-top:12px;border-radius:12px;padding:16px 15px 15px;position:relative;overflow:hidden;
  background:radial-gradient(120% 90% at 110% 120%, rgba(245,180,0,0.32), rgba(245,180,0,0) 55%),linear-gradient(160deg,#141414,#0c0c0c);border:1px solid var(--line);}
.promo h4{font-size:14px;font-weight:700;line-height:1.25;margin-bottom:9px;}
.promo h4 .g{color:var(--gold);}
.promo p{font-size:11px;color:#9a9a9a;line-height:1.5;margin-bottom:14px;font-weight:300;max-width:140px;}
.promo .coins{position:absolute;right:-6px;bottom:-6px;opacity:.9;}
.promo .learn{display:inline-flex;align-items:center;gap:7px;background:linear-gradient(180deg,var(--gold-bright),var(--gold-deep));color:#1a1200;font-weight:600;font-size:12px;padding:8px 16px;border-radius:7px;border:none;cursor:pointer;position:relative;z-index:2;}
.side-foot{margin-top:14px;padding:4px 6px 2px;color:#818080;font-size:10px;line-height:1.6;font-weight:500;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}

/* RAIL */
.sidebar.rail{width:74px;}
.sidebar.rail .side-logo{justify-content:center;}
.sidebar.rail .side-logo img{display:none;}
.sidebar.rail .side-logo .bolt-only{display:block;}
.sidebar.rail .rail-btn{align-self:center;margin-left:auto;margin-right:auto;}
.sidebar.rail .rail-btn svg{transform:rotate(180deg);}
.sidebar.rail .nav-item{justify-content:center;padding:11px 0;gap:0;}
.sidebar.rail .nav-item .lbl,.sidebar.rail .nav-item .caret{display:none;}
.sidebar.rail .nav-item.active::before{left:-12px;}
.sidebar.rail .mgr,.sidebar.rail .promo,.sidebar.rail .side-foot{display:none;}
/* tooltip ONLY for single items (groups already show a flyout) */
.sidebar.rail .nav-item.single[data-tip]:hover::after{
  content:attr(data-tip);position:absolute;left:calc(100% + 14px);top:50%;transform:translateY(-50%);
  background:#1c1c1c;border:1px solid rgba(245,180,0,.18);color:#fff;font-size:12.5px;padding:7px 12px;border-radius:9px;white-space:nowrap;box-shadow:0 12px 30px rgba(0,0,0,.5);z-index:130;pointer-events:none;
}

/* ---------------- MAIN ---------------- */
.main{flex:1;min-width:0;padding:24px 28px 40px;}
.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px;}
.topbar-left{display:flex;align-items:center;gap:14px;min-width:0;}
.topbar h1{font-size:24px;font-weight:700;display:flex;align-items:center;gap:9px;}
.topbar h1 .wave{color:var(--gold);display:inline-flex;transform-origin:70% 80%;animation:wave 2.4s ease-in-out infinite;}
@keyframes wave{0%,60%,100%{transform:rotate(0);}70%{transform:rotate(14deg);}80%{transform:rotate(-8deg);}90%{transform:rotate(12deg);}}
.topbar .sub{color:#8c8c8c;font-size:13.5px;margin-top:3px;font-weight:300;}
.top-actions{display:flex;align-items:center;gap:12px;}
.pill{display:flex;align-items:center;gap:10px;white-space:nowrap;background:#121212;border:1px solid var(--line);border-radius:10px;padding:11px 14px;font-size:13px;color:#d4d4d4;cursor:pointer;}
.pill .cal{color:var(--gold);}
.pill .chev{color:#7a7a7a;}
.icon-btn{width:42px;height:42px;border-radius:10px;background:#121212;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:#cfcfcf;cursor:pointer;position:relative;}
.icon-btn .badge{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;padding:0 3px;border-radius:20px;background:var(--gold);color:#1a1200;font-size:10px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #121212;border:none;}
.user-pill{display:flex;align-items:center;gap:9px;background:#121212;border:1px solid var(--line);border-radius:10px;padding:7px 12px 7px 7px;cursor:pointer;}
.user-pill .uav{width:28px;height:28px;border-radius:50%;background:#2a2a2a;display:flex;align-items:center;justify-content:center;color:#bbb;}
.user-pill span{font-size:13px;color:#e0e0e0;}
.user-pill .chev{color:#7a7a7a;}

/* page header (inner pages) */
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px;}
.page-head .ph-left{display:flex;align-items:center;gap:14px;min-width:0;}
.ph-icon{width:46px;height:46px;border-radius:13px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--gold);background:linear-gradient(160deg,rgba(245,180,0,0.14),rgba(245,180,0,0.03));border:1px solid rgba(245,180,0,0.22);}
.page-head h1{font-size:23px;font-weight:700;letter-spacing:-.3px;}
.page-head .sub{color:#8c8c8c;font-size:13px;margin-top:2px;font-weight:300;}
.btn-primary{display:inline-flex;align-items:center;gap:9px;background:linear-gradient(180deg,var(--gold-bright),var(--gold-deep));color:#1a1200;font-weight:700;font-size:13.5px;border:none;border-radius:10px;padding:12px 20px;cursor:pointer;box-shadow:0 8px 22px rgba(245,180,0,.22);transition:transform .15s;white-space:nowrap;}
.btn-primary:hover{transform:translateY(-1px);}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;background:#141414;border:1px solid var(--line);color:#e0e0e0;font-weight:500;font-size:13px;border-radius:10px;padding:11px 16px;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s;}
.btn-ghost:hover{border-color:rgba(245,180,0,.4);color:#fff;}

/* generic card */
.card{background:var(--card-grad);border:1px solid rgba(255,255,255,0.06);border-radius:14px;box-shadow:0 1px 0 rgba(255,255,255,0.03) inset, 0 12px 30px rgba(0,0,0,0.4);}
.card-pad{padding:18px 20px;}
.card + .card{margin-top:18px;}

/* segmented tabs (e.g. reports header, active/pending) */
.seg{display:inline-flex;background:#121212;border:1px solid var(--line);border-radius:10px;padding:4px;gap:2px;}
.seg button{border:none;background:none;color:#9a9a9a;font-family:inherit;font-size:13px;font-weight:500;padding:8px 16px;border-radius:7px;cursor:pointer;transition:all .15s;}
.seg button.active{background:linear-gradient(180deg,var(--gold-bright),var(--gold-deep));color:#1a1200;font-weight:600;}

/* time filter bar */
.filterbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:18px 20px;}
.filterbar .ft-title{display:flex;align-items:center;gap:9px;font-weight:600;font-size:14px;color:#eee;margin-right:6px;}
.filterbar .ft-title .ic{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--gold);background:rgba(245,180,0,0.10);border:1px solid rgba(245,180,0,0.2);}
.chip{border:1px solid var(--line);background:#141414;color:#cfcfcf;font-size:12.5px;font-weight:500;padding:8px 15px;border-radius:8px;cursor:pointer;transition:all .15s;}
.chip:hover{border-color:rgba(245,180,0,.4);color:#fff;}
.chip.active{background:linear-gradient(180deg,var(--gold-bright),var(--gold-deep));color:#1a1200;border-color:transparent;font-weight:600;}
.f-label{color:#8a8a8a;font-size:12.5px;margin:0 2px;}
.f-date{background:#0e0e0e;border:1px solid var(--line);color:#dcdcdc;font-size:12.5px;padding:8px 12px;border-radius:8px;font-family:inherit;color-scheme:dark;cursor:pointer;}
.f-date:focus{outline:none;border-color:rgba(245,180,0,.5);}
.f-date::-webkit-calendar-picker-indicator{filter:invert(70%) sepia(80%) saturate(1200%) hue-rotate(2deg);opacity:.85;cursor:pointer;}
.f-select{background:#0e0e0e;border:1px solid var(--line);color:#dcdcdc;font-size:12.5px;padding:10px 36px 10px 14px;border-radius:9px;font-family:inherit;min-width:160px;cursor:pointer;appearance:none;-webkit-appearance:none;color-scheme:dark;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23F5B400' stroke-width='2' stroke-linecap='round'><path d='M4 6l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 12px center;}
.f-select:focus{outline:none;border-color:rgba(245,180,0,.5);}
.input select{appearance:none;-webkit-appearance:none;color-scheme:dark;padding-right:26px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23F5B400' stroke-width='2' stroke-linecap='round'><path d='M4 6l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right center;cursor:pointer;}

/* search row */
.toolrow{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0 14px;flex-wrap:wrap;}
.search{display:flex;align-items:center;gap:9px;background:#101010;border:1px solid var(--line);border-radius:9px;padding:10px 14px;min-width:280px;flex:0 1 320px;}
.search input{background:none;border:none;outline:none;color:#ddd;font-family:inherit;font-size:13px;width:100%;}
.search svg{color:#6f6f6f;flex-shrink:0;}
.results{color:#8a8a8a;font-size:13px;display:flex;align-items:center;gap:9px;}
.results .ref{color:#6f6f6f;cursor:pointer;}

/* TABLE */
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
table.data{width:100%;border-collapse:collapse;min-width:680px;}
table.data thead th{text-align:left;font-size:10.5px;letter-spacing:.7px;color:#6f6f6f;font-weight:600;padding:14px 16px;border-bottom:1px solid var(--line);white-space:nowrap;}
table.data thead th.num,table.data tbody td.num{text-align:right;}
table.data thead th.center,table.data tbody td.center{text-align:center;}
table.data tbody td{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,0.045);font-size:13px;color:#d6d6d6;vertical-align:middle;white-space:nowrap;}
table.data tbody tr{transition:background .15s;}
table.data tbody tr:hover{background:rgba(245,180,0,0.04);}
table.data tbody tr:last-child td{border-bottom:none;}
.cell-strong{font-weight:600;color:#f0f0f0;}
.cell-sub{font-size:11px;color:#7a7a7a;margin-top:1px;}
.muted{color:#6f6f6f;}
.mono{font-family:'SF Mono',ui-monospace,Menlo,monospace;font-size:12px;}
.gold-num{color:var(--gold);font-weight:600;font-variant-numeric:tabular-nums;}
.green-num{color:var(--green);font-weight:600;font-variant-numeric:tabular-nums;}
.red-num{color:var(--red);font-weight:600;font-variant-numeric:tabular-nums;}

/* badges */
.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:4px 11px;border-radius:20px;letter-spacing:.2px;}
.b-active{background:rgba(62,207,142,0.13);color:#3ecf8e;}
.b-paused{background:rgba(245,180,0,0.14);color:var(--gold);}
.b-deleted{background:rgba(239,91,110,0.14);color:#f0808f;}
.b-draft{background:rgba(245,180,0,0.13);color:var(--gold);}
.b-approved{background:rgba(62,207,142,0.13);color:#3ecf8e;}
.pill-tag{display:inline-flex;align-items:center;justify-content:center;min-width:26px;padding:3px 9px;border-radius:7px;font-size:11.5px;font-weight:600;background:rgba(149,128,255,0.15);color:#b3a3ff;}
.tag-net{display:inline-flex;align-items:center;padding:4px 11px;border-radius:7px;font-size:12px;font-weight:500;background:rgba(96,165,250,0.12);color:#8cc0ff;}
.tag-type{display:inline-flex;align-items:center;padding:4px 10px;border-radius:7px;font-size:11px;font-weight:600;letter-spacing:.3px;background:rgba(62,207,142,0.12);color:#3ecf8e;}
.tag-sub{background:rgba(245,180,0,0.13);color:var(--gold);}
.tag-model{display:inline-flex;align-items:center;padding:4px 10px;border-radius:7px;font-size:11px;font-weight:600;background:rgba(62,207,142,0.12);color:#3ecf8e;}
.tag-event{display:inline-flex;align-items:center;padding:3px 9px;border-radius:6px;font-size:10.5px;font-weight:600;text-transform:uppercase;}
.ev-ftd{background:rgba(245,180,0,0.15);color:var(--gold);}
.ev-reg{background:rgba(149,128,255,0.16);color:#b3a3ff;}
.tag-pay{display:inline-flex;align-items:center;padding:4px 10px;border-radius:7px;font-size:11px;font-weight:600;background:rgba(245,180,0,0.13);color:var(--gold);}
.flag{font-size:14px;line-height:1;}
.geo{display:inline-flex;align-items:center;gap:7px;}
.link-a{color:#7fb4ff;}
.link-a:hover{text-decoration:underline;}

/* row action icons */
.acts{display:flex;align-items:center;justify-content:flex-end;gap:6px;}
.act{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:#151515;color:#9a9a9a;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;}
.act:hover{border-color:rgba(245,180,0,.4);color:var(--gold);}
.act.del:hover{border-color:rgba(239,91,110,.5);color:#f0808f;}
.row-toggle{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#6f6f6f;cursor:pointer;}
.row-toggle:hover{color:var(--gold);}

/* pagination */
.pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 4px 0;color:#8a8a8a;font-size:13px;}
.pager .pg{width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:#141414;color:#bbb;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.pager .pg:hover{border-color:rgba(245,180,0,.4);color:var(--gold);}

/* KPI mini cards (earnings) */
.statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:18px;}
.statcard{background:var(--card-grad);border:1px solid rgba(255,255,255,0.06);border-radius:14px;padding:20px 22px;display:flex;align-items:flex-start;justify-content:space-between;box-shadow:0 12px 30px rgba(0,0,0,0.4);}
.statcard .sl{font-size:11px;letter-spacing:1px;color:var(--label);font-weight:600;}
.statcard .sv{font-size:30px;font-weight:700;margin-top:6px;font-variant-numeric:tabular-nums;}
.statcard .si{color:var(--gold);opacity:.8;}

/* form fields */
.field{margin-bottom:16px;}
.field label{display:block;font-size:12px;color:#9a9a9a;margin-bottom:7px;font-weight:500;}
.input{width:100%;background:#0e0e0e;border:1px solid var(--line);border-radius:10px;padding:13px 14px;color:#e6e6e6;font-family:inherit;font-size:13.5px;display:flex;align-items:center;gap:10px;}
.input input,.input select{background:none;border:none;outline:none;color:#e6e6e6;font-family:inherit;font-size:13.5px;width:100%;}
.input svg{color:#6f6f6f;flex-shrink:0;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;}

/* visible-pages chips (sub-admins) */
.vp-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.vp{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:11px;background:#0e0e0e;color:#c8c8c8;font-size:13.5px;font-weight:500;cursor:pointer;transition:all .15s;}
.vp .ic{color:#8a8a8a;display:flex;}
.vp:hover{border-color:rgba(245,180,0,.35);}
.vp.on{border-color:rgba(245,180,0,.5);background:rgba(245,180,0,0.06);color:#fff;}
.vp.on .ic{color:var(--gold);}

/* section header inside card */
.sec-head{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px;margin-bottom:4px;}
.sec-head .ic{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--gold);background:rgba(245,180,0,0.10);border:1px solid rgba(245,180,0,0.2);}
.note{color:#8a8a8a;font-size:12.5px;line-height:1.5;}

/* empty state */
.empty{text-align:center;color:#8a8a8a;padding:42px 20px;font-size:14px;}

/* detection grid (smartlinks) */
.detect{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.detect .d{display:flex;gap:12px;}
.detect .d .di{flex-shrink:0;color:var(--gold);}
.detect .d b{font-size:14px;display:block;margin-bottom:2px;}
.detect .d span{font-size:12px;color:#8a8a8a;}

/* chart tooltip */
.chart-tip{position:fixed;z-index:200;pointer-events:none;background:rgba(20,20,20,0.96);border:1px solid rgba(245,180,0,0.3);border-radius:10px;padding:9px 12px;font-size:12px;box-shadow:0 12px 30px rgba(0,0,0,.5);opacity:0;transform:translate(-50%,-12px);transition:opacity .12s;white-space:nowrap;}
.chart-tip .tt-d{color:#9a9a9a;font-size:10.5px;margin-bottom:4px;}
.chart-tip .tt-r{display:flex;align-items:center;gap:7px;margin-top:2px;}
.chart-tip .tt-r i{width:8px;height:8px;border-radius:50%;display:inline-block;}
.chart-tip .tt-r b{font-variant-numeric:tabular-nums;}

/* ===================== RESPONSIVE ===================== */
@media(max-width:1240px){ .statgrid{gap:14px;} }
@media(max-width:1024px){
  .rail-btn{display:none;}
  .sidebar,.sidebar.rail{position:fixed;top:0;left:0;height:100vh;z-index:100;width:264px;transform:translateX(-100%);transition:transform .28s ease;box-shadow:0 0 40px rgba(0,0,0,.6);}
  .sidebar.rail .side-logo img{display:block;}
  .sidebar.rail .side-logo .bolt-only{display:none;}
  .sidebar.rail .nav-item{justify-content:flex-start;padding:10px 12px;gap:13px;}
  .sidebar.rail .nav-item .lbl,.sidebar.rail .nav-item .caret{display:flex;}
  .sidebar.rail .nav-item .lbl{display:block;}
  .sidebar.rail .mgr{display:flex;}
  .sidebar.rail .promo,.sidebar.rail .side-foot{display:block;}
  .main{width:100%;}
  .detect{grid-template-columns:1fr 1fr;}
}
@media(max-width:760px){
  .main{padding:18px 16px 28px;}
  .topbar,.page-head{flex-direction:column;align-items:stretch;gap:14px;}
  .top-actions{flex-wrap:wrap;gap:10px;}
  .topbar h1,.page-head h1{font-size:20px;}
  .statgrid,.grid-2,.grid-3,.vp-grid,.detect{grid-template-columns:1fr;}
  .flyout{position:static;min-width:0;padding:2px 0 4px 30px;margin:0;background:none;border:none;box-shadow:none;opacity:1;transform:none;pointer-events:none;max-height:0;overflow:hidden;transition:max-height .3s ease;}
  .flyout::before{display:none;}
  .nav-group.open > .flyout{max-height:260px;pointer-events:auto;}
}


/* Sidebar CMS carousel: Reviews, Contact Us and Events */
.promo.promo-rotator{min-height:150px;padding:14px 14px 13px;margin-top:10px;isolation:isolate;}
.promo-rotator .promo-slide{position:relative;z-index:2;min-height:120px;display:flex;flex-direction:column;}
.promo-rotator .promo-slide.is-changing{animation:psPromoIn .48s cubic-bezier(.22,1,.36,1) both;}
.promo-rotator .promo-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0;}
.promo-rotator .promo-copy{min-width:0;flex:1;padding-top:1px;}
.promo-rotator .promo-kicker{color:var(--gold);font-size:9px;line-height:1.2;font-weight:700;letter-spacing:1.35px;margin-bottom:5px;}
.promo-rotator h4{font-size:13.5px;line-height:1.25;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.promo-rotator .promo-media{width:45px;height:45px;flex:0 0 45px;border-radius:11px;border:1px solid rgba(245,180,0,.28);background:rgba(245,180,0,.07);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 8px 18px rgba(0,0,0,.28);}
.promo-rotator .promo-image{width:100%;height:100%;object-fit:cover;display:block;}
.promo-rotator .promo-text{font-size:10.5px;line-height:1.45;color:#aaa;margin:10px 0 12px;max-width:168px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.promo-rotator .promo-dots{display:flex;align-items:center;gap:4px;margin-top:auto;max-width:118px;overflow:hidden;}
.promo-rotator .promo-dots span{width:4px;height:4px;border-radius:10px;background:rgba(255,255,255,.18);flex:0 0 auto;transition:width .25s ease,background .25s ease;}
.promo-rotator .promo-dots span.active{width:14px;background:var(--gold);box-shadow:0 0 8px rgba(245,180,0,.55);}
.promo-rotator .coins{right:-12px;bottom:-10px;opacity:.56;z-index:1;pointer-events:none;}
/* Events slide: show the full image at slide width instead of the small square */
.promo-rotator .promo-slide.is-event .promo-head{flex-direction:column;align-items:stretch;gap:8px;}
.promo-rotator .promo-slide.is-event .promo-media{order:-1;width:100%;height:auto;flex:0 0 auto;aspect-ratio:auto;border-radius:11px;background:none;border:0;box-shadow:0 8px 18px rgba(0,0,0,.28);}
.promo-rotator .promo-slide.is-event .promo-image{width:100%;height:auto;object-fit:contain;}
@keyframes psPromoIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.promo-rotator .promo-slide.is-changing{animation:none;}}

/* Custom dashboard banner image: display the uploaded artwork at full card width. */
.promo-rotator .promo-slide.is-banner-image .promo-head{flex-direction:column;align-items:stretch;gap:8px;}
.promo-rotator .promo-slide.is-banner-image .promo-media{order:-1;width:100%;height:76px;flex:0 0 76px;border-radius:10px;background:none;border:0;box-shadow:0 8px 18px rgba(0,0,0,.28);}
.promo-rotator .promo-slide.is-banner-image .promo-image{width:100%;height:100%;object-fit:cover;}
html[data-pl-route] .ps-react-sidebar .promo-rotator .promo-slide.is-banner-image .promo-head{flex-direction:column;align-items:stretch;gap:8px;}
html[data-pl-route] .ps-react-sidebar .promo-rotator .promo-slide.is-banner-image .promo-media{order:-1;width:100%!important;height:76px!important;flex:0 0 76px!important;border-radius:10px;background:none;border:0;box-shadow:0 8px 18px rgba(0,0,0,.28);}
html[data-pl-route] .ps-react-sidebar .promo-rotator .promo-slide.is-banner-image .promo-image{width:100%!important;height:100%!important;object-fit:cover!important;}
