:root {
  --orange:#FF6B00; --orange-light:#FFF0E5;
  --dark:#1A1A2E; --gray:#F0F2F5; --gray-mid:#E0E0E0;
  --text:#333; --text-light:#777;
  --green:#28A745; --blue:#007BFF; --red:#DC3545;
  --white:#fff; --meta:#1877F2; --meta-light:#EBF3FE;
  --purple:#6F42C1;
  --card:#fff; --radius:12px;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Segoe UI',system-ui,sans-serif;background:var(--gray);color:var(--text);min-height:100vh;}

/* ── PROGRESS BAR ── */
#progress-bar{position:fixed;top:0;left:0;height:3px;background:var(--orange);transition:width .3s;z-index:9999;width:0;}

/* ── TOKEN SCREEN ── */
#token-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--dark);flex-direction:column;padding:20px;}
.token-card{background:var(--white);border-radius:16px;padding:36px 40px;max-width:600px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.4);}
.token-logo{display:inline-block;background:var(--orange);color:#fff;font-weight:900;font-size:11px;letter-spacing:2px;padding:4px 10px;border-radius:6px;margin-bottom:12px;}
.token-card h2{font-size:22px;color:var(--dark);margin-bottom:8px;}
.token-card p{font-size:13px;color:var(--text-light);margin-bottom:20px;line-height:1.5;}
.steps{background:#f8f8f8;border-radius:8px;padding:14px 18px;margin-bottom:18px;font-size:12px;line-height:1.8;}
.steps ol{padding-left:18px;}
.steps code{background:#eee;padding:2px 6px;border-radius:4px;font-size:11px;}
.token-error{background:#FDEDED;color:var(--red);padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:12px;display:none;}
.token-input-wrap{display:flex;gap:8px;margin-bottom:14px;}
.token-input-wrap input{flex:1;padding:12px 14px;border:1.5px solid #ddd;border-radius:8px;font-size:13px;}
.eye-btn{background:none;border:1.5px solid #ddd;border-radius:8px;padding:0 14px;cursor:pointer;font-size:16px;}
.btn-primary{width:100%;padding:13px;background:var(--orange);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;}
.btn-primary:hover{opacity:.9;}
.token-hint{font-size:11px;color:#aaa;margin-top:12px;text-align:center;}

/* META on token screen */
.meta-section{border-top:1px solid #eee;margin-top:24px;padding-top:20px;}
.meta-header{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.meta-logo-badge{background:var(--meta);color:#fff;font-size:10px;font-weight:800;padding:3px 8px;border-radius:5px;letter-spacing:.5px;}
.meta-header h3{font-size:15px;color:var(--dark);}
.meta-optional{font-size:11px;color:#aaa;background:#f0f0f0;padding:2px 8px;border-radius:10px;}
.meta-desc{font-size:12px;color:var(--text-light);margin-bottom:14px;line-height:1.5;}
.meta-steps-toggle{background:none;border:none;color:var(--meta);font-size:12px;cursor:pointer;padding:0;margin-bottom:8px;}
.meta-steps{display:none;background:#EBF3FE;border-radius:8px;padding:12px 16px;font-size:12px;line-height:1.8;margin-bottom:14px;}
.meta-steps.open{display:block;}
.meta-steps ol{padding-left:18px;}
.meta-fields{display:flex;flex-direction:column;gap:10px;margin-bottom:10px;}
.meta-field label{font-size:11px;font-weight:600;color:var(--text-light);display:block;margin-bottom:4px;}
.meta-field input{width:100%;padding:10px 12px;border:1.5px solid #ddd;border-radius:8px;font-size:13px;}

/* ── DASHBOARD LAYOUT ── */
#dashboard{display:none;}
.header{background:var(--dark);color:#fff;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.header-left{display:flex;align-items:center;gap:14px;}
.header-left h1{font-size:16px;font-weight:700;}
.header-sub{font-size:11px;color:#aaa;margin-top:2px;}
.header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.status-dot{width:9px;height:9px;border-radius:50%;background:#aaa;}
.status-dot.ok{background:var(--green);box-shadow:0 0 0 3px rgba(40,167,69,.25);animation:pulse 2s infinite;}
.status-dot.loading{background:#f59e0b;animation:pulse 1s infinite;}
.status-dot.error{background:var(--red);animation:none;}
@keyframes pulse{0%,100%{box-shadow:0 0 0 3px rgba(40,167,69,.25);}50%{box-shadow:0 0 0 6px rgba(40,167,69,.1);}}
#last-update{font-size:11px;color:#aaa;}

/* ── TABS ── */
.tabs{display:flex;background:var(--dark);border-top:1px solid #2a2a3e;padding:0 24px;}
.tab-btn{padding:10px 20px;color:#aaa;font-size:13px;font-weight:600;border:none;background:none;cursor:pointer;border-bottom:3px solid transparent;transition:.2s;}
.tab-btn.active{color:#fff;border-bottom-color:var(--orange);}
.tab-btn:hover:not(.active){color:#ccc;}
.tab-pane{display:none;}
.tab-pane.active{display:block;}

/* ── MAIN AREA ── */
.main{padding:20px 5%;max-width:100%;margin:0 auto;}

/* ── META CONFIG BAR ── */
.meta-config-bar{background:var(--meta-light);border:1px solid #c8dffe;border-radius:10px;padding:12px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;}
.meta-status{font-size:12px;font-weight:600;color:var(--text-light);}
.meta-status.connected{color:var(--green);}
.meta-status.error{color:var(--red);}
.meta-config-bar input{padding:8px 12px;border:1.5px solid #c8dffe;border-radius:7px;font-size:12px;min-width:180px;flex:1;}
.meta-btn{background:var(--meta)!important;color:#fff!important;}

/* ── FILTERS ── */
.filters{background:var(--white);border-radius:10px;padding:12px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;box-shadow:0 1px 4px rgba(0,0,0,.06);}
.filter-label{font-size:12px;font-weight:600;color:var(--text-light);}
.filter-group{display:flex;align-items:center;gap:8px;}
.filters input[type=date]{padding:7px 10px;border:1.5px solid #ddd;border-radius:7px;font-size:12px;}
.filters select{padding:7px 10px;border:1.5px solid #ddd;border-radius:7px;font-size:12px;background:#fff;}
.btn-sm{padding:7px 14px;border:1.5px solid #ddd;border-radius:7px;font-size:12px;font-weight:600;cursor:pointer;background:#fff;color:var(--text);transition:.15s;}
.btn-sm:hover{background:var(--gray);}
.btn-sm.dark{background:var(--dark);color:#fff;border-color:var(--dark);}
.btn-sm.dark:hover{opacity:.85;}
.btn-sm.ghost{background:transparent;color:#aaa;border-color:#ddd;}

/* ── SECTION LABEL ── */
.section-label{font-size:11px;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.8px;margin:20px 0 10px;}

/* ── KPI GRID ── */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px;}
.kpi-card{background:var(--white);border-radius:var(--radius);padding:16px 18px;box-shadow:0 1px 4px rgba(0,0,0,.06);}
.kpi-label{font-size:10px;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;}
.kpi-value{font-size:24px;font-weight:800;color:var(--dark);}
.kpi-sub{font-size:10px;color:var(--text-light);margin-top:3px;}
.kpi-card.meta-card{border-top:3px solid var(--meta);}
.kpi-card.green-card{border-top:3px solid var(--green);}
.kpi-card.orange-card{border-top:3px solid var(--orange);}

/* ── META KPI SECTION ── */
.meta-kpi-section{background:var(--meta-light);border:1px solid #c8dffe;border-radius:var(--radius);padding:16px;margin-bottom:16px;}
.meta-kpi-header{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.meta-kpi-header h3{font-size:13px;font-weight:700;color:var(--meta);}


/* ── CHARTS ── */
.charts-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
@media(max-width:700px){.charts-row{grid-template-columns:1fr;}}
.charts-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:16px;}
@media(max-width:900px){.charts-row-3{grid-template-columns:1fr;}}
.chart-card{background:var(--white);border-radius:var(--radius);padding:16px;box-shadow:0 1px 4px rgba(0,0,0,.06);}
.chart-card.full{grid-column:1/-1;}
.chart-title{font-size:12px;font-weight:700;color:var(--dark);margin-bottom:12px;}
.chart-wrap{position:relative;height:200px;}
.chart-wrap.tall{height:260px;}

/* ── TWO-COL ── */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
@media(max-width:700px){.two-col{grid-template-columns:1fr;}}

/* ── TABLE CARDS ── */
.table-card{background:var(--white);border-radius:var(--radius);box-shadow:0 1px 4px rgba(0,0,0,.06);overflow:hidden;}
.table-header{padding:12px 16px;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;justify-content:space-between;}
.table-title{font-size:13px;font-weight:700;color:var(--dark);display:flex;align-items:center;gap:8px;}
.badge{background:var(--orange);color:#fff;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700;}
table{width:100%;border-collapse:collapse;font-size:12px;}
th{padding:8px 12px;text-align:left;font-size:10px;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #f0f0f0;background:#fafafa;}
td{padding:9px 12px;border-bottom:1px solid #f8f8f8;vertical-align:middle;}
.tx-code{font-family:monospace;font-size:10px;color:var(--text-light);}
.status-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;}
.status-APPROVED{background:#E8F5E9;color:#2E7D32;}
.status-COMPLETE{background:#E3F2FD;color:#1565C0;}
.status-CANCELED,.status-REFUNDED,.status-CHARGEBACK{background:#FEECEB;color:#C62828;}

/* ── SCK LIST ── */
.sck-row{display:flex;align-items:center;padding:8px 14px;border-bottom:1px solid #f0f0f0;gap:8px;}
.sck-row:last-child{border-bottom:none;}
.sck-name{flex:1;font-size:11px;color:var(--text);word-break:break-all;}
.sck-bar-wrap{width:60px;height:5px;background:var(--gray-mid);border-radius:3px;overflow:hidden;}
.sck-bar{height:100%;background:var(--orange);border-radius:3px;}
.sck-count{font-weight:700;color:var(--orange);font-size:12px;min-width:28px;text-align:right;}

/* ── META TABLE ── */
.roas-good{color:var(--green);font-weight:700;}
.roas-warn{color:#f59e0b;font-weight:700;}
.roas-bad{color:var(--red);font-weight:700;}
.meta-empty{text-align:center;padding:20px;color:var(--text-light);font-size:12px;line-height:1.6;}

/* ── ANNUAL TAB ── */
.annual-filters{background:var(--white);border-radius:10px;padding:12px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;box-shadow:0 1px 4px rgba(0,0,0,.06);}
.annual-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px;}
.year-badge{display:inline-block;background:var(--orange-light);color:var(--orange);font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;margin-left:6px;}

/* ── PRODUCT FILTER (dropdown multi-select) ── */
.product-filter-wrap{display:flex;gap:6px;flex-wrap:wrap;align-items:center;}
.prod-dropdown-wrap{position:relative;display:inline-block;}
.prod-dropdown-btn{padding:7px 12px;border:1.5px solid #ddd;border-radius:7px;font-size:12px;font-weight:600;cursor:pointer;background:#fff;color:var(--text);display:flex;align-items:center;gap:6px;min-width:180px;justify-content:space-between;}
.prod-dropdown-btn:hover{border-color:var(--orange);color:var(--orange);}
.prod-dropdown-btn.has-selection{border-color:var(--orange);background:var(--orange-light);color:var(--orange);}
.prod-dropdown-panel{display:none;position:absolute;top:calc(100% + 4px);left:0;background:#fff;border:1.5px solid #ddd;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.12);z-index:200;min-width:240px;max-height:280px;overflow-y:auto;}
.prod-dropdown-panel.open{display:block;}
.prod-dropdown-item{padding:8px 14px;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:.1s;}
.prod-dropdown-item:hover{background:#f5f5f5;}
.prod-dropdown-item input[type=checkbox]{accent-color:var(--orange);width:13px;height:13px;}
.prod-dropdown-item.all-item{border-bottom:1px solid #eee;font-weight:700;padding-bottom:10px;margin-bottom:2px;}
.prod-selected-badge{display:inline-block;background:var(--orange);color:#fff;border-radius:10px;padding:1px 7px;font-size:10px;font-weight:700;margin-left:4px;}

/* ── VERTICAL LISTS (horários, dias) ── */
.three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:16px;}
@media(max-width:900px){.three-col{grid-template-columns:1fr;}}
.vlist-row{display:flex;align-items:center;gap:8px;padding:6px 14px;border-bottom:1px solid #f5f5f5;}
.vlist-row:last-child{border-bottom:none;}
.vlist-label{font-size:12px;font-weight:700;color:var(--dark);min-width:80px;}
.vlist-bar-wrap{flex:1;height:5px;background:#f0f0f0;border-radius:3px;overflow:hidden;}
.vlist-bar{height:100%;background:var(--orange);border-radius:3px;}
.vlist-count{font-size:11px;font-weight:700;color:var(--orange);min-width:24px;text-align:right;}
.vlist-rev{font-size:10px;color:#aaa;min-width:72px;text-align:right;}

/* ── EMPTY / LOADING ── */
.empty-msg{text-align:center;padding:20px;color:var(--text-light);font-size:12px;}
.loading-msg{text-align:center;padding:16px;color:var(--meta);font-size:12px;}

.footer{text-align:center;padding:16px;font-size:11px;color:var(--text-light);}

/* ── CRIATIVOS ── */
.criativo-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px;}
.criativo-kpi{background:var(--white);border-radius:10px;padding:14px 16px;box-shadow:0 1px 4px rgba(0,0,0,.07);border-top:3px solid var(--orange);}
.criativo-kpi.blue{border-top-color:var(--blue);}
.criativo-kpi.green{border-top-color:var(--green);}
.criativo-kpi.meta{border-top-color:var(--meta);}
.criativo-kpi.purple{border-top-color:var(--purple);}
.criativo-kpi .ck-label{font-size:11px;color:var(--text-light);margin-bottom:4px;}
.criativo-kpi .ck-value{font-size:22px;font-weight:800;color:var(--dark);}
.criativo-kpi .ck-sub{font-size:10px;color:var(--text-light);margin-top:2px;}
.criativo-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:18px;}
.criativo-header h2{font-size:16px;font-weight:700;color:var(--dark);}
.criativo-table-wrap{overflow-x:auto;}
.criativo-table{width:100%;table-layout:auto;border-collapse:collapse;font-size:12px;}
.criativo-table th{background:var(--dark);color:#fff;padding:8px 6px;text-align:center;font-size:11px;font-weight:600;white-space:nowrap;}
.criativo-table td{overflow:hidden;}
.criativo-table th:first-child{text-align:left;}
.criativo-table td{padding:8px 10px;border-bottom:1px solid #f0f0f0;text-align:center;vertical-align:middle;}
.criativo-table td:nth-child(2){text-align:left;font-weight:600;}
.criativo-table tr:hover td{background:#fffaf7;}
.criativo-table tr:last-child td{border-bottom:none;}
.criativo-table input[type="text"],.criativo-table input[type="number"]{border:1px solid var(--gray-mid);border-radius:5px;padding:5px 7px;font-size:12px;width:90px;text-align:center;background:#fafafa;}
.criativo-table input[type="text"]{width:160px;text-align:left;}
.criativo-table input:focus{outline:none;border-color:var(--orange);background:#fff;}
.metric-pill{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;}
.pill-green{background:#d4edda;color:#155724;}
.pill-yellow{background:#fff3cd;color:#856404;}
.pill-red{background:#f8d7da;color:#721c24;}
.pill-gray{background:#e9ecef;color:#6c757d;}
.btn-add-row{background:var(--orange);color:#fff;border:none;border-radius:7px;padding:8px 18px;font-size:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;}
.btn-add-row:hover{opacity:.85;}
.btn-del-row{background:none;border:1px solid #ddd;border-radius:5px;padding:4px 8px;font-size:11px;color:#999;cursor:pointer;}
.btn-del-row:hover{border-color:var(--red);color:var(--red);}
.btn-save-criativos{background:var(--green);color:#fff;border:none;border-radius:7px;padding:8px 18px;font-size:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;}
.btn-save-criativos:hover{opacity:.85;}
.criativo-help{background:var(--orange-light);border-left:3px solid var(--orange);border-radius:6px;padding:10px 14px;font-size:11px;color:#7a3700;line-height:1.6;margin-bottom:16px;}
.criativo-help strong{color:var(--orange);}
.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:800;background:var(--gray-mid);color:var(--text);}
.rank-badge.r1{background:#FFD700;color:#5a4000;}
.rank-badge.r2{background:#C0C0C0;color:#3a3a3a;}
.rank-badge.r3{background:#CD7F32;color:#4a2800;}
.score-bar-wrap{background:var(--gray-mid);border-radius:20px;height:6px;margin-top:3px;min-width:60px;}
.score-bar{background:var(--orange);height:6px;border-radius:20px;transition:width .5s;}
@keyframes pulse-bar {
  0%   { width: 8%;  opacity: 1; }
  50%  { width: 85%; opacity: .85; }
  100% { width: 8%;  opacity: 1; }
}

/* ── LOGIN SCREEN ── */
#login-screen{position:fixed;inset:0;z-index:99999;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--dark);flex-direction:column;padding:20px;}
.login-card{background:#fff;border-radius:16px;padding:36px 40px;max-width:400px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.4);}
.login-logo{display:inline-block;background:var(--orange);color:#fff;font-weight:900;font-size:11px;letter-spacing:2px;padding:4px 10px;border-radius:6px;margin-bottom:14px;}
.login-card h2{font-size:20px;color:var(--dark);margin-bottom:6px;}
.login-card p{font-size:13px;color:var(--text-light);margin-bottom:22px;}
.login-field{margin-bottom:14px;}
.login-field label{display:block;font-size:11px;font-weight:600;color:var(--text-light);margin-bottom:5px;}
.login-field-row{display:flex;gap:8px;}
.login-field input{width:100%;padding:12px 14px;border:1.5px solid #ddd;border-radius:8px;font-size:14px;outline:none;transition:border .2s;}
.login-field input:focus{border-color:var(--orange);}
.login-eye{background:none;border:1.5px solid #ddd;border-radius:8px;padding:0 14px;cursor:pointer;font-size:16px;color:#888;}
.login-error{background:#FDEDED;color:var(--red);padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:12px;display:none;}
.login-btn{width:100%;padding:13px;background:var(--orange);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;margin-top:4px;transition:opacity .2s;}
.login-btn:hover{opacity:.9;}
.login-btn:disabled{opacity:.6;cursor:not-allowed;}
