/* Volt-X admin extras: analytics, coupons, offers. Uses the existing theme tokens. */
.vxa-page{display:flex;flex-direction:column;gap:1rem;padding-block:1.5rem}
@media (min-width:1024px){.vxa-page{padding-block:2.5rem;gap:1.25rem}}
.vxa-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem}
.vxa-head-t{display:flex;flex-direction:column;gap:.25rem;min-width:0}
.vxa-head-a{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.vxa-upd{font-size:.75rem;color:var(--color-mist)}
.vxa-card{border:1px solid color-mix(in srgb,var(--color-line) 60%,transparent);background:color-mix(in srgb,var(--color-ink-900) 70%,transparent);border-radius:var(--radius-card);padding:1rem;backdrop-filter:blur(12px);min-width:0}
@media (min-width:768px){.vxa-card{padding:1.25rem}}
.vxa-h2{font-size:1rem;font-weight:600;margin-bottom:.75rem}
.vxa-h2.m0{margin:0}
.vxa-h3{font-size:.95rem;font-weight:600;margin-top:1.25rem}
.vxa-card-h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}
.vxa-card-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.vxa-note{font-size:.75rem;color:var(--color-mist);line-height:1.6}
.vxa-empty{padding:1rem 0;text-align:center;font-size:.875rem;color:var(--color-mist)}
.vxa-warn{display:flex;align-items:center;gap:.5rem;border:1px solid color-mix(in srgb,var(--color-warning) 30%,transparent);background:color-mix(in srgb,var(--color-warning) 10%,transparent);color:var(--color-warning);border-radius:var(--radius-control);padding:.5rem .75rem;font-size:.75rem}
.vxa-ok,.vxa-bad{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-radius:var(--radius-control);padding:.65rem .9rem;font-size:.875rem}
.vxa-ok{border:1px solid color-mix(in srgb,var(--color-volt-500) 30%,transparent);background:color-mix(in srgb,var(--color-volt-500) 10%,transparent);color:var(--color-volt-300)}
.vxa-bad{border:1px solid color-mix(in srgb,var(--color-danger) 30%,transparent);background:color-mix(in srgb,var(--color-danger) 10%,transparent);color:var(--color-danger)}
.vxa-ok button,.vxa-bad button{font-size:1.25rem;line-height:1;color:inherit;padding:0 .25rem}
.vxa-skel{height:18rem;border-radius:var(--radius-card);background:color-mix(in srgb,var(--color-ink-900) 70%,transparent);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}

/* range + chips */
.vxa-range{display:flex;flex-direction:column;gap:.75rem}
.vxa-chips{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:none}
.vxa-chips::-webkit-scrollbar{display:none}
.vxa-chip{flex:none;height:2.25rem;padding-inline:.9rem;border-radius:999px;border:1px solid var(--color-line);background:var(--color-ink-900);color:var(--color-mist);font-size:.8rem;font-weight:500;transition:color .15s,border-color .15s,background .15s;white-space:nowrap}
.vxa-chip:hover{color:var(--color-snow)}
.vxa-chip.on{border-color:color-mix(in srgb,var(--color-volt-500) 45%,transparent);background:color-mix(in srgb,var(--color-volt-500) 12%,transparent);color:var(--color-volt-300)}
.vxa-chip.sm{height:2rem;font-size:.75rem}
.vxa-custom{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.vxa-range-t{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.8rem}

/* KPI */
.vxa-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
@media (min-width:768px){.vxa-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1280px){.vxa-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.vxa-kpis.three{grid-template-columns:repeat(3,minmax(0,1fr))}}
.vxa-kpis.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.vxa-kpi{border:1px solid color-mix(in srgb,var(--color-line) 60%,transparent);background:color-mix(in srgb,var(--color-ink-900) 70%,transparent);border-radius:var(--radius-card);padding:1rem;display:flex;flex-direction:column;gap:.35rem;min-width:0}
.vxa-kpi-l{font-size:.8rem;color:var(--color-mist)}
.vxa-kpi-v{font-size:1.4rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2;overflow-wrap:anywhere}
@media (min-width:768px){.vxa-kpi-v{font-size:1.6rem}}
.vxa-kpi-d{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem}
.vxa-kpi-p{font-size:.7rem;color:var(--color-mist)}
.vxa-delta{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;border-radius:999px;padding:.15rem .5rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.vxa-delta.up{color:var(--color-volt-400);background:color-mix(in srgb,var(--color-volt-500) 12%,transparent)}
.vxa-delta.down{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 12%,transparent)}
.vxa-delta.flat{color:var(--color-mist);background:color-mix(in srgb,var(--color-mist) 12%,transparent);font-weight:500}

/* month hero */
.vxa-hero{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center}
@media (min-width:900px){.vxa-hero{grid-template-columns:auto 1fr auto}}
.vxa-hero.up{border-color:color-mix(in srgb,var(--color-volt-500) 35%,transparent)}
.vxa-hero.down{border-color:color-mix(in srgb,var(--color-danger) 35%,transparent)}
.vxa-hero-ic{display:grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:1rem}
.vxa-hero.up .vxa-hero-ic{background:color-mix(in srgb,var(--color-volt-500) 14%,transparent);color:var(--color-volt-400)}
.vxa-hero.down .vxa-hero-ic{background:color-mix(in srgb,var(--color-danger) 14%,transparent);color:var(--color-danger)}
.vxa-hero.flat .vxa-hero-ic{background:color-mix(in srgb,var(--color-mist) 14%,transparent);color:var(--color-mist)}
.vxa-hero-k{font-size:.8rem;color:var(--color-mist)}
.vxa-hero-m{font-size:1.05rem;font-weight:700;margin-block:.15rem}
.vxa-hero-n{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:1.25rem 2rem}
@media (min-width:900px){.vxa-hero-n{grid-column:auto;justify-content:flex-end}}
.vxa-hero-v{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.3}
.vxa-hero-v.sm{font-size:1.05rem}

/* chart */
.vxa-chart{display:flex;flex-direction:column;gap:.5rem}
.vxa-tip{min-height:1.5rem;font-size:.85rem;display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}
.vxa-svgwrap{touch-action:pan-y}
.vxa-svg{display:block;width:100%;height:auto;cursor:crosshair;overflow:visible}
.vxa-ticks{display:flex;justify-content:space-between;font-size:.7rem;color:var(--color-mist);margin-top:.25rem}
.vxa-chart-empty{display:grid;place-items:center;height:10rem;color:var(--color-mist);font-size:.875rem}

/* lists */
.vxa-grid2{display:grid;gap:1rem}
@media (min-width:1024px){.vxa-grid2{grid-template-columns:1fr 1fr}}
.vxa-list{display:flex;flex-direction:column;gap:.9rem}
.vxa-li-t{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}
.vxa-li-n{font-size:.875rem;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vxa-li-v{font-size:.8rem;color:var(--color-mist);font-variant-numeric:tabular-nums;white-space:nowrap}
.vxa-li-s{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.35rem;font-size:.75rem}
.vxa-bar{height:.4rem;border-radius:999px;background:var(--color-ink-700);overflow:hidden}
.vxa-bar span{display:block;height:100%;border-radius:999px}
.vxa-stack{display:flex;height:.9rem;border-radius:999px;overflow:hidden;background:var(--color-ink-700);gap:2px;direction:ltr}
.vxa-legend{margin-top:1rem;display:flex;flex-direction:column;gap:.55rem}
.vxa-legend li{display:grid;grid-template-columns:.7rem 1fr auto 3.5rem;align-items:center;gap:.6rem;font-size:.85rem}
.vxa-legend i{width:.7rem;height:.7rem;border-radius:3px;display:block}
.vxa-legend b{font-variant-numeric:tabular-nums}
.vxa-legend em{font-style:normal;color:var(--color-mist);font-size:.75rem;text-align:end;font-variant-numeric:tabular-nums}
.vxa-code{font-family:var(--font-mono);font-weight:700;letter-spacing:.05em;color:var(--color-volt-300)}

/* since start + months */
.vxa-since{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
@media (min-width:768px){.vxa-since{grid-template-columns:repeat(5,minmax(0,1fr))}}
.vxa-since-v{font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.vxa-months{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;max-height:30rem;overflow-y:auto}
.vxa-months li{display:grid;grid-template-columns:5.5rem 1fr auto;grid-template-areas:"n b v" "o o d";gap:.25rem .75rem;align-items:center;padding-block:.35rem;border-bottom:1px solid color-mix(in srgb,var(--color-line) 40%,transparent)}
.vxa-mo-n{grid-area:n;font-size:.8rem;font-weight:500}
.vxa-months li .vxa-bar{grid-area:b}
.vxa-mo-v{grid-area:v;font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums;text-align:end}
.vxa-mo-o{grid-area:o;font-size:.7rem;color:var(--color-mist)}
.vxa-months li .vxa-delta{grid-area:d;justify-self:end}
@media (min-width:768px){.vxa-months li{grid-template-columns:6rem 1fr 9rem 6rem 6.5rem;grid-template-areas:"n b v o d"}}

/* rows (coupons / offers) */
.vxa-rows{display:flex;flex-direction:column;gap:.75rem}
.vxa-rows.flush{gap:0}
.vxa-row{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem;border:1px solid color-mix(in srgb,var(--color-line) 60%,transparent);background:color-mix(in srgb,var(--color-ink-900) 70%,transparent);border-radius:var(--radius-card);padding:1rem}
.vxa-rows.flush .vxa-row{border:0;border-top:1px solid color-mix(in srgb,var(--color-line) 50%,transparent);border-radius:0;background:none;padding-inline:0}
.vxa-row.busy{opacity:.6;pointer-events:none}
.vxa-row-main{flex:1 1 16rem;min-width:0;display:flex;flex-direction:column;gap:.3rem}
.vxa-row-top{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.vxa-row-big{font-size:1.05rem;font-weight:700}
.vxa-row-meta{font-size:.78rem;color:var(--color-mist);line-height:1.6}
.vxa-row-act{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.vxa-prices{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.9rem}
.vxa-btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:2.75rem;padding-inline:1rem;border-radius:var(--radius-control);border:1px solid color-mix(in srgb,var(--color-danger) 35%,transparent);color:var(--color-danger);font-size:.875rem;font-weight:500;transition:background .15s}
.vxa-btn-danger:hover{background:color-mix(in srgb,var(--color-danger) 12%,transparent)}
.vxa-btn-danger:disabled{opacity:.5}

/* forms */
.vxa-form{display:flex;flex-direction:column;gap:1rem;max-width:44rem}
.vxa-fields{display:flex;flex-direction:column;gap:1rem}
.vxa-two{display:grid;gap:1rem}
@media (min-width:640px){.vxa-two{grid-template-columns:1fr 1fr}}
.vxa-codewrap{display:flex;gap:.75rem;align-items:flex-start}
.vxa-codewrap>div{flex:1}
.vxa-codewrap>button{margin-top:1.9rem;flex:none}
.vxa-seg-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}
.vxa-savebar{position:sticky;bottom:0;z-index:20;display:flex;flex-direction:column;gap:.5rem;border-top:1px solid color-mix(in srgb,var(--color-line) 60%,transparent);background:color-mix(in srgb,var(--color-ink-950) 90%,transparent);backdrop-filter:blur(16px);padding:.75rem 1rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom));margin-inline:-1rem}
@media (min-width:768px){.vxa-savebar{margin-inline:0;border:1px solid color-mix(in srgb,var(--color-line) 60%,transparent);border-radius:var(--radius-card)}}
.vxa-savebar-b{display:flex;justify-content:flex-end;gap:.75rem}
.vxa-picker{display:flex;flex-direction:column;gap:.5rem}
.vxa-pick-list{max-height:16rem;overflow-y:auto;border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-ink-950)}
.vxa-pick-list li+li{border-top:1px solid color-mix(in srgb,var(--color-line) 40%,transparent)}
.vxa-pick-list label{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;cursor:pointer}
.vxa-pick-list label.dis{opacity:.55;cursor:not-allowed}
.vxa-pick-list input{accent-color:var(--color-volt-500);width:1.1rem;height:1.1rem;flex:none}
.vxa-pick-list .vxa-li-n{flex:1}
.vxa-preview{border:1px dashed color-mix(in srgb,var(--color-volt-500) 40%,transparent);background:color-mix(in srgb,var(--color-volt-500) 6%,transparent);border-radius:var(--radius-control);padding:.75rem 1rem;font-size:.85rem;display:flex;flex-direction:column;gap:.5rem}
.vxa-preview li{display:flex;align-items:center;gap:.75rem}
.vxa-preview li .vxa-li-n{flex:1}
