/* ── DESIGN SYSTEM ── */
:root{
  --bg:#F2F4FA;--s1:#FFFFFF;--s2:rgba(0,0,0,.03);--bd:rgba(0,0,0,.07);--bd2:#B0B8CC;
  --tx:#0D1117;--mu:#6B7280;
  --uc-blue:#1B3FA0;--uc-green:#00A651;
  --uc-blue-light:#EEF2FB;--uc-green-light:#E6F7EE;
  --warn:#B45309;--warn-light:#FEF3E2;
  --r:16px;--rl:20px;
  --glass:rgba(255,255,255,.88);
  --glass-border:rgba(255,255,255,.72);
  --shadow-sm:0 2px 12px rgba(27,63,160,.06),0 1px 3px rgba(0,0,0,.04);
  --shadow-md:0 8px 32px rgba(27,63,160,.10),0 2px 8px rgba(0,0,0,.05);
  --shadow-lg:0 16px 48px rgba(27,63,160,.14),0 4px 16px rgba(0,0,0,.07);
}
[data-theme="dark"]{
  --bg:#0B0E1A;--s1:#131628;--s2:rgba(255,255,255,.04);--bd:rgba(255,255,255,.08);--bd2:#252D44;
  --tx:#F1F3F7;--mu:#8B93A5;
  --uc-blue:#5B8DEF;
  --uc-blue-light:#1B2340;--uc-green-light:#0D2018;
  --warn-light:#2D1800;
  --glass:rgba(16,19,34,.92);
  --glass-border:rgba(255,255,255,.10);
  --shadow-sm:0 2px 12px rgba(0,0,0,.35),0 1px 3px rgba(0,0,0,.25);
  --shadow-md:0 8px 32px rgba(0,0,0,.45),0 2px 8px rgba(0,0,0,.30);
  --shadow-lg:0 16px 48px rgba(0,0,0,.55),0 4px 16px rgba(0,0,0,.35);
  color-scheme:dark;
}
/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:6px;height:6px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:transparent;border-radius:3px;transition:background .2s;}
*:hover::-webkit-scrollbar-thumb{background:rgba(0,0,0,.18);}
*:hover::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.32);}
[data-theme="dark"] *:hover::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);}
[data-theme="dark"] *:hover::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.32);}
*{scrollbar-width:thin;scrollbar-color:transparent transparent;}
*:hover{scrollbar-color:rgba(0,0,0,.18) transparent;}
[data-theme="dark"] *:hover{scrollbar-color:rgba(255,255,255,.18) transparent;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg);background-image:radial-gradient(ellipse at 12% 8%,rgba(27,63,160,.07) 0%,transparent 48%),radial-gradient(ellipse at 88% 88%,rgba(0,166,81,.05) 0%,transparent 48%),radial-gradient(ellipse at 55% 45%,rgba(93,121,200,.03) 0%,transparent 65%);background-attachment:fixed;color:var(--tx);font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;font-size:14px;min-height:100vh;transition:background .25s,color .25s;}
[data-theme="dark"] body,[data-theme="dark"]{background-image:radial-gradient(ellipse at 12% 8%,rgba(27,63,160,.24) 0%,transparent 48%),radial-gradient(ellipse at 88% 88%,rgba(0,166,81,.14) 0%,transparent 48%),radial-gradient(ellipse at 55% 45%,rgba(50,70,150,.09) 0%,transparent 65%);}

/* ── LOGIN SCREEN ── */
#loginScreen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg);background-image:radial-gradient(ellipse at 12% 8%,rgba(27,63,160,.07) 0%,transparent 48%),radial-gradient(ellipse at 88% 88%,rgba(0,166,81,.05) 0%,transparent 48%),radial-gradient(ellipse at 55% 45%,rgba(93,121,200,.03) 0%,transparent 65%);background-attachment:fixed;}
.login-card{background:var(--glass);backdrop-filter:blur(32px) saturate(200%);-webkit-backdrop-filter:blur(32px) saturate(200%);border:1px solid var(--glass-border);border-radius:28px;padding:52px 44px;text-align:center;max-width:420px;width:100%;box-shadow:var(--shadow-lg);}
.login-logo{height:36px;margin-bottom:28px;}
.login-title{font-size:20px;font-weight:600;color:var(--tx);margin-bottom:8px;letter-spacing:-.3px;}
.login-sub{font-size:13px;color:var(--mu);margin-bottom:28px;line-height:1.5;}
/* tab switcher */
.login-tabs{display:flex;background:rgba(0,0,0,.06);border-radius:12px;padding:3px;gap:2px;margin-bottom:22px;}
.login-tab{flex:1;padding:9px 8px;border-radius:10px;border:none;background:transparent;font-size:13px;font-weight:500;color:var(--mu);cursor:pointer;transition:background .15s,color .15s,box-shadow .15s;font-family:inherit;}
.login-tab-active{background:#fff;color:var(--tx);box-shadow:0 1px 6px rgba(0,0,0,.13);}
/* fields */
.login-fg{margin-bottom:14px;}
.login-fl{display:block;font-size:10px;font-weight:600;letter-spacing:.8px;color:var(--mu);margin-bottom:7px;text-transform:uppercase;}
.login-input{width:100%;padding:13px 16px;border:1.5px solid rgba(0,0,0,.1);border-radius:12px;font-size:14px;font-family:inherit;color:var(--tx);background:rgba(255,255,255,.9);transition:border-color .15s,box-shadow .15s;outline:none;}
.login-input:focus{border-color:var(--uc-blue);box-shadow:0 0 0 3px rgba(27,63,160,.1);}
.login-input::placeholder{color:#B0B8C8;}
.login-eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--mu);padding:0;line-height:1;display:flex;}
/* buttons */
.login-btn-primary{width:100%;padding:14px;background:var(--uc-green);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;box-shadow:0 2px 16px rgba(0,166,81,.32);transition:background .15s,box-shadow .15s;}
.login-btn-primary:hover{background:#009940;box-shadow:0 4px 20px rgba(0,166,81,.42);}
.login-btn-ms{width:100%;padding:13px;background:#fff;color:var(--tx);border:1.5px solid rgba(0,0,0,.1);border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .15s,box-shadow .15s;font-family:inherit;}
.login-btn-ms:hover{background:#F5F7FA;box-shadow:0 2px 10px rgba(0,0,0,.08);}
.login-btn-ms svg{flex-shrink:0;}
/* divider */
.login-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--mu);font-size:12px;}
.login-divider::before,.login-divider::after{content:'';flex:1;height:1px;background:rgba(0,0,0,.08);}
/* legacy (unused but kept) */
.login-btn{width:100%;padding:13px;background:var(--uc-blue);color:#fff;border:none;border-radius:99px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .15s,box-shadow .15s;box-shadow:0 2px 12px rgba(27,63,160,.35);}
.login-btn:hover{background:#2D55C8;box-shadow:0 4px 20px rgba(27,63,160,.45);}
.login-err{margin-top:14px;padding:10px;background:#FEE2E2;border-radius:8px;font-size:12px;color:#DC2626;display:none;}

/* ── DASHBOARD ── */
#dashboard{display:none;}

/* header */
.hd{background:rgba(255,255,255,.84);backdrop-filter:blur(28px) saturate(200%);-webkit-backdrop-filter:blur(28px) saturate(200%);border-bottom:1px solid rgba(27,63,160,.14);padding:0 44px;display:flex;align-items:center;justify-content:space-between;height:64px;position:sticky;top:0;z-index:100;box-shadow:0 1px 28px rgba(27,63,160,.09);}
.hd-logo{height:24px;}
.hd-right{display:flex;align-items:center;gap:8px;}
.hd-sep{width:1px;height:16px;background:var(--bd);flex-shrink:0;}
[data-theme="dark"] .hd-sep{background:rgba(255,255,255,.12);}
#lastUpdate{margin-left:4px;padding-left:12px;border-left:1px solid var(--bd);}
[data-theme="dark"] #lastUpdate{border-left-color:rgba(255,255,255,.12);}
.hd-user{font-size:11px;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;color:var(--mu);}
.hd-refresh{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:99px;background:var(--uc-green-light);color:#006633;font-size:10px;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;cursor:pointer;border:1px solid #99DDB8;transition:background .15s,box-shadow .15s;}
.hd-refresh:hover{background:#C0EDD4;box-shadow:0 2px 8px rgba(0,166,81,.2);}
.hd-logout{font-size:11px;color:var(--mu);cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;padding:4px 10px;border-radius:99px;transition:background .15s;}
.hd-logout:hover{background:var(--s2);}
.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:99px;font-size:10px;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;font-weight:500;border:1px solid;}
.bg{background:var(--uc-green-light);color:#006633;border-color:#99DDB8;}
.by{background:var(--warn-light);color:var(--warn);border-color:#FCD490;}
.dot{width:5px;height:5px;border-radius:50%;background:currentColor;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}

/* loading bar */
#loadingBar{height:3px;background:var(--uc-blue);width:0%;transition:width .3s;position:fixed;top:0;left:0;z-index:9999;}
#loadingBar.done{width:100%;opacity:0;transition:width .3s,opacity .5s .2s;}

/* notice */
.notice-strip{background:rgba(238,242,251,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(27,63,160,.14);padding:8px 32px;font-size:11px;color:var(--uc-blue);font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;display:flex;gap:8px;align-items:center;}
#lastUpdate{font-weight:600;}

/* sections */
.sec{display:flex;align-items:center;gap:12px;padding:22px 32px 0;}
.sec-num{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#4D78E8,var(--uc-blue));color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;box-shadow:0 2px 10px rgba(27,63,160,.4);filter:drop-shadow(0 1px 4px rgba(27,63,160,.3));}
.sec-t{font-size:10px;font-weight:700;color:var(--mu);letter-spacing:1.8px;text-transform:uppercase;}
.sec-l{flex:1;height:1px;background:linear-gradient(to right,rgba(27,63,160,.18),transparent);}
.sec-tag{font-size:10px;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;padding:3px 10px;border-radius:99px;white-space:nowrap;}

/* grid */
.grid{display:grid;gap:14px;margin:14px 32px 0;}
.g4{grid-template-columns:repeat(4,1fr);}
.g3{grid-template-columns:repeat(3,1fr);}
.g2{grid-template-columns:repeat(2,1fr);}
.g21{grid-template-columns:2fr 1fr;}
.g211{grid-template-columns:2fr 1fr 1fr;}
.gnpk{grid-template-columns:1.55fr 1.55fr 1fr;}
.g1{grid-template-columns:1fr;}

/* card */
.card{background:var(--glass);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--glass-border);border-radius:var(--rl);padding:20px;position:relative;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;box-shadow:var(--shadow-sm);will-change:transform;}
.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:rgba(27,63,160,.22);}
.cg{} .cb{} .cy{}

/* kpi */
.kl{font-size:9.5px;color:var(--mu);font-weight:700;letter-spacing:.9px;text-transform:uppercase;margin-bottom:9px;}
.kv{font-size:28px;font-weight:600;line-height:1;letter-spacing:-1px;}
.ks{font-size:11px;color:var(--mu);margin-top:6px;}
.kd{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;padding:3px 10px;border-radius:99px;margin-top:8px;font-weight:500;}
.du{background:var(--uc-green-light);color:#006633;}
.dw{background:var(--warn-light);color:var(--warn);}

/* chart */
.ct{font-size:13px;font-weight:600;color:var(--tx);margin-bottom:3px;}
.cs{font-size:10px;color:var(--mu);margin-bottom:12px;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;}
.cs .r{color:var(--uc-green);font-weight:500;}
.cs .f{color:var(--warn);}
.qinfo{position:relative;display:inline-flex;align-items:center;justify-content:center;color:var(--mu);cursor:help;margin-left:5px;flex-shrink:0;vertical-align:middle;line-height:0;opacity:.65;transition:opacity .15s,color .15s;outline:none;}
.qinfo:hover,.qinfo:focus-visible{color:var(--uc-blue);opacity:1;}
.qinfo .qtip{position:absolute;top:calc(100% + 9px);left:50%;transform:translateX(-50%);width:250px;max-width:78vw;background:#1f2937;color:#f3f4f6;font-size:11px;font-weight:400;font-style:normal;line-height:1.5;padding:10px 12px;border-radius:9px;box-shadow:0 10px 30px rgba(0,0,0,.22);opacity:0;visibility:hidden;transition:opacity .15s ease;z-index:80;text-align:left;pointer-events:none;letter-spacing:0;text-transform:none;white-space:normal;}
.qinfo .qtip b{color:#fff;font-weight:600;}
.qinfo .qtip::after{content:'';position:absolute;bottom:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-bottom-color:#1f2937;}
.qinfo:hover .qtip,.qinfo:focus .qtip,.qinfo:focus-within .qtip{opacity:1;visibility:visible;}
/* Toggle financeiro: esconde R$ (.fin) e mostra a alternativa em volume (.fin-alt) */
.fin-alt{display:none;}
body.hide-fin .fin{display:none!important;}
body.hide-fin .fin-alt{display:inline!important;}

/* bar */
.brow{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.bitem{display:flex;align-items:center;gap:8px;}
.blbl{font-size:10px;color:var(--mu);font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;width:64px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.btrack{flex:1;height:8px;background:var(--s2);border-radius:99px;overflow:hidden;}
.bfill{height:100%;border-radius:99px;}
.bval{font-size:10px;color:var(--tx);font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;width:64px;text-align:right;flex-shrink:0;font-weight:500;}

/* gauge */
.grow{display:flex;flex-direction:column;gap:10px;margin-top:10px;}
.gi{display:flex;flex-direction:column;gap:3px;}
.ghd{display:flex;justify-content:space-between;align-items:baseline;}
.gn{font-size:10px;color:var(--mu);font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;}
.gnum{font-size:11px;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;font-weight:600;}
.gtrack{height:6px;background:var(--s2);border-radius:99px;overflow:hidden;border:1px solid rgba(0,0,0,.05);}
.gfill{height:100%;border-radius:99px;}
.gi-num{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--bd);}
.gi-num:last-child{border-bottom:0;padding-bottom:0;}
.gbig{font-size:22px;font-weight:700;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;white-space:nowrap;}

/* sbar */
.sbar-row{display:flex;flex-direction:column;gap:8px;}
.sbar-item{display:flex;align-items:center;gap:8px;}
.sbar-lbl{font-size:10px;color:var(--mu);font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;width:30px;flex-shrink:0;}
.sbar-track{flex:1;height:8px;background:var(--s2);border-radius:99px;overflow:hidden;display:flex;border:1px solid var(--bd);}
.sbar-val{font-size:10px;color:var(--tx);font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;width:52px;text-align:right;flex-shrink:0;font-weight:500;}

/* table */
.tbl{width:100%;border-collapse:collapse;}
.tbl th{font-size:9px;color:var(--mu);font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:0 8px 8px 0;text-align:left;border-bottom:2px solid var(--bd);}
.tbl td{padding:7px 8px 7px 0;font-size:11px;border-bottom:1px solid var(--bd);font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;}
.tbl td:first-child{color:var(--mu);}
.tbl tr:last-child td{border-bottom:none;}
.tot td{border-top:2px solid var(--bd2)!important;font-weight:600;}
.pill{display:inline-block;padding:2px 9px;border-radius:99px;font-size:9px;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;font-weight:500;}
.pg{background:var(--uc-green-light);color:#006633;}
.pb{background:var(--uc-blue-light);color:var(--uc-blue);}
.py{background:#FEF3E2;color:#92500A;}
.pr{background:#FEE2E2;color:#DC2626;}

/* leg */
.leg{display:flex;flex-direction:column;gap:7px;}
.li{display:flex;align-items:center;gap:7px;}
.ld{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.ll{font-size:10px;color:var(--mu);font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;flex:1;}
.lv{font-size:11px;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;font-weight:600;color:var(--tx);}

/* drill */
#drillCard{min-height:300px;}
.dr-tbl td.td-sel,.dr-tbl th.td-sel{background:#EEF2FB!important;color:#1B3FA0!important;font-weight:700;}
.dr-two{display:grid;grid-template-columns:1fr;gap:0;overflow:hidden;}
.dr-two .dr-wrap{overflow-x:auto;border-bottom:1px solid var(--bd);}
/* Coluna TOTAL sempre visível: fixa à direita; a tabela larga rola por baixo dela */
.dr-two .dr-tbl th:last-child,.dr-two .dr-tbl td:last-child{position:sticky;right:0;z-index:2;}
.dr-two .dr-tbl td:last-child{background:var(--s1);box-shadow:-8px 0 10px -8px rgba(0,0,0,.20);}
.dr-two .dr-tbl th:last-child{box-shadow:-8px 0 10px -8px rgba(0,0,0,.30);}
.dr-two .dr-wrap:last-child{border-bottom:none;}
.dr-tbl-head{font-size:9.5px;font-weight:700;color:var(--mu);text-transform:uppercase;letter-spacing:.06em;padding:8px 14px;background:rgba(0,0,0,.025);border-bottom:1px solid var(--bd);}
@media(max-width:900px){.dr-two{grid-template-columns:1fr;}}
.dr-head{display:flex;align-items:center;gap:0;border-bottom:1px solid var(--bd);background:rgba(255,255,255,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.dr-breadcrumb{flex:1;display:flex;align-items:center;gap:0;padding:14px 20px;overflow:hidden;}
.dr-crumb{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;font-weight:600;color:#6B7280;white-space:nowrap;}
.dr-crumb.clickable{cursor:pointer;color:var(--uc-blue);text-decoration:underline;text-underline-offset:3px;}
.dr-crumb.clickable:hover{color:#2D55C8;}
.dr-sep{color:#D1D5DB;margin:0 8px;font-size:12px;}
.dr-level-badge{padding:4px 12px;border-radius:99px;font-size:10px;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;font-weight:500;margin-right:16px;white-space:nowrap;border:1px solid;}
.dr-kpi-bar{display:grid;gap:1px;background:var(--bd);}
.dr-kpi-box{background:var(--s1);padding:10px 16px;display:flex;flex-direction:column;gap:2px;}
.dr-kpi-lbl{font-size:9px;color:#9CA3AF;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;text-transform:uppercase;letter-spacing:.5px;}
.dr-kpi-val{font-size:15px;font-weight:700;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;color:var(--tx);line-height:1;}
.dr-kpi-sub{font-size:10px;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;color:#9CA3AF;}
.dr-wrap{overflow-x:auto;}
.dr-tbl{width:100%;border-collapse:collapse;font-size:12px;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;}
.dr-tbl th{background:rgba(240,244,250,.7);color:#4B5563;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;padding:9px 14px;text-align:right;border-bottom:1px solid rgba(209,216,232,.7);white-space:nowrap;}
.dr-tbl th.th-label{text-align:left;min-width:160px;}
.dr-tbl th.th-gest{background:var(--uc-blue);color:#fff;border-bottom-color:#2D55C8;border-left:1px solid #2D55C8;}
.dr-tbl th.th-tot{background:#0D2E7A;color:#fff;border-left:2px solid var(--uc-blue);}
.dr-tbl td{padding:9px 14px;border-bottom:1px solid rgba(240,242,246,.9);text-align:right;white-space:nowrap;color:#374151;}
.dr-tbl td.td-label{text-align:left;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;font-weight:600;color:var(--tx);background:rgba(250,251,253,.8);border-right:1px solid var(--bd);}
.dr-tbl td.td-drill{cursor:pointer;}
.dr-tbl td.td-drill:hover{background:#EEF4FF!important;color:var(--uc-blue);}
.dr-tbl tr:hover td{background:rgba(250,251,255,.9);}
.dr-tbl td.td-pos{color:#006633;}
.dr-tbl td.td-tot{font-weight:700;background:rgba(234,240,250,.7);border-left:2px solid #C8D4EC;}
.dr-tbl td.td-grand{font-weight:700;background:rgba(221,230,245,.8);border-left:3px solid #9DB5DC;}
.dr-tbl tr.tr-alt td{background:rgba(250,251,254,.6);}
.dr-tbl .td-label.td-drill::after{content:' ›';color:#9DB5DC;font-size:12px;}
.dr-tbl td.td-nf{color:var(--uc-blue);font-weight:500;}
.dr-tbl td.td-cli{text-align:left;max-width:200px;overflow:hidden;text-overflow:ellipsis;}
.dr-tbl td.td-prd{text-align:left;max-width:160px;overflow:hidden;text-overflow:ellipsis;color:#9CA3AF;font-size:10px;}
.dr-hint{padding:10px 20px;background:rgba(248,249,251,.8);border-top:1px solid var(--bd);font-size:10px;color:#9CA3AF;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;display:flex;align-items:center;justify-content:space-between;}

.footer{padding:20px 32px;text-align:center;font-size:9px;color:var(--mu);font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;border-top:1px solid var(--bd);margin-top:24px;line-height:1.8;}

canvas{display:block;}
.hst{font-size:11px;font-weight:600;color:var(--mu);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;}
#mrpPage{display:none;}

/* ── MRP ── */
#mrpPage :root{
  --color-text-primary:#111827;--color-text-secondary:#6b7280;--color-text-tertiary:#9ca3af;
  --color-text-info:#1d4ed8;--color-text-success:#15803d;--color-text-warning:#b45309;--color-text-danger:#dc2626;
  --color-background-primary:#ffffff;--color-background-secondary:#f8fafc;
  --color-background-info:#eff6ff;--color-background-success:#f0fdf4;
  --color-background-warning:#fffbeb;--color-background-danger:#fff1f2;
  --color-border-primary:rgba(0,0,0,.25);--color-border-secondary:rgba(0,0,0,.15);--color-border-tertiary:rgba(0,0,0,.08);
  --font-sans:-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',sans-serif;
  --font-mono:'SF Mono','Fira Code','Cascadia Mono',monospace;
  --border-radius-md:6px;--border-radius-lg:10px;
}
*{box-sizing:border-box;margin:0;padding:0;}
#mrpPage{font-family:var(--font-sans);font-size:13px;color:var(--color-text-primary);background:#f1f5f9;min-height:100vh;}
#mrpPage .page{max-width:1280px;margin:0 auto;padding:20px 16px 40px;}
#mrpPage .app-hdr{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:8px;padding-bottom:14px;border-bottom:.5px solid var(--color-border-secondary);margin-bottom:12px;}
#mrpPage .app-title{font-size:20px;font-weight:600;letter-spacing:-.02em;}
#mrpPage .app-sub{font-size:11px;color:var(--color-text-secondary);margin-top:2px;}
#mrpPage .app-meta{font-size:10px;color:var(--color-text-tertiary);text-align:right;}
#mrpPage .shared-bar{display:flex;flex-wrap:wrap;gap:16px;padding:10px 13px;background:var(--color-background-primary);border-radius:var(--border-radius-md);border:.5px solid var(--color-border-tertiary);align-items:center;margin-bottom:12px;box-shadow:0 1px 3px rgba(0,0,0,.04);}
#mrpPage .cg{display:flex;flex-direction:column;gap:2px;}
#mrpPage .cl{font-size:9px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;}
#mrpPage .cr{display:flex;align-items:center;gap:4px;}
#mrpPage .cu{font-size:10px;color:var(--color-text-tertiary);}
#mrpPage .pn{font-size:9px;margin-top:1px;}
#mrpPage .ni{font-family:var(--font-mono);font-size:12px;padding:3px 6px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);background:var(--color-background-secondary);color:var(--color-text-primary);text-align:right;}
#mrpPage .ni:focus{outline:none;border-color:var(--color-text-info);}
#mrpPage .tab-nav{display:flex;gap:0;margin-bottom:14px;border-bottom:.5px solid var(--color-border-secondary);background:transparent;}
#mrpPage .tn{font-size:12px;padding:8px 18px;border:none;background:transparent;cursor:pointer;color:var(--color-text-secondary);border-bottom:2px solid transparent;margin-bottom:-1px;font-family:var(--font-sans);font-weight:400;transition:color .15s;}
#mrpPage .tn.on{color:var(--color-text-primary);border-bottom-color:#1d4ed8;font-weight:600;}
#mrpPage .tn:hover:not(.on){color:var(--color-text-primary);}
#mrpPage .tp{display:none;}.tp.on{display:block;}
#mrpPage .ftabs{display:flex;gap:4px;}
#mrpPage .ft{font-size:10px;padding:3px 10px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);background:transparent;cursor:pointer;color:var(--color-text-secondary);}
#mrpPage .ft.on{background:var(--color-background-secondary);color:var(--color-text-primary);border-color:var(--color-border-primary);}
#mrpPage .tw{overflow-x:auto;}
#mrpPage table{width:100%;border-collapse:collapse;min-width:700px;background:var(--color-background-primary);}
#mrpPage th{font-size:9px;font-weight:500;color:var(--color-text-secondary);text-align:right;padding:6px 9px;border-bottom:.5px solid var(--color-border-tertiary);white-space:nowrap;background:var(--color-background-primary);}
#mrpPage th.L{text-align:left;}
#mrpPage td{padding:6px 9px;border-bottom:.5px solid var(--color-border-tertiary);font-family:var(--font-mono);font-size:11px;text-align:right;vertical-align:middle;}
#mrpPage td.L{font-family:var(--font-sans);text-align:left;font-size:11px;}
#mrpPage .sign{font-size:9px;opacity:.7;margin-right:1px;}
#mrpPage .plus .sign{color:var(--color-text-success);}.minus .sign{color:var(--color-text-danger);}.eq .sign{color:var(--color-text-info);}
#mrpPage tr.fhdr td{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;padding:9px 9px 6px;background:var(--color-background-secondary);border-top:.5px solid var(--color-border-secondary);}
#mrpPage tr.dr:hover td{background:#fafbfc;}
#mrpPage tr.al td{background:rgba(220,38,38,.04);}
#mrpPage tr.al:hover td{background:rgba(220,38,38,.08);}
#mrpPage tr.sub td{font-size:10px;font-weight:500;background:var(--color-background-secondary);border-top:.5px solid var(--color-border-tertiary);}
#mrpPage tr.sub td.L{font-family:var(--font-sans);font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);}
#mrpPage tr.grd td{font-size:11px;font-weight:600;border-top:.5px solid var(--color-border-primary);background:var(--color-background-primary);}
#mrpPage tr.grd td.L{font-family:var(--font-sans);font-size:10px;color:var(--color-text-secondary);}
#mrpPage tr.ddr td{padding:0;}
#mrpPage .ddi{padding:8px 8px 10px 28px;background:#f1f5f9;}
#mrpPage .ddl{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:5px;display:flex;align-items:center;gap:5px;}
#mrpPage .src{font-size:9px;padding:1px 6px;border-radius:3px;background:var(--color-background-info);color:var(--color-text-info);font-weight:500;}
#mrpPage table.dt{min-width:0;width:auto;max-width:640px;background:var(--color-background-primary);}
#mrpPage table.dt th{font-size:9px;}
#mrpPage table.dt td{font-size:10px;}
#mrpPage tr.dtot td{font-weight:500;background:var(--color-background-secondary);border-top:.5px solid var(--color-border-secondary);}
#mrpPage tr.dtot td.L{font-family:var(--font-sans);font-size:9px;text-transform:uppercase;}
#mrpPage .zl{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;}
@media(max-width:900px){.zl{grid-template-columns:1fr;}}
#mrpPage .card{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:1rem 1.1rem;box-shadow:0 1px 3px rgba(0,0,0,.04);}
#mrpPage .sl{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);margin-bottom:7px;}
#mrpPage .ps{width:100%;font-size:12px;padding:5px 8px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);background:var(--color-background-secondary);color:var(--color-text-primary);margin:5px 0 9px;}
#mrpPage .cw{position:relative;width:100%;height:210px;}
#mrpPage .k3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px;}
#mrpPage .km{background:var(--color-background-secondary);border-radius:var(--border-radius-md);padding:8px 10px;}
#mrpPage .kl{font-size:10px;color:var(--color-text-secondary);margin-bottom:2px;}
#mrpPage .kv{font-size:13px;font-weight:600;font-family:var(--font-mono);}
#mrpPage .ks{font-size:9px;color:var(--color-text-tertiary);margin-top:1px;}
#mrpPage .mscr{overflow-y:auto;max-height:500px;}
#mrpPage .mr{display:flex;justify-content:space-between;padding:4px 0;border-bottom:.5px solid var(--color-border-tertiary);font-size:12px;}
#mrpPage .mr:last-child{border-bottom:none;}
#mrpPage .mk{color:var(--color-text-secondary);}.mv{font-family:var(--font-mono);font-weight:500;}
#mrpPage .mdv{border:none;border-top:.5px solid var(--color-border-tertiary);margin:8px 0;}
#mrpPage .mb{font-size:22px;font-weight:700;font-family:var(--font-mono);margin:5px 0 2px;}
#mrpPage .mp{font-size:11px;font-family:var(--font-mono);margin-bottom:9px;}
#mrpPage .mri{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:.5px solid var(--color-border-tertiary);font-size:12px;}
#mrpPage .vc{border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);padding:8px 10px;margin-bottom:6px;background:var(--color-background-secondary);}
#mrpPage .vh{display:flex;justify-content:space-between;margin-bottom:3px;}
#mrpPage .vn{font-size:11px;font-weight:600;}.vm2{font-size:9px;color:var(--color-text-secondary);margin-bottom:4px;}
#mrpPage .vrs{border-top:.5px solid var(--color-border-tertiary);padding-top:4px;}
#mrpPage .vr{display:flex;justify-content:space-between;font-size:10px;padding:2px 0;}
#mrpPage .vk{color:var(--color-text-secondary);}.vv2{font-family:var(--font-mono);font-weight:500;}
#mrpPage .leg{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:7px;}
#mrpPage .li{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--color-text-secondary);}
#mrpPage .lsq{width:8px;height:8px;border-radius:2px;}
#mrpPage .ldsh{width:12px;height:0;border-top:1.5px dashed #B4B2A9;}
#mrpPage .lu-panel{background:var(--color-background-primary);border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);padding:1rem 1.1rem;box-shadow:0 1px 3px rgba(0,0,0,.04);}
#mrpPage tr.lph td{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;padding:9px 9px 5px;background:var(--color-background-secondary);border-top:.5px solid var(--color-border-secondary);}
#mrpPage tr.lvt td{font-size:10px;font-weight:500;background:var(--color-background-secondary);border-top:.5px solid var(--color-border-tertiary);}
#mrpPage tr.lvt td.L{font-family:var(--font-sans);font-size:9px;text-transform:uppercase;color:var(--color-text-secondary);}
#mrpPage tr.lpt td{font-size:11px;font-weight:500;background:var(--color-background-secondary);border-top:.5px solid var(--color-border-tertiary);}
#mrpPage tr.lpt td.L{font-family:var(--font-sans);font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);}
#mrpPage tr.lgt td{font-size:11px;font-weight:700;border-top:.5px solid var(--color-border-primary);background:var(--color-background-primary);}
#mrpPage tr.lgt td.L{font-family:var(--font-sans);font-size:10px;text-transform:uppercase;color:var(--color-text-secondary);}
#mrpPage .badge{display:inline-block;font-size:9px;padding:2px 6px;border-radius:3px;font-weight:600;}
#mrpPage .bsp{background:#f1f5f9;color:#475569;}.bpr{background:#fffbeb;color:#b45309;}
#mrpPage .btrn{background:#f0fdf4;color:#15803d;}.bnom{background:#eff6ff;color:#1d4ed8;}
#mrpPage .bagu{background:#f8fafc;color:#9ca3af;border:.5px solid #e2e8f0;}
#mrpPage .bsuc{background:#f0fdf4;color:#15803d;}.bdan{background:#fff1f2;color:#dc2626;}
#mrpPage .barg{background:#eff6ff;color:#1d4ed8;}.bman{background:#fffbeb;color:#b45309;}
#mrpPage .vr2{color:#dc2626;}.vg2{color:#15803d;}.vb{color:#1d4ed8;}.vs2{color:#9ca3af;}
#mrpPage .cod{font-family:var(--font-mono);font-size:10px;color:#9ca3af;margin-right:4px;}
#mrpPage .pcb{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;}
#mrpPage .pcb:hover{color:#1d4ed8;}
#mrpPage .estq{font-style:italic;color:#dc2626;font-size:11px;margin-left:5px;}
#mrpPage .an{font-size:10px;color:#9ca3af;margin:2px 0 4px;}
#mrpPage .chsub{display:block;font-size:8px;font-style:italic;font-weight:400;color:#9ca3af;margin-top:1px;}
#mrpPage .sec-card{background:var(--color-background-primary);border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);padding:1rem 1.1rem;box-shadow:0 1px 3px rgba(0,0,0,.04);}
#mrpPage .lu-leg{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--color-text-tertiary);margin-left:auto;}
#mrpPage .lu-lsq{width:10px;height:10px;border-radius:2px;display:inline-block;}

@media(max-width:900px){
  .g4,.g3,.g211,.gnpk{grid-template-columns:1fr 1fr!important;}
  .g21,.g2{grid-template-columns:1fr!important;}
  .grid,.sec{margin-left:16px;margin-right:16px;}
  .hd,.notice-strip,.footer{padding-left:16px;padding-right:16px;}
}
@media(max-width:560px){.g4,.g3,.g211,.g2,.g21,.gnpk{grid-template-columns:1fr!important;}}

/* ── 6-col KPI grid (inline style) — collapse on tablet/phone ── */
@media(max-width:900px){.grid[style*="repeat(6"]{grid-template-columns:repeat(3,1fr)!important;}}
@media(max-width:560px){.grid[style*="repeat(6"]{grid-template-columns:repeat(2,1fr)!important;}}

/* ── Grids inline (Visão Rápida / Comercial / modais) empilham no mobile ── */
@media(max-width:760px){
  .q-c2{grid-template-columns:1fr!important;}
  .q-c4{grid-template-columns:repeat(2,1fr)!important;}
  [style*="grid-template-columns:1.4fr 1fr"],
  [style*="grid-template-columns:2fr 1fr"],
  [style*="grid-template-columns:1.55fr"]{grid-template-columns:1fr!important;}
  [style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:repeat(2,1fr)!important;}
}
@media(max-width:600px){
  .page-wrap{padding-left:14px!important;padding-right:14px!important;}
  [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important;}
  /* linhas backlog/previsto: tira a coluna fixa de 192px que estoura no celular */
  [style*="2.4fr 192px"]{grid-template-columns:minmax(56px,1fr) 1.3fr auto!important;gap:8px!important;}
}
@media(max-width:430px){
  .q-c4,[style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:1fr!important;}
}

/* ══════════════════════════════════════════════════
   MOBILE — iPhone / Android (≤480px)
   Apple-style: compact sticky header, scrollable
   tab bar, 2-col grids, readable typography.
   ══════════════════════════════════════════════════ */
/* ── Burger button (hidden on desktop) ── */
#burger-btn{display:none;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:8px;background:transparent;cursor:pointer;color:var(--tx);flex-shrink:0;padding:0;}
#burger-btn:hover{background:var(--s2);}
/* Mobile nav overlay */
#mobile-nav{display:none;position:fixed;top:64px;left:0;right:0;z-index:99;background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--bd);padding:8px 12px 12px;flex-direction:column;gap:2px;box-shadow:0 8px 24px rgba(0,0,0,.15);}
#mobile-nav.open{display:flex;}
#mobile-nav button{width:100%;padding:13px 16px;border:none;border-radius:10px;background:transparent;color:var(--tx);font-size:15px;font-weight:500;text-align:left;cursor:pointer;font-family:inherit;transition:background .15s;}
#mobile-nav button:hover{background:var(--s2);}
#mobile-nav button.mn-active{background:var(--s2);color:var(--uc-blue);font-weight:600;}
#mob-nav-bd{display:none;position:fixed;inset:0;z-index:98;background:rgba(0,0,0,.25);}
#mob-nav-bd.open{display:block;}

@media(max-width:480px){

  /* ── Header: single row, logo left, burger right ── */
  .hd{height:52px;padding:0 14px;gap:10px;}
  .hd-logo{height:22px;flex-shrink:0;}
  .hd-right{flex:1;min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;overflow:visible;padding:0;}
  .hd-user{display:none;}
  .hd-logout{display:none;}
  #lastUpdate{display:none!important;}
  .hd-refresh{display:none;}
  #hd-nav-pill{display:none!important;}
  #burger-btn{display:flex;}
  #mobile-nav{top:52px;}

  /* ── Tabs container inside hd-right ── */
  .hd-right > div:first-child{flex-shrink:0;padding:2px!important;}

  /* ── Filter bar: unsticky, compact ── */
  #filter-bar{position:relative!important;top:auto!important;padding:8px 14px;gap:6px;flex-wrap:wrap;}
  #cli-search-input{width:130px!important;}

  /* ── Section headers ── */
  .sec{padding:14px 14px 0;gap:6px;}
  .sec-tag{display:none;}
  .sec-t{font-size:9px;letter-spacing:1px;}

  /* ── Grid margins ── */
  .grid{margin:10px 14px 0;gap:10px;}

  /* ── Page container padding (inline style overrides) ── */
  #relPage > div:first-child,
  #matPage > div:first-child,
  #comexPage > div:first-child,
  #gcPage > div:first-child{padding:14px 14px 20px!important;}

  /* ── Dashboard entity selector ── */
  #dashboard > div[style*="padding:10px 32px"]{padding:10px 14px 0!important;}

  /* ── KPI cards ── */
  .card{padding:14px!important;border-radius:16px;}
  .kv{font-size:20px!important;letter-spacing:-.5px;}
  .kl{font-size:9px!important;}
  .ks{font-size:10px!important;}
  .kd{font-size:9px;padding:2px 8px;}

  /* ── 4-col grids in Rel. Diário ── */
  #rd-fat-kpis,#rd-log-kpis,#rd-com-kpis{
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }

  /* ── Inline 2-col grids inside relPage → stack ── */
  #relPage [style*="2fr 1fr"],
  #relPage [style*="1fr 1fr"]{display:flex!important;flex-direction:column!important;}
  #relPage [style*="2fr 1fr"] > *,
  #relPage [style*="1fr 1fr"] > *{width:100%!important;}

  /* ── Section dividers ── */
  .sec-num{width:18px;height:18px;font-size:9px;}

  /* ── Chart labels ── */
  .ct{font-size:11px;}
  .cs{font-size:9px;margin-bottom:8px;}

  /* ── Bar items ── */
  .blbl{width:48px;}
  .bval{width:48px;}

  /* ── Drill table ── */
  .dr-tbl th.th-label{min-width:110px;}
  .dr-breadcrumb{padding:10px 12px;}
  .dr-kpi-val{font-size:13px;}

  /* ── Login card ── */
  .login-card{padding:32px 22px;margin:0 18px;border-radius:20px;}
  .login-title{font-size:18px;}

  /* ── MRP page ── */
  #mrpPage .k3{grid-template-columns:1fr 1fr!important;}
  #mrpPage .zl{grid-template-columns:1fr!important;}
  #mrpPage .page{padding:12px 12px 40px;}
  #mrpPage .tab-nav{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;}
  #mrpPage .tab-nav::-webkit-scrollbar{display:none;}
  #mrpPage .tn{white-space:nowrap;}

  /* ── Comex filters ── */
  #comexPage .hp-btn{padding:3px 10px;font-size:10px;}

  /* ── Footer ── */
  .footer{padding:14px;font-size:8px;}

  /* ── Notice strip ── */
  .notice-strip{padding:6px 14px;font-size:10px;}
}

/* ── HISTÓRICO page — remove double-indent (outer wrapper already has padding:32px) ── */
#histPage .grid{margin-left:0;margin-right:0;}
#histPage .sec{padding-left:0;padding-right:0;}

/* ── BUTTONS (overrides — must stay last) ── */
.hp-btn { transition: background .15s, color .15s, box-shadow .15s; padding:4px 14px; border-radius:99px; border:1px solid var(--glass-border); font-size:11px; font-weight:500; cursor:pointer; background:var(--glass); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); color:var(--mu); }
.hp-btn:hover { box-shadow:var(--shadow-sm); background:rgba(255,255,255,.95); }
.hp-btn.hp-active { background: var(--uc-blue) !important; color: #fff !important; border-color: var(--uc-blue) !important; box-shadow:0 2px 10px rgba(27,63,160,.35) !important; }
.sort-active { background: var(--uc-blue-light) !important; color: var(--uc-blue) !important; border-color: var(--uc-blue) !important; }

/* ── DARK MODE overrides ── */
[data-theme="dark"] .hd{background:rgba(11,14,26,.94);border-bottom-color:rgba(255,255,255,.09);box-shadow:0 1px 28px rgba(0,0,0,.4);}
[data-theme="dark"] .hd-logo{filter:brightness(0) invert(1);}
[data-theme="dark"] .hd-refresh{background:rgba(0,166,81,.15);color:#4ade80;border-color:rgba(0,166,81,.3);}
[data-theme="dark"] .hd-refresh:hover{background:rgba(0,166,81,.25);}
[data-theme="dark"] .login-tab-active{background:rgba(255,255,255,.1);color:var(--tx);}
[data-theme="dark"] .login-tabs{background:rgba(255,255,255,.05);}
[data-theme="dark"] .login-input{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:var(--tx);}
[data-theme="dark"] .login-input::placeholder{color:#4A5568;}
[data-theme="dark"] .login-btn-ms{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:var(--tx);}
[data-theme="dark"] .login-btn-ms:hover{background:rgba(255,255,255,.1);}
[data-theme="dark"] .login-divider::before,[data-theme="dark"] .login-divider::after{background:rgba(255,255,255,.1);}
[data-theme="dark"] .hp-btn{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);}
[data-theme="dark"] .hp-btn:hover{background:rgba(255,255,255,.12);}

/* theme toggle button */
.theme-toggle{background:none;border:none;cursor:pointer;padding:6px;border-radius:8px;color:var(--mu);display:flex;align-items:center;transition:background .15s,color .15s;}
.theme-toggle:hover{background:var(--s2);color:var(--tx);}
.theme-toggle .icon-sun{display:none;}
.theme-toggle .icon-moon{display:block;}
[data-theme="dark"] .theme-toggle .icon-sun{display:block;}
[data-theme="dark"] .theme-toggle .icon-moon{display:none;}
/* login page theme toggle */
.login-theme-toggle{position:fixed;top:16px;right:16px;background:var(--glass);border:1px solid var(--glass-border);border-radius:99px;padding:8px 14px;display:flex;align-items:center;gap:6px;cursor:pointer;font-size:12px;color:var(--mu);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);transition:background .15s,box-shadow .15s;}
.login-theme-toggle:hover{box-shadow:var(--shadow-md);}
.login-theme-toggle .icon-sun{display:none;}
.login-theme-toggle .icon-moon{display:block;}
[data-theme="dark"] .login-theme-toggle .icon-sun{display:block;}
[data-theme="dark"] .login-theme-toggle .icon-moon{display:none;}

/* ── DARK MODE — comprehensive overrides ── */
/* nav pill */
[data-theme="dark"] #hd-nav-pill{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.08)!important;}
[data-theme="dark"] #hd-nav-pill button[style*="transparent"]{color:#8B93A5!important;}
/* notice strip */
[data-theme="dark"] .notice-strip{background:rgba(27,63,160,.12);border-bottom-color:rgba(27,63,160,.25);color:#93B4F5;}
/* status / delta badges */
[data-theme="dark"] .du{background:rgba(0,166,81,.15);color:#4ade80;}
[data-theme="dark"] .dw{background:rgba(180,83,9,.2);color:#FCD34D;}
/* pills */
[data-theme="dark"] .pg{background:rgba(0,102,51,.2);color:#4ade80;}
[data-theme="dark"] .pb{background:rgba(27,63,160,.2);color:#93C5FD;}
[data-theme="dark"] .py{background:rgba(180,83,9,.2);color:#FCD34D;}
[data-theme="dark"] .pr{background:rgba(220,38,38,.2);color:#FCA5A5;}
/* sort active */
[data-theme="dark"] .sort-active{background:rgba(27,63,160,.25)!important;color:#93C5FD!important;border-color:rgba(93,153,253,.35)!important;}
/* drill head / breadcrumb */
[data-theme="dark"] .dr-head{background:rgba(15,17,23,.85);}
[data-theme="dark"] .dr-crumb{color:#8B93A5;}
[data-theme="dark"] .dr-sep{color:rgba(255,255,255,.2);}
[data-theme="dark"] .dr-tbl-head{background:rgba(255,255,255,.04);color:#8B93A5;border-bottom-color:rgba(255,255,255,.07);}
/* drill table */
[data-theme="dark"] .dr-tbl th{background:rgba(255,255,255,.04);color:#8B93A5;border-bottom-color:rgba(255,255,255,.08);}
[data-theme="dark"] .dr-tbl td{color:#C9D1E0;border-bottom-color:rgba(255,255,255,.05);}
[data-theme="dark"] .dr-tbl td.td-label{background:rgba(255,255,255,.025);color:#E8ECF4;border-right-color:rgba(255,255,255,.06);}
[data-theme="dark"] .dr-tbl td.td-drill:hover{background:rgba(27,63,160,.2)!important;color:#93C5FD;}
[data-theme="dark"] .dr-tbl tr:hover td{background:rgba(255,255,255,.03);}
[data-theme="dark"] .dr-tbl td.td-tot{background:rgba(255,255,255,.05);border-left-color:rgba(255,255,255,.12);}
[data-theme="dark"] .dr-tbl td.td-grand{background:rgba(255,255,255,.08);border-left-color:rgba(255,255,255,.18);}
[data-theme="dark"] .dr-tbl tr.tr-alt td{background:rgba(255,255,255,.015);}
[data-theme="dark"] .dr-tbl td.td-sel,[data-theme="dark"] .dr-tbl th.td-sel{background:rgba(27,63,160,.35)!important;color:#93C5FD!important;}
[data-theme="dark"] .dr-tbl td.td-pos{color:#4ade80;}
[data-theme="dark"] .dr-hint{background:rgba(15,17,23,.5);border-top-color:rgba(255,255,255,.06);}
[data-theme="dark"] .dr-kpi-bar{background:rgba(255,255,255,.08);}
[data-theme="dark"] .dr-kpi-box{background:var(--s1);}
/* gauge tracks */
[data-theme="dark"] .btrack,[data-theme="dark"] .gtrack,[data-theme="dark"] .sbar-track{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.06);}
/* footer */
[data-theme="dark"] .footer{border-top-color:rgba(255,255,255,.06);}

/* ── Materiais + Rel. Diário — override hardcoded inline-style bg/text ── */
[data-theme="dark"] #matPage table thead tr,
[data-theme="dark"] #relPage table thead tr{background:rgba(255,255,255,.04)!important;}
[data-theme="dark"] #matPage table tfoot tr,
[data-theme="dark"] #relPage table tfoot tr{background:rgba(255,255,255,.05)!important;border-top-color:rgba(255,255,255,.12)!important;}
[data-theme="dark"] #matPage table td,
[data-theme="dark"] #relPage table td{color:var(--tx)!important;border-bottom-color:rgba(255,255,255,.05)!important;}
[data-theme="dark"] #matPage table th,
[data-theme="dark"] #relPage table th{color:#8B93A5!important;border-bottom-color:rgba(255,255,255,.08)!important;}
/* Drill-down th with hardcoded light bg */
[data-theme="dark"] th[style*="EEF2FB"]{background:rgba(91,141,239,.15)!important;color:#93C5FD!important;}
[data-theme="dark"] th[style*="F8FAFC"]{background:rgba(255,255,255,.04)!important;color:#8B93A5!important;}
[data-theme="dark"] td[style*="#374151"]{color:var(--tx)!important;}
[data-theme="dark"] td[style*="#4B5563"]{color:var(--tx)!important;}
/* Rel. Diário KPI row cards */
[data-theme="dark"] .rd-kpi-card,[data-theme="dark"] [class*="rd-"]{background:var(--s1);}
/* Comex page */
[data-theme="dark"] #comexPage [style*="background:#fff"]{background:var(--s1)!important;}
[data-theme="dark"] #comexPage [style*="color:#111827"]{color:var(--tx)!important;}
[data-theme="dark"] #comexPage [style*="color:#374151"]{color:#C9D1E0!important;}
[data-theme="dark"] #comexPage table thead tr{background:rgba(255,255,255,.04)!important;}
[data-theme="dark"] #comexPage table td{color:var(--tx)!important;border-bottom-color:rgba(255,255,255,.05)!important;}
[data-theme="dark"] #comexPage table th{color:#8B93A5!important;}
/* --uc-blue lightened for dark text readability */

/* ── PRINT — Comercial tab ── */
/* chart snapshots only exist for printing — never show them on screen */
.prt-chart-img{display:none;}
@media print{
  @page{size:A4 landscape;margin:0;}
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}
  body.print-comercial{background:#fff!important;}

  /* hide all chrome & interactive controls */
  body.print-comercial .nav,body.print-comercial .hd,
  body.print-comercial #loginOverlay,body.print-comercial .footer,
  body.print-comercial #com-header-controls,
  body.print-comercial #com-pesquisar-section,
  body.print-comercial #com-cli-search-section,
  body.print-comercial #com-vend-suggestions,body.print-comercial #com-vend-tag,
  body.print-comercial #com-cli-suggestions,body.print-comercial #com-cli-tag,
  body.print-comercial [onclick*="_comSetTab"],
  body.print-comercial [onclick*="_comExportPDF"],
  body.print-comercial [onclick*="_comExportCarteira"],
  body.print-comercial [onclick*="_comToggleGest"],
  body.print-comercial [onclick*="_comVend"],
  body.print-comercial [onclick*="_comSetMetric"],
  body.print-comercial input,
  body.print-comercial .com-print-hide{display:none!important;}

  /* show only comercial tab, with internal padding as margins */
  body.print-comercial .tab-content:not(#comercialPage){display:none!important;}
  body.print-comercial #comercialPage{display:block!important;padding:10mm 14mm!important;box-sizing:border-box!important;}

  /* only active inner tab */
  body.print-comercial #com-tab-perf:not([style*="block"]),
  body.print-comercial #com-tab-cart:not([style*="block"]){display:none!important;}

  /* clean cards */
  body.print-comercial .card{box-shadow:none!important;border:1px solid #e5e7eb!important;break-inside:avoid;page-break-inside:avoid;}

  /* expand scrollable list containers so content isn't clipped */
  body.print-comercial [style*="overflow-y:auto"]{overflow:visible!important;height:auto!important;max-height:none!important;}
  body.print-comercial [style*="height:480px"]{height:auto!important;}

  /* canvas → replaced by .prt-chart-img snapshots injected by JS.
     Only hide canvases that actually got a snapshot — uncaptured charts
     print as live canvas instead of disappearing. */
  body.print-comercial canvas.prt-snapped{display:none!important;}
  body.print-comercial .prt-chart-img{display:block!important;width:100%!important;height:auto!important;max-height:260px;object-fit:contain;}

  /* limit produtos/clientes lists to 10 items */
  body.print-comercial #com-products-list>div:nth-child(n+11),
  body.print-comercial #com-clients-list>div:nth-child(n+11){display:none!important;}

  /* slightly smaller tables for fit */
  body.print-comercial table{font-size:10px!important;}
  body.print-comercial th,body.print-comercial td{padding:3px 6px!important;}
}
[data-theme="dark"]{--uc-blue:#5B8DEF;}

/* ── Tab navigation ── */
#hd-nav-pill{display:flex;gap:4px;background:#F0F4FA;border-radius:99px;padding:3px;border:1px solid #D1D8E8;transition:background .2s,border-color .2s;}
[data-theme="dark"] #hd-nav-pill{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);}
.hd-tab{padding:5px 14px;border-radius:99px;border:none;font-size:11px;font-weight:500;cursor:pointer;background:transparent;color:#6B7280;font-family:inherit;transition:background .15s,color .15s;}
.hd-tab:hover:not(.tab-active){background:rgba(0,0,0,.05);}
.tab-active{background:var(--uc-blue)!important;color:#fff!important;}
[data-theme="dark"] .hd-tab{color:rgba(255,255,255,.45);}
[data-theme="dark"] .hd-tab:hover:not(.tab-active){background:rgba(255,255,255,.07);}

/* ── Loading overlay ── */
@keyframes lo-spin{to{transform:rotate(360deg)}}
@keyframes lo-pulse{0%,100%{transform:scale(.85);opacity:.4}50%{transform:scale(1);opacity:1}}

#_loadOverlay{position:fixed;inset:0;z-index:490;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;
  background:var(--bg);
  background-image:radial-gradient(ellipse at 20% 15%,rgba(27,63,160,.12) 0%,transparent 45%),radial-gradient(ellipse at 80% 80%,rgba(0,166,81,.08) 0%,transparent 45%);
  transition:opacity .4s ease;}
#_loadOverlay.lo-fade{opacity:0;pointer-events:none;}
.lo-ring{width:48px;height:48px;border-radius:50%;border:3.5px solid rgba(27,63,160,.14);border-top-color:var(--uc-blue);border-right-color:rgba(27,63,160,.5);animation:lo-spin .72s linear infinite;}

.lo-msg{font-size:12px;font-weight:600;color:var(--mu);letter-spacing:.8px;text-transform:uppercase;}
[data-theme="dark"] #_loadOverlay{background:var(--bg);background-image:radial-gradient(ellipse at 20% 15%,rgba(27,63,160,.3) 0%,transparent 45%),radial-gradient(ellipse at 80% 80%,rgba(0,166,81,.16) 0%,transparent 45%);}

/* ── Logística tab: theme-aware tables (rd-table) ─────────────────────────── */
.rd-table{width:100%;border-collapse:collapse;font-size:10.5px;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;}
.rd-table thead th{padding:8px 12px;color:var(--mu);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--bd);background:var(--s2);white-space:nowrap;}
.rd-table thead th:first-child{text-align:left;}
.rd-table thead th:not(:first-child){text-align:right;}
.rd-table tbody td{padding:7px 12px;color:var(--tx);border-bottom:1px solid var(--bd);}
.rd-table tbody td:first-child{text-align:left;}
.rd-table tbody td:not(:first-child){text-align:right;}
.rd-table tbody tr:last-child td{border-bottom:none;}
.rd-table .tr-alt{background:var(--s2);}
.rd-table .tr-cur{background:var(--uc-blue-light);}
.rd-table .tr-fut td{color:var(--mu);}
.rd-table .tr-total td{background:var(--s2);font-weight:700;border-top:2px solid var(--bd)!important;}
.rd-table .td-warn{color:var(--warn);font-weight:600;}
.rd-table .td-green{color:#00A651;font-weight:600;}
.rd-table .td-blue{color:var(--uc-blue);font-weight:600;}
.rd-table .td-mu{color:var(--mu);}
.rd-table .td-warn-bg{background:var(--warn-light);}
.rd-table .td-green-bg{background:var(--uc-green-light);}
.rd-wrap-rnd{border-radius:10px;overflow:hidden;border:1px solid var(--bd);}

/* ── dr-tbl dark mode ──────────────────────────────────────────────────────── */
[data-theme="dark"] .dr-tbl th{background:rgba(255,255,255,.05)!important;color:var(--mu)!important;border-bottom-color:var(--bd)!important;}
[data-theme="dark"] .dr-tbl th.th-gest{background:rgba(27,63,160,.6)!important;color:#fff!important;}
[data-theme="dark"] .dr-tbl th.th-tot{background:rgba(13,46,122,.7)!important;color:#fff!important;}
[data-theme="dark"] .dr-tbl td{color:var(--tx)!important;border-bottom-color:var(--bd)!important;}
[data-theme="dark"] .dr-tbl td.td-label{background:rgba(255,255,255,.03)!important;color:var(--tx)!important;}
[data-theme="dark"] .dr-tbl tr.tr-alt td{background:rgba(255,255,255,.025)!important;}
[data-theme="dark"] .dr-tbl tr:hover td{background:rgba(255,255,255,.06)!important;}
[data-theme="dark"] .dr-tbl td.td-drill:hover{background:rgba(27,63,160,.35)!important;color:#93B4FF!important;}
[data-theme="dark"] .dr-tbl td.td-tot{background:rgba(255,255,255,.06)!important;color:var(--tx)!important;}
[data-theme="dark"] .dr-tbl td.td-grand{background:rgba(255,255,255,.1)!important;color:var(--tx)!important;}
[data-theme="dark"] .dr-tbl td.td-sel,[data-theme="dark"] .dr-tbl th.td-sel{background:rgba(27,63,160,.5)!important;color:#93B4FF!important;}
[data-theme="dark"] .dr-head{background:rgba(19,22,40,.85)!important;}
[data-theme="dark"] .dr-tbl-head{background:rgba(255,255,255,.04)!important;color:var(--mu)!important;}
[data-theme="dark"] .dr-kpi-lbl{color:var(--mu)!important;}
[data-theme="dark"] .dr-kpi-sub{color:var(--mu)!important;}

/* Painel: secoes por filial (Consumo/Concentracao/Preco) — mesmo recuo horizontal do .grid */
.dual-sec{margin:14px 32px 0;}
@media (max-width:900px){ .dual-grid{grid-template-columns:1fr !important;} .dual-sec{margin-left:16px;margin-right:16px;} }
@media (max-width:600px){ .dual-sec{margin:10px 14px 0;} }

/* ── Polimento de UI: molas, segmented control, count-up, skeleton ──────────── */
@media (prefers-reduced-motion: reduce){ *{ animation-duration:.001ms!important; transition-duration:.001ms!important; scroll-behavior:auto!important; } .seg-ind{transition:none!important;} }

/* Feedback de press (mola) em botoes-pilula */
.hp-btn{ transition: background .18s, color .18s, box-shadow .18s, transform .12s cubic-bezier(.34,1.5,.5,1)!important; }
.hp-btn:active, .seg>button:active{ transform: scale(.93); }

/* Card: hover sutil so em dispositivos com mouse */
@media (hover:hover){ .card{ transition: box-shadow .28s cubic-bezier(.2,.8,.2,1), transform .28s cubic-bezier(.2,.8,.2,1), border-color .2s; } .card:hover{ transform: translateY(-2px); box-shadow:0 10px 30px rgba(17,24,39,.10); } [data-theme="dark"] .card:hover{ box-shadow:0 10px 30px rgba(0,0,0,.42); } }

/* Segmented control (pilula deslizante) */
.seg{ position:relative; display:inline-flex; gap:2px; padding:3px; background:var(--s2); border-radius:99px; border:1px solid var(--glass-border); }
.seg>button{ position:relative; z-index:1; border:none!important; background:transparent!important; box-shadow:none!important; color:var(--mu); padding:4px 16px; border-radius:99px; font-size:11px; font-weight:600; cursor:pointer; font-family:inherit; transition:color .25s; white-space:nowrap; }
/* Botão ativo carrega o próprio fundo azul (mesma cor do .seg-ind): o estado
   visual fica correto mesmo se a medição JS do pill atrasar/falhar — o pill
   deslizante passa por baixo e "entrega" no mesmo lugar, sem emenda visível. */
.seg>button.hp-active{ color:#fff!important; background:var(--uc-blue)!important; border-color:transparent!important; box-shadow:none!important; transition:color .25s, background-color .15s .2s; }
.seg-ind{ position:absolute; top:3px; bottom:3px; left:0; width:0; border-radius:99px; background:var(--uc-blue); box-shadow:0 2px 10px rgba(27,63,160,.35); z-index:0; opacity:0; transition: transform .42s cubic-bezier(.34,1.25,.5,1), width .42s cubic-bezier(.34,1.25,.5,1), opacity .2s; }

.kv{ font-variant-numeric: tabular-nums; }

/* Skeleton shimmer (utilitario) */
.skel{ position:relative; overflow:hidden; background:var(--s2); border-radius:10px; }
.skel::after{ content:''; position:absolute; inset:0; transform:translateX(-100%); background:linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent); animation:skel-sweep 1.25s infinite; }
[data-theme="dark"] .skel::after{ background:linear-gradient(90deg, transparent, rgba(255,255,255,.07), transparent); }
@keyframes skel-sweep{ 100%{ transform:translateX(100%); } }
