
:root{
  --bg:#07111f; --bg2:#0b1729; --panel:rgba(15,28,48,.86); --panel2:rgba(12,23,40,.94);
  --stroke:rgba(148,163,184,.18); --stroke2:rgba(125,211,252,.22); --text:#e5eefb; --muted:#9fb0c8;
  --accent:#38bdf8; --accent2:#d6a94d; --danger:#fb7185; --warn:#fbbf24; --ok:#34d399;
  --shadow:0 24px 70px rgba(0,0,0,.35); --radius:22px; --radius2:16px;
  --font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;min-height:100vh;font-family:var(--font);color:var(--text);background:
  radial-gradient(circle at 8% 0%, rgba(56,189,248,.18), transparent 34rem),
  radial-gradient(circle at 92% 0%, rgba(214,169,77,.12), transparent 30rem),
  linear-gradient(180deg,#07111f 0%,#081324 44%,#050b14 100%);background-attachment:fixed;}
a{color:inherit} button,input,select,textarea{font:inherit}.hidden{display:none!important}.sr-only{position:absolute;left:-9999px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.muted{color:var(--muted)}
.shell{width:min(1480px, calc(100% - 36px)); margin:0 auto}.topbar{position:sticky;top:0;z-index:40;background:rgba(7,17,31,.78);backdrop-filter:blur(16px);border-bottom:1px solid var(--stroke)}
.header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(56,189,248,.24),rgba(214,169,77,.18));border:1px solid var(--stroke2);font-weight:800}.brand-title{font-weight:800;letter-spacing:.02em}.brand-sub{font-size:.82rem;color:var(--muted);margin-top:2px}.nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.nav button,.btn,.tab-btn{border:1px solid var(--stroke);background:rgba(15,28,48,.74);color:var(--text);border-radius:999px;padding:10px 14px;cursor:pointer;transition:.18s ease;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.nav button:hover,.btn:hover,.tab-btn:hover{border-color:rgba(56,189,248,.45);transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,rgba(56,189,248,.24),rgba(56,189,248,.10));border-color:rgba(56,189,248,.45)}.btn.danger{border-color:rgba(251,113,133,.45);color:#fecdd3}.btn.ghost{background:transparent}.session{font-size:.86rem;color:var(--muted);max-width:330px;overflow-wrap:anywhere;text-align:right}
.hero{padding:42px 0 24px}.hero-card{border:1px solid var(--stroke);background:linear-gradient(135deg,rgba(15,28,48,.92),rgba(8,19,36,.82));box-shadow:var(--shadow);border-radius:28px;padding:34px;position:relative;overflow:hidden}.hero-card:before{content:"";position:absolute;inset:auto -20% -45% 48%;height:260px;background:radial-gradient(circle,rgba(56,189,248,.18),transparent 60%);pointer-events:none}.eyebrow{color:#7dd3fc;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:800}.hero h1{font-size:clamp(2rem,4vw,4.2rem);line-height:.98;margin:14px 0 14px;max-width:980px}.hero p{max-width:860px;color:var(--muted);font-size:1.05rem;line-height:1.65}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.meta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.pill{border:1px solid var(--stroke);background:rgba(255,255,255,.04);border-radius:999px;padding:8px 11px;font-size:.85rem;color:var(--muted)}.pill.ok{border-color:rgba(52,211,153,.32);color:#a7f3d0}.pill.warn{border-color:rgba(251,191,36,.35);color:#fde68a}.pill.danger{border-color:rgba(251,113,133,.4);color:#fecdd3}
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.tab-btn.active{background:rgba(56,189,248,.18);border-color:rgba(56,189,248,.48);color:#e0f2fe}.layout{display:grid;grid-template-columns:315px 1fr;gap:22px;align-items:start}.filters{position:sticky;top:84px;max-height:calc(100vh - 104px);overflow:auto;border:1px solid var(--stroke);background:var(--panel2);border-radius:var(--radius);box-shadow:0 18px 50px rgba(0,0,0,.22);padding:16px;scrollbar-width:thin;scrollbar-color:rgba(125,211,252,.26) transparent}.filters h3{margin:0 0 8px}.filter-tools{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.filter-block{border-top:1px solid var(--stroke);padding:12px 0}.filter-block summary{cursor:pointer;font-weight:800;color:#dbeafe;display:flex;justify-content:space-between;gap:8px}.filter-list{margin-top:10px;display:grid;gap:8px;max-height:220px;overflow:auto;padding-right:4px}.check-row{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:.92rem}.check-row label{display:flex;align-items:center;gap:8px;min-width:0}.check-row input{accent-color:#38bdf8}.count{font-size:.78rem;color:#7890ad;border:1px solid var(--stroke);border-radius:999px;padding:2px 6px}.date-filter{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.input{width:100%;border:1px solid var(--stroke);background:rgba(7,17,31,.75);color:var(--text);border-radius:12px;padding:10px 12px;outline:none}.input:focus{border-color:rgba(56,189,248,.55)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}.chip{border:1px solid rgba(56,189,248,.25);color:#bae6fd;background:rgba(56,189,248,.08);border-radius:999px;padding:6px 9px;font-size:.82rem}.age-editor{margin-top:10px;display:grid;gap:8px}.age-editor textarea{min-height:90px;resize:vertical}
.content{min-width:0}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.kpi{border:1px solid var(--stroke);background:var(--panel);border-radius:var(--radius2);padding:16px;box-shadow:0 14px 40px rgba(0,0,0,.18)}.kpi-label{color:var(--muted);font-size:.83rem}.kpi-value{font-size:clamp(1.55rem,3vw,2.35rem);font-weight:900;margin-top:7px}.kpi-sub{color:#8ea6c4;font-size:.82rem;margin-top:4px}.panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.panel{border:1px solid var(--stroke);background:var(--panel);border-radius:var(--radius);box-shadow:0 18px 55px rgba(0,0,0,.2);padding:18px;min-width:0}.panel.full{grid-column:1/-1}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-title{font-weight:900;font-size:1.05rem}.panel-sub{color:var(--muted);font-size:.83rem;margin-top:3px}.panel-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.mini-btn{border:1px solid var(--stroke);background:rgba(255,255,255,.04);color:var(--muted);border-radius:999px;padding:7px 9px;font-size:.78rem;cursor:pointer}.mini-btn:hover{color:var(--text);border-color:rgba(56,189,248,.38)}.chart-scroll{max-height:420px;overflow:auto;padding-right:4px}.export-full .chart-scroll{max-height:none!important;overflow:visible!important}.bars{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:minmax(110px,220px) 1fr auto;gap:10px;align-items:center}.bar-label{color:#dbeafe;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{height:14px;border-radius:999px;background:rgba(148,163,184,.13);overflow:hidden}.bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,rgba(56,189,248,.75),rgba(214,169,77,.72));min-width:2px}.bar-value{font-variant-numeric:tabular-nums;color:#dbeafe;font-weight:800}.empty{border:1px dashed rgba(148,163,184,.24);border-radius:18px;padding:24px;color:var(--muted);text-align:center}.table-wrap{overflow:auto;border:1px solid var(--stroke);border-radius:18px}.data-table{width:100%;border-collapse:separate;border-spacing:0;min-width:900px}.data-table th,.data-table td{padding:11px 12px;border-bottom:1px solid rgba(148,163,184,.12);text-align:left;font-size:.9rem}.data-table th{position:sticky;top:0;background:#0b1729;z-index:2;color:#dbeafe}.data-table td:last-child,.data-table th:last-child{text-align:right;font-weight:800}.column-picker{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.column-picker label{font-size:.86rem;color:var(--muted);display:flex;gap:6px;align-items:center}.method{line-height:1.72;color:#cbd5e1}.method h3{color:#fff}.footer{margin:34px 0 24px;padding-top:18px;border-top:1px solid var(--stroke);display:flex;justify-content:space-between;gap:18px;color:var(--muted);font-size:.88rem;flex-wrap:wrap}
.notice{border:1px solid rgba(251,191,36,.32);background:rgba(251,191,36,.08);color:#fde68a;border-radius:18px;padding:14px;margin-bottom:16px}.success{border-color:rgba(52,211,153,.35);background:rgba(52,211,153,.08);color:#bbf7d0}.error{border-color:rgba(251,113,133,.42);background:rgba(251,113,133,.09);color:#fecdd3}.admin-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.token-bar{border:1px solid rgba(56,189,248,.22);background:linear-gradient(135deg,rgba(56,189,248,.12),rgba(214,169,77,.07));border-radius:var(--radius);padding:16px;margin-bottom:16px;display:grid;grid-template-columns:1fr 440px;gap:16px;align-items:center}.token-field{display:flex;gap:8px}.file-drop{border:1px dashed rgba(125,211,252,.35);background:rgba(56,189,248,.05);border-radius:18px;padding:24px;text-align:center;cursor:pointer}.file-drop:hover{border-color:rgba(125,211,252,.62)}.validation-list{display:grid;gap:10px}.validation-item{border:1px solid var(--stroke);border-radius:14px;padding:10px;background:rgba(255,255,255,.035)}.log-controls{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
@media(max-width:1100px){.layout{grid-template-columns:1fr}.filters{position:relative;top:auto;max-height:none}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-grid{grid-template-columns:1fr}.token-bar,.admin-grid{grid-template-columns:1fr}.session{text-align:left}.header{align-items:flex-start;flex-direction:column}.nav{justify-content:flex-start}.bar-row{grid-template-columns:1fr}.bar-label{white-space:normal}.bar-value{text-align:right}.date-filter{grid-template-columns:1fr}}
@media(max-width:620px){.shell{width:min(100% - 22px,1480px)}.hero-card{padding:22px}.cards{grid-template-columns:1fr}.panel{padding:14px}.token-field{flex-direction:column}.nav button,.btn,.tab-btn{width:auto}.footer{display:block}.brand-sub{font-size:.76rem}}

/* v1.0.2 — afinação visual pré-upload */
.hero .hero-actions{display:none!important}
.filters{overflow-y:auto!important;overflow-x:hidden!important;padding-right:18px;scrollbar-width:thin;scrollbar-color:rgba(125,211,252,.18) transparent}
.filters::-webkit-scrollbar{width:7px;height:0}
.filters::-webkit-scrollbar-thumb{background:rgba(125,211,252,.22);border-radius:999px}
.filters::-webkit-scrollbar-track{background:transparent}
.filter-list{overflow-x:hidden!important}.check-row{min-width:0}.check-row label{overflow:hidden}.check-row label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-filter>*{min-width:0}.age-editor textarea{overflow-x:hidden;white-space:pre-wrap;resize:vertical}.panel-control.hidden{display:none!important}.empty strong{color:#dbeafe}.log-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.log-kpi{border:1px solid var(--stroke);background:rgba(255,255,255,.035);border-radius:16px;padding:14px}.log-kpi-label{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.log-kpi-value{font-size:1.7rem;font-weight:900;margin-top:6px}.log-controls{align-items:end}@media(max-width:1100px){.log-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.log-kpis{grid-template-columns:1fr}.date-filter{grid-template-columns:1fr}}
