/* ============================================
   A LOJA — GLOBAL STYLES (Light/Dark Theme)
   ============================================ */

[data-theme="dark"], :root {
  --bg:      #0a0a0f; --bg2: #12121a; --bg3: #1a1a26;
  --border:  #2a2a3a; --text: #e8e8f0; --muted: #6b6b8a;
  --accent:  #6c63ff; --accent2: #00d4aa;
  --danger:  #ff4d6d; --warn: #ffb347; --success: #2ecc71;
  --radius:  14px; --shadow: 0 4px 24px rgba(0,0,0,0.4);
}
[data-theme="light"] {
  --bg:      #f0f2f8; --bg2: #ffffff; --bg3: #e8eaf2;
  --border:  #d0d4e8; --text: #1a1a2e; --muted: #7a7a99;
  --accent:  #6c63ff; --accent2: #00b89a;
  --danger:  #e03058; --warn: #d48a10; --success: #27ae60;
  --radius:  14px; --shadow: 0 4px 24px rgba(0,0,0,0.08);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'DM Sans', sans-serif; background: var(--bg); color: var(--text);
  min-height: 100vh; padding-bottom: 80px; -webkit-font-smoothing: antialiased;
  transition: background 0.3s, color 0.3s;
}

.navbar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 13px 20px; background: var(--bg2); border-bottom: 1px solid var(--border);
  position: sticky; top: 0; z-index: 100; gap: 10px; flex-wrap: wrap;
}
.nav-brand { font-family:'Syne',sans-serif; font-weight:800; font-size:1.2rem; letter-spacing:2px; white-space:nowrap; }
.nav-brand span { color: var(--accent); }
.nav-links { display:flex; gap:4px; flex-wrap:wrap; }
.nav-link {
  text-decoration:none; color:var(--muted); font-size:0.82rem; font-weight:500;
  padding:6px 12px; border-radius:99px; transition:all 0.2s; white-space:nowrap;
}
.nav-link:hover, .nav-link.active { color:var(--text); background:var(--bg3); }
.nav-actions { display:flex; align-items:center; gap:6px; }
.theme-toggle, .logout-btn {
  border: 1px solid var(--border); background: var(--bg3); color: var(--text);
  border-radius:99px; padding:5px 12px; font-size:0.78rem; cursor:pointer;
  font-family:'DM Sans',sans-serif; transition:all 0.2s; white-space:nowrap;
}
.theme-toggle:hover { border-color:var(--accent); }
.logout-btn { background:transparent; color:var(--muted); }
.logout-btn:hover { border-color:var(--danger); color:var(--danger); }

.dashboard { max-width:960px; margin:0 auto; padding:28px 20px; }
.dash-header { margin-bottom:24px; }
.dash-header h1 { font-family:'Syne',sans-serif; font-size:2rem; font-weight:800; }
.subtitle { color:var(--muted); margin-top:4px; }

.cards-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:14px; margin-bottom:24px; }
.card { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius); padding:18px; transition:transform 0.2s; }
.card:hover { transform:translateY(-2px); }
.card-dark { background:var(--bg3); }
.card-label { font-size:0.72rem; text-transform:uppercase; letter-spacing:1px; color:var(--muted); }
.card-value { font-family:'Syne',sans-serif; font-size:1.45rem; font-weight:700; margin:7px 0 3px; }
.card-value.accent { color:var(--accent); }
.card-value.accent2 { color:var(--accent2); }
.card-sub { font-size:0.76rem; color:var(--muted); }

.dash-shortcuts { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.shortcut-card {
  display:flex; align-items:center; gap:14px; background:var(--bg2);
  border:1px solid var(--border); border-radius:var(--radius); padding:18px;
  text-decoration:none; color:var(--text); transition:all 0.2s;
}
.shortcut-card:hover { transform:translateY(-2px); }
.iphone-card:hover { border-color:var(--accent); }
.vape-card:hover   { border-color:var(--accent2); }
.shortcut-icon { font-size:1.9rem; }
.shortcut-info h3 { font-family:'Syne',sans-serif; font-weight:700; }
.shortcut-info p  { font-size:0.78rem; color:var(--muted); margin-top:3px; }
.shortcut-arrow   { margin-left:auto; font-size:1.1rem; color:var(--muted); }

.footer { position:fixed; bottom:0; left:0; right:0; background:var(--bg2); border-top:1px solid var(--border); z-index:100; }
.footer-nav { display:flex; justify-content:space-around; padding:9px 0 max(9px,env(safe-area-inset-bottom)); }
.footer-link { display:flex; flex-direction:column; align-items:center; gap:3px; text-decoration:none; color:var(--muted); font-size:0.68rem; font-weight:500; padding:3px 14px; border-radius:8px; transition:all 0.2s; }
.footer-link .footer-icon { font-size:1.2rem; }
.footer-link:hover, .footer-link.active { color:var(--accent); }

.page-wrap { max-width:980px; margin:0 auto; padding:22px 18px; }
.page-header { display:flex; align-items:center; gap:10px; margin-bottom:20px; }
.page-header h1 { font-family:'Syne',sans-serif; font-size:1.7rem; font-weight:800; }
.page-icon { font-size:1.8rem; }

.tabs {
  display:flex; gap:4px; flex-wrap:wrap; background:var(--bg2);
  border:1px solid var(--border); border-radius:12px; padding:4px; margin-bottom:22px;
}
.tab-btn {
  border:none; background:transparent; color:var(--muted); padding:7px 15px;
  border-radius:9px; cursor:pointer; font-family:'DM Sans',sans-serif;
  font-size:0.82rem; font-weight:500; transition:all 0.2s; white-space:nowrap;
}
.tab-btn.active { background:var(--accent); color:#fff; }
.tab-content { display:none; }
.tab-content.active { display:block; }

.form-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(185px,1fr)); gap:13px; margin-bottom:14px; }
.form-group { display:flex; flex-direction:column; gap:5px; }
.form-group label { font-size:0.74rem; font-weight:500; color:var(--muted); text-transform:uppercase; letter-spacing:0.5px; }

input, select, textarea {
  background:var(--bg3); border:1px solid var(--border); color:var(--text);
  border-radius:10px; padding:9px 13px; font-family:'DM Sans',sans-serif;
  font-size:0.88rem; transition:border-color 0.2s; width:100%;
}
input:focus, select:focus, textarea:focus { outline:none; border-color:var(--accent); }
select option { background:var(--bg2); }

.btn {
  display:inline-flex; align-items:center; gap:7px; border:none; border-radius:10px;
  padding:9px 18px; font-family:'DM Sans',sans-serif; font-weight:500; font-size:0.87rem;
  cursor:pointer; transition:all 0.18s; white-space:nowrap;
}
.btn-primary { background:var(--accent); color:#fff; }
.btn-primary:hover { filter:brightness(1.12); transform:translateY(-1px); }
.btn-success { background:var(--success); color:#fff; }
.btn-success:hover { filter:brightness(1.1); }
.btn-danger  { background:var(--danger);  color:#fff; }
.btn-danger:hover  { filter:brightness(1.1); }
.btn-warn    { background:var(--warn);    color:#fff; }
.btn-warn:hover    { filter:brightness(1.1); }
.btn-ghost { background:transparent; border:1px solid var(--border); color:var(--muted); }
.btn-ghost:hover { border-color:var(--accent); color:var(--accent); }
.btn-sm { padding:5px 11px; font-size:0.77rem; border-radius:7px; }
.btn-xs { padding:3px 8px; font-size:0.72rem; border-radius:6px; }

.section-card { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius); padding:20px; margin-bottom:16px; }
.section-title { font-family:'Syne',sans-serif; font-size:0.93rem; font-weight:700; margin-bottom:16px; display:flex; align-items:center; justify-content:space-between; gap:8px; }

/* ── CALCULADORA ──────────────────────────── */
.calc-inputs { display:grid; grid-template-columns:repeat(auto-fit,minmax(175px,1fr)); gap:12px; margin-bottom:14px; }
.calc-results { display:grid; grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); gap:12px; margin-top:14px; }
.calc-box { background:var(--bg3); border:1px solid var(--border); border-radius:12px; padding:15px; }
.calc-box .cb-label { font-size:0.7rem; text-transform:uppercase; letter-spacing:0.5px; color:var(--muted); margin-bottom:5px; }
.calc-box .cb-val { font-family:'Syne',sans-serif; font-size:1.35rem; font-weight:700; }
.cb-val.green  { color:var(--success); }
.cb-val.yellow { color:var(--warn); }
.cb-val.blue   { color:var(--accent); }
.cb-val.teal   { color:var(--accent2); }
.cb-val.red    { color:var(--danger); }
.cb-val.white  { color:var(--text); }

/* ── TROCA / PARCELAMENTO ─────────────────── */

.venda-extra-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
.trade-box, .parcelamento-box {
  background:var(--bg3); border:1px solid var(--accent);
  border-radius:12px; padding:16px; margin-top:12px; display:none;
}
.trade-box.show, .parcelamento-box.show { display:block; }
.trade-box .p-title, .parcelamento-box .p-title { font-size:0.82rem; font-weight:600; color:var(--accent); margin-bottom:12px; }

.payment-status {
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 12px; border-radius:999px;
  background:rgba(46,204,113,0.12); border:1px solid rgba(46,204,113,0.3);
  color:var(--success); font-size:0.78rem; font-weight:600;
}
.payment-status.is-parcelado {
  background:rgba(108,99,255,0.12); border-color:rgba(108,99,255,0.3);
  color:var(--accent);
}

.parcelas-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.parcela-item { background:var(--bg2); border:1px solid var(--border); border-radius:10px; padding:12px; text-align:center; }
.parcela-item .p-num { font-size:0.7rem; color:var(--muted); margin-bottom:5px; }
.parcela-item input { font-family:'Syne',sans-serif; font-size:1rem; font-weight:700; color:var(--warn); border:none; background:transparent; text-align:center; padding:0; width:100%; }
.parcela-item input:focus { outline:none; }
.parcela-item .p-total { font-size:0.7rem; color:var(--muted); margin-top:4px; }

/* ── TABLE ────────────────────────────────── */
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:0.83rem; }
th { text-align:left; padding:8px 11px; font-size:0.68rem; text-transform:uppercase; letter-spacing:0.5px; color:var(--muted); border-bottom:1px solid var(--border); white-space:nowrap; }
td { padding:9px 11px; border-bottom:1px solid var(--border); vertical-align:middle; }
tr:last-child td { border-bottom:none; }
tr:hover td { background:var(--bg3); transition:background 0.15s; }

.badge { display:inline-block; padding:2px 8px; border-radius:99px; font-size:0.68rem; font-weight:600; white-space:nowrap; }
.badge-green  { background:rgba(46,204,113,0.15);  color:var(--success); }
.badge-blue   { background:rgba(108,99,255,0.15);  color:var(--accent); }
.badge-yellow { background:rgba(255,179,71,0.15);  color:var(--warn); }
.badge-red    { background:rgba(255,77,109,0.15);  color:var(--danger); }
.badge-teal   { background:rgba(0,212,170,0.15);   color:var(--accent2); }

/* Inline edit row */
.inline-edit-row td { background:var(--bg3) !important; padding:5px 8px !important; }
.inline-edit-row td input, .inline-edit-row td select {
  padding:5px 9px; font-size:0.81rem; border-radius:7px; min-width:80px;
}

/* ── STATS ────────────────────────────────── */
.stats-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); gap:11px; margin-bottom:16px; }
.stat-box { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius); padding:13px; }
.stat-box .s-label { font-size:0.68rem; text-transform:uppercase; letter-spacing:0.5px; color:var(--muted); }
.stat-box .s-val { font-family:'Syne',sans-serif; font-size:1.25rem; font-weight:700; margin-top:4px; color:var(--accent); }

.period-btns { display:flex; gap:7px; margin-bottom:14px; flex-wrap:wrap; }
.period-btn { border:1px solid var(--border); background:transparent; color:var(--muted); padding:5px 13px; border-radius:99px; font-size:0.78rem; cursor:pointer; font-family:'DM Sans',sans-serif; transition:all 0.18s; white-space:nowrap; }
.period-btn.active { border-color:var(--accent); color:var(--accent); background:rgba(108,99,255,0.1); }

/* filter select for report */
.filter-row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:14px; }
.filter-row select { max-width:180px; }

#toast {
  position:fixed; bottom:88px; right:18px; background:var(--bg2); border:1px solid var(--border);
  border-radius:var(--radius); padding:11px 16px; font-size:0.84rem; z-index:9999;
  opacity:0; transform:translateY(10px); transition:all 0.3s; pointer-events:none; max-width:280px;
}
#toast.show { opacity:1; transform:translateY(0); }
#toast.ok  { border-color:var(--success); color:var(--success); }
#toast.err { border-color:var(--danger);  color:var(--danger); }

.info-box { background:var(--bg3); border-left:3px solid var(--accent); border-radius:0 10px 10px 0; padding:11px 14px; font-size:0.81rem; color:var(--muted); line-height:1.6; margin-top:12px; }
.info-box strong { color:var(--text); }
.divider { border:none; border-top:1px solid var(--border); margin:14px 0; }
.estoque-low { color:var(--danger); font-weight:600; }
.estoque-ok  { color:var(--success); }

@media(max-width:640px){
  .dash-shortcuts { grid-template-columns:1fr; }
  .nav-links { display:none; }
  .parcelas-grid { grid-template-columns:1fr; }
}


/* ── CONFIRMAÇÃO / RELATÓRIO GERAL ───────────────── */
.inline-confirm {
  display:none; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
  background:var(--bg2); border:1px solid rgba(255,77,109,0.35); border-radius:14px; padding:14px 16px; margin-bottom:16px;
  box-shadow:var(--shadow);
}
.inline-confirm.show { display:flex; }
.inline-confirm strong { display:block; margin-bottom:3px; }
.inline-confirm p { color:var(--muted); font-size:0.84rem; }
.inline-confirm-actions { display:flex; gap:8px; flex-wrap:wrap; }
.general-report-note { color:var(--muted); font-size:0.8rem; margin-bottom:10px; }
@media(max-width:640px){
  .inline-confirm { align-items:flex-start; }
  .inline-confirm-actions { width:100%; }
}


/* ===== V5 FIXES ===== */
:root {
  color-scheme: dark;
}
[data-theme="light"] { color-scheme: light; }
button, input, select, textarea {
  font: inherit;
}
button {
  -webkit-appearance: none;
  appearance: none;
}
.nav-brand {
  font-size: 1.35rem;
  letter-spacing: 1px;
}
.nav-brand span { color: var(--accent2); }
.theme-toggle, .logout-btn, .nav-link, .tab-btn, .btn, .period-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  font-weight: 700;
}
.theme-toggle, .logout-btn {
  padding: 0 14px;
  border-radius: 12px;
}
.theme-toggle {
  background: linear-gradient(135deg, rgba(108,99,255,0.18), rgba(0,212,170,0.18));
  border: 1px solid rgba(108,99,255,0.35);
  color: var(--text);
}
.theme-toggle:hover {
  transform: translateY(-1px);
  border-color: var(--accent);
  box-shadow: 0 10px 22px rgba(108,99,255,0.16);
}
.logout-btn {
  background: rgba(255,77,109,0.08);
  color: var(--danger);
  border-color: rgba(255,77,109,0.25);
}
.logout-btn:hover {
  background: rgba(255,77,109,0.16);
  color: var(--danger);
}
.nav-link {
  padding: 0 14px;
  min-height: 40px;
  border: 1px solid transparent;
}
.nav-link:hover, .nav-link.active {
  border-color: var(--border);
}
.tab-btn {
  padding: 0 14px;
  min-height: 42px;
  border: 1px solid transparent;
}
.tab-btn.active {
  box-shadow: 0 10px 24px rgba(108,99,255,0.18);
}
.btn {
  border: 1px solid transparent;
  border-radius: 12px;
  padding: 10px 16px;
  cursor: pointer;
  font-weight: 700;
  transition: all .2s ease;
  text-decoration: none;
}
.btn:hover { transform: translateY(-1px); }
.btn-sm { min-height: 36px; }
.btn-xs { min-height: 32px; }
.btn-primary { box-shadow: 0 10px 24px rgba(108,99,255,0.18); }
.btn-success { box-shadow: 0 10px 24px rgba(46,204,113,0.18); }
.btn-danger { box-shadow: 0 10px 24px rgba(255,77,109,0.16); }
.btn-warn { box-shadow: 0 10px 24px rgba(255,179,71,0.16); }
.btn-ghost {
  background: var(--bg3);
  color: var(--text);
}
.form-grid input, .form-grid select, .filter-row input, .filter-row select, .filter-row button, .inline-edit-row input, .inline-edit-row select {
  width: 100%;
}
input, select, textarea {
  min-height: 42px;
  background: var(--bg3);
  border: 1px solid var(--border);
  color: var(--text);
  border-radius: 12px;
  padding: 10px 12px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
input:focus, select:focus, textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgba(108,99,255,0.12);
}
.inline-confirm { display:none !important; }
.inline-confirm.show { display:flex !important; }
.confirm-row {
  margin-top: 10px;
}
.confirm-inline-shell {
  display:flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,77,109,0.28);
  background: linear-gradient(180deg, rgba(255,77,109,0.08), rgba(255,77,109,0.03));
}
.confirm-inline-shell p {
  color: var(--muted);
  margin-top: 4px;
  font-size: .88rem;
}
.filter-row.filter-bar {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 14px;
  margin-bottom: 18px;
}
.filter-grow { flex: 1 1 180px; }
.filter-actions { display:flex; gap:10px; flex-wrap: wrap; align-items: center; }
.cards-grid-mini {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(180px,1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.card-kpi {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 16px;
}
.card-kpi .kpi-label {
  color: var(--muted);
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.card-kpi .kpi-value {
  margin-top: 6px;
  font-size: 1.35rem;
  font-family:'Syne',sans-serif;
  font-weight: 800;
}
.tag-soft {
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-radius:999px;
  padding: 4px 10px;
  background: var(--bg3);
  border:1px solid var(--border);
  font-size: .74rem;
  color: var(--muted);
}
.page-actions {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom: 16px;
}
.table-muted { color: var(--muted); }
@media (max-width: 720px) {
  .nav-actions, .page-actions, .filter-actions { width:100%; }
  .theme-toggle, .logout-btn { flex:1; }
}


.report-card {
  border-color: rgba(255,179,71,0.28);
}
.report-card .shortcut-icon {
  background: linear-gradient(135deg, rgba(255,179,71,0.22), rgba(108,99,255,0.18));
}
.filter-bar {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 16px;
  align-items: end;
}
.filter-grow {
  flex: 1 1 180px;
  min-width: 180px;
}
.filter-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-self: end;
}
.page-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.cards-grid-mini {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(170px,1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.card-kpi {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 16px;
}
.kpi-label {
  color: var(--muted);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.kpi-value {
  margin-top: 6px;
  font-family: 'Syne', sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
}
.tag-soft {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(108,99,255,0.12);
  border: 1px solid rgba(108,99,255,0.28);
  color: var(--accent);
  font-size: 0.74rem;
  font-weight: 700;
}
@media(max-width:840px){
  .filter-bar { padding: 14px; }
  .filter-grow { min-width: 100%; }
  .filter-actions { width: 100%; }
  .filter-actions .btn { flex: 1 1 160px; }
}


/* ===== RELATÓRIO PREMIUM ===== */
.report-premium-page{
  max-width: 1280px;
  padding-bottom: 36px;
}
.report-hero{
  position: relative;
  display:grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 22px;
  align-items: end;
  margin-bottom: 18px;
  padding: 24px;
  border-radius: 24px;
  border: 1px solid rgba(108,99,255,0.20);
  background:
    radial-gradient(circle at top right, rgba(108,99,255,0.16), transparent 30%),
    radial-gradient(circle at left center, rgba(0,212,170,0.10), transparent 30%),
    linear-gradient(180deg, rgba(18,18,26,0.98), rgba(18,18,26,0.92));
  box-shadow: 0 22px 60px rgba(0,0,0,0.24);
  overflow: hidden;
}
.report-kicker{
  display:inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  margin-bottom: 12px;
  background: rgba(108,99,255,0.12);
  border:1px solid rgba(108,99,255,0.24);
  color: var(--accent);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.report-page-header{ margin-bottom: 8px; }
.report-page-header h1{ font-size: clamp(1.8rem, 2vw, 2.4rem); }
.report-hero-text{
  max-width: 760px;
  color: var(--muted);
  line-height: 1.7;
  font-size: .96rem;
}
.report-actions{ align-self: start; }
.report-filter-shell{
  display:flex;
  justify-content: space-between;
  gap: 16px;
  padding: 18px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(18,18,26,0.96), rgba(18,18,26,0.88));
  border-color: rgba(255,255,255,0.06);
  box-shadow: 0 18px 44px rgba(0,0,0,0.18);
}
.report-filter-grid{
  flex:1;
  display:grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 14px;
}
.filter-search{ grid-column: span 2; }
.report-filter-actions{
  min-width: 220px;
  display:grid;
  grid-template-columns: 1fr;
}
.report-filter-actions .btn{ min-height: 48px; }
.report-kpis-premium{
  grid-template-columns: repeat(auto-fit,minmax(200px,1fr));
  gap: 14px;
}
.premium-kpi{
  position: relative;
  border-radius: 22px;
  padding: 18px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(24,24,36,0.98), rgba(17,17,26,0.95));
  border: 1px solid rgba(255,255,255,0.06);
  box-shadow: 0 16px 36px rgba(0,0,0,0.18);
}
.premium-kpi::after{
  content:'';
  position:absolute;
  inset:0;
  background: radial-gradient(circle at top right, rgba(255,255,255,0.08), transparent 32%);
  pointer-events:none;
}
.premium-kpi-head{
  display:flex;
  align-items:center;
  gap: 10px;
  margin-bottom: 10px;
}
.premium-kpi-icon{
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display:grid;
  place-items:center;
  background: rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.08);
  font-size: 1rem;
}
.premium-kpi .kpi-value{
  margin-top: 4px;
  font-size: clamp(1.18rem,1.8vw,1.9rem);
  line-height: 1.15;
}
.premium-kpi-sub{
  margin-top: 8px;
  color: var(--muted);
  font-size: .8rem;
}
.tone-default .premium-kpi-icon{ color: var(--text); }
.tone-danger .premium-kpi-icon, .tone-danger .kpi-value{ color: #ff9a9a; }
.tone-accent .premium-kpi-icon, .tone-accent .kpi-value{ color: var(--accent); }
.tone-warning .premium-kpi-icon, .tone-warning .kpi-value{ color: var(--warn); }
.tone-teal .premium-kpi-icon, .tone-teal .kpi-value{ color: var(--accent2); }
.tone-success .premium-kpi-icon, .tone-success .kpi-value{ color: var(--success); }
.tone-purple .premium-kpi-icon, .tone-purple .kpi-value{ color: #b197ff; }
.report-table-card{
  border-radius: 24px;
  padding: 20px 20px 12px;
  background: linear-gradient(180deg, rgba(18,18,26,0.98), rgba(18,18,26,0.92));
  box-shadow: 0 18px 44px rgba(0,0,0,0.18);
}
.report-section-title{
  margin-bottom: 18px;
}
.premium-table-wrap{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.06);
  overflow: auto;
  background: rgba(10,10,15,0.35);
}
.premium-table-wrap table{ min-width: 1440px; }
.premium-table-wrap thead th{
  position: sticky;
  top: 0;
  background: rgba(18,18,26,0.96);
  backdrop-filter: blur(8px);
  z-index: 2;
}
.table-empty-state{
  text-align:center;
  color: var(--muted);
  padding: 34px 24px !important;
}
@media(max-width: 1120px){
  .report-filter-grid{ grid-template-columns: repeat(2,minmax(0,1fr)); }
  .filter-search{ grid-column: span 2; }
  .report-filter-shell{ flex-direction: column; }
  .report-filter-actions{ min-width: 100%; grid-template-columns: repeat(2,1fr); }
}
@media(max-width: 760px){
  .report-hero{ grid-template-columns: 1fr; padding: 18px; }
  .report-filter-grid{ grid-template-columns: 1fr; }
  .filter-search{ grid-column: span 1; }
  .report-filter-actions{ grid-template-columns: 1fr; }
  .report-kpis-premium{ grid-template-columns: 1fr 1fr; }
}
@media(max-width: 560px){
  .report-premium-page{ padding-left: 14px; padding-right: 14px; }
  .report-kpis-premium{ grid-template-columns: 1fr; }
  .report-table-card{ padding: 16px 16px 10px; }
}


/* ===== HOME PREMIUM ===== */
.dashboard-premium{
  max-width: 1280px;
  padding-top: 32px;
  padding-bottom: 120px;
}
.premium-surface{
  border:1px solid rgba(255,255,255,0.06);
  background: linear-gradient(180deg, rgba(18,18,26,0.96), rgba(18,18,26,0.90));
  box-shadow: 0 22px 54px rgba(0,0,0,0.18);
}
.home-hero{
  display:grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap:22px;
  align-items:end;
  padding:26px;
  border-radius:26px;
  margin-bottom:22px;
  position:relative;
  overflow:hidden;
}
.home-hero::before{
  content:''; position:absolute; inset:0;
  background: radial-gradient(circle at top right, rgba(108,99,255,0.18), transparent 28%), radial-gradient(circle at left center, rgba(0,212,170,0.12), transparent 32%);
  pointer-events:none;
}
.home-hero-copy, .hero-actions{ position:relative; z-index:1; }
.hero-badge{
  display:inline-flex; align-items:center; padding:8px 12px; border-radius:999px; margin-bottom:12px;
  background: rgba(108,99,255,0.12); border:1px solid rgba(108,99,255,0.28); color:var(--accent);
  font-size:.76rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em;
}
.hero-actions{ display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.cards-grid-home{ grid-template-columns: repeat(6, minmax(0,1fr)); gap:16px; }
.premium-home-card{
  border-radius:22px; padding:20px; min-height:148px;
  background: linear-gradient(180deg, rgba(24,24,36,0.98), rgba(17,17,26,0.95));
  box-shadow: 0 16px 36px rgba(0,0,0,0.16);
}
.premium-home-card .card-label{ font-size:.76rem; letter-spacing:.08em; }
.premium-home-card .card-value{ font-size: clamp(1.5rem, 1.6vw, 2rem); margin-top:10px; }
.premium-home-card .card-sub{ margin-top:8px; font-size:.84rem; line-height:1.5; }
.featured-card{
  grid-column: span 2;
  background: linear-gradient(135deg, rgba(108,99,255,0.20), rgba(108,99,255,0.06) 40%, rgba(17,17,26,0.95) 100%);
  border-color: rgba(108,99,255,0.28);
}
.home-modules{ border-radius:24px; padding:20px; }
.premium-shortcuts{ grid-template-columns: repeat(2, minmax(0,1fr)); gap:16px; }
.premium-shortcut{
  border-radius:22px; padding:22px; min-height:112px;
  background: linear-gradient(180deg, rgba(22,22,32,0.98), rgba(17,17,26,0.94));
  box-shadow: 0 14px 32px rgba(0,0,0,0.14);
}
.premium-shortcut .shortcut-icon{
  width:56px; height:56px; border-radius:18px; display:grid; place-items:center; font-size:1.6rem;
  background: rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.08);
}
.premium-shortcut-wide{ grid-column: span 2; }
.footer{ backdrop-filter: blur(14px); background: rgba(18,18,26,0.88); }
.footer-link{ min-width: 90px; }
@media(max-width:1120px){
  .cards-grid-home{ grid-template-columns: repeat(3, minmax(0,1fr)); }
  .featured-card{ grid-column: span 1; }
}
@media(max-width:760px){
  .home-hero{ grid-template-columns:1fr; padding:18px; }
  .hero-actions{ justify-content:flex-start; }
  .cards-grid-home{ grid-template-columns: 1fr 1fr; }
  .premium-shortcuts{ grid-template-columns: 1fr; }
  .premium-shortcut-wide{ grid-column: span 1; }
}
@media(max-width:560px){
  .dashboard-premium{ padding-left:14px; padding-right:14px; }
  .cards-grid-home{ grid-template-columns: 1fr; }
}
