/* BaremoPro — style.css */


:root{
  --bg:#f0f2f7;--surf:#ffffff;--surf2:#e8eaf0;--surf3:#d8dbe8;
  --brd:#ced2df;--brd2:#b4bace;
  --txt:#1a1e2e;--muted:#64748b;--muted2:#94a3b8;
  --acc:#1d6fdb;--acc2:#1558b0;
  --gold:#b8900a;--silv:#707070;--diam:#9b0060;--brnz:#7c3a0e;
  --red:#dc2626;--grn:#059669;--blu:#1d4ed8;--purp:#6d28d9;
  --grad:linear-gradient(135deg,#2b83f6,#1558b0);
}
[data-theme=light]{
  --bg:#f0f2f7;--surf:#ffffff;--surf2:#e8eaf0;--surf3:#d8dbe8;
  --brd:#ced2df;--brd2:#b4bace;
  --txt:#1a1e2e;--muted:#64748b;--muted2:#94a3b8;
  --acc:#1d6fdb;--acc2:#1558b0;
  --gold:#b8900a;--silv:#707070;--diam:#9b0060;--brnz:#7c3a0e;
  --red:#dc2626;--grn:#059669;--blu:#1d4ed8;--purp:#6d28d9;
  --grad:linear-gradient(135deg,#2b83f6,#1558b0);
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--txt);min-height:100vh;overflow-x:hidden;}
::-webkit-scrollbar{width:4px;height:4px;}
::-webkit-scrollbar-thumb{background:var(--brd2);border-radius:4px;}

/* ── LOGIN ── */
#loginScreen{
  display:flex;min-height:100vh;align-items:center;justify-content:center;
  background:radial-gradient(ellipse 70% 60% at 50% 0%,rgba(29,111,219,.08) 0%,transparent 70%),var(--bg);
}
.login-card{
  width:100%;max-width:400px;padding:2.5rem 2.2rem;
  background:var(--surf);border:1px solid var(--brd);border-radius:16px;
  box-shadow:0 0 60px rgba(29,111,219,.08);
  animation:cardIn .4s cubic-bezier(.34,1.56,.64,1);
}
@keyframes cardIn{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}
.lc-logo{text-align:center;margin-bottom:2rem;}
.lc-icon{width:52px;height:52px;background:var(--grad);border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 0 28px rgba(29,111,219,.45);margin-bottom:.8rem;}
.lc-title{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:4px;}
.lc-title span{color:var(--acc);}
.lc-sub{font-size:.75rem;color:var(--muted);margin-top:3px;}
.lc-divider{display:flex;align-items:center;gap:10px;margin:1.1rem 0;font-size:.68rem;color:var(--muted2);}
.lc-divider::before,.lc-divider::after{content:'';flex:1;height:1px;background:var(--brd);}
.lf{display:flex;flex-direction:column;gap:8px;margin-bottom:10px;}
.lf label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);}
.lfi{background:var(--surf2);border:1px solid var(--brd);border-radius:8px;padding:10px 13px;font-size:.85rem;color:var(--txt);font-family:'DM Sans',sans-serif;outline:none;width:100%;transition:border-color .2s;}
.lfi:focus{border-color:var(--acc);}
.lbtn{width:100%;padding:11px;border-radius:8px;font-size:.85rem;font-weight:700;cursor:pointer;border:none;font-family:'DM Sans',sans-serif;transition:all .18s;display:flex;align-items:center;justify-content:center;gap:8px;letter-spacing:.5px;}
.lbtn-p{background:var(--grad);color:#ffffff;margin-bottom:8px;}
.lbtn-p:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 18px rgba(29,111,219,.4);}
.lbtn-g{background:white;color:#1a1a1a;font-weight:700;}
.lbtn-g:hover{background:#f5f5f5;transform:translateY(-1px);}
.lerr{font-size:.73rem;color:var(--red);margin-top:6px;min-height:18px;text-align:center;}

/* ── APP ── */
#appScreen{display:none;}
header{background:var(--surf);border-bottom:1px solid var(--brd);padding:0 2rem;position:sticky;top:0;z-index:100;backdrop-filter:blur(12px);}
.hinner{max-width:1700px;margin:0 auto;display:flex;align-items:center;height:58px;gap:12px;}
.logo{display:flex;align-items:center;gap:9px;}
.logo-icon{width:32px;height:32px;background:var(--grad);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;box-shadow:0 0 18px rgba(29,111,219,.4);}
.logo-txt{font-family:'Bebas Neue',sans-serif;font-size:1.45rem;letter-spacing:3px;}
.logo-txt span{color:var(--acc);}
.hsp{flex:1;}
.badge{display:flex;align-items:center;gap:5px;background:var(--surf2);border:1px solid var(--brd);border-radius:6px;padding:4px 11px;font-size:.71rem;white-space:nowrap;}
.badge .bl{color:var(--muted);}
.badge .bv{font-family:'JetBrains Mono',monospace;font-weight:600;}
.badge .bv.purp{color:var(--purp);} .badge .bv.acc{color:var(--acc);}
.uinfo{display:flex;align-items:center;gap:6px;background:var(--surf2);border:1px solid var(--brd);border-radius:20px;padding:4px 12px 4px 7px;}
.uav{width:24px;height:24px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#ffffff;}
.uname{font-size:.72rem;font-weight:600;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.urole{font-size:.63rem;color:var(--muted);}
.btn{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:7px;font-size:.78rem;font-weight:600;cursor:pointer;border:none;font-family:'DM Sans',sans-serif;transition:all .18s;}
.btn-p{background:var(--grad);color:#ffffff;}
.btn-p:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 14px rgba(29,111,219,.35);}
.btn-g{background:var(--surf2);color:var(--txt);border:1px solid var(--brd);}
.btn-g:hover{border-color:var(--acc);color:var(--acc);}
.btn-out{background:transparent;color:var(--muted);border:1px solid var(--brd);}
.btn-out:hover{color:var(--red);border-color:var(--red);}
.btn-theme{background:var(--surf2);border:1px solid var(--brd);border-radius:7px;width:34px;height:34px;cursor:pointer;font-size:1rem;display:inline-flex;align-items:center;justify-content:center;transition:all .18s;flex-shrink:0;padding:0;line-height:1;}
.btn-theme:hover{border-color:var(--acc);transform:scale(1.08);}
.hdd{position:relative;display:flex;align-items:center;}
.hdd-btn{white-space:nowrap;}
.hdd-menu{display:none;position:absolute;top:100%;right:0;padding-top:8px;background:transparent;min-width:160px;z-index:500;}
.hdd-menu-inner{background:var(--surf);border:1px solid var(--brd);border-radius:9px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.35);}
.hdd:hover .hdd-menu{display:block;}
.hdd-item{padding:9px 14px;font-size:.78rem;font-weight:600;cursor:pointer;color:var(--txt);transition:background .12s;white-space:nowrap;}
.hdd-item:hover{background:var(--surf2);color:var(--acc);}

main{max-width:1700px;margin:0 auto;padding:1.5rem 2rem;}
.ibanner{display:none;padding:.7rem 1.1rem;border-radius:8px;font-size:.78rem;margin-bottom:1.1rem;align-items:center;gap:8px;flex-wrap:wrap;line-height:1.5;}
.ibanner.on{display:flex;}
.ibanner.loading{background:rgba(96,165,250,.07);border:1px solid rgba(96,165,250,.2);color:var(--blu);}
.ibanner.ok{background:rgba(16,185,129,.07);border:1px solid rgba(16,185,129,.2);color:var(--grn);}
.ibanner.err{background:rgba(239,68,68,.07);border:1px solid rgba(239,68,68,.2);color:var(--red);}
.ibanner.warn{background:rgba(29,111,219,.07);border:1px solid rgba(29,111,219,.2);color:var(--acc);}
.ibanner .ib-close{margin-left:auto;cursor:pointer;color:var(--muted);font-size:.9rem;line-height:1;}

.cycle-bar{background:var(--surf);border:1px solid var(--brd);border-radius:12px;padding:.9rem 1.4rem;margin-bottom:1.25rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;}
.ci{display:flex;flex-direction:column;gap:2px;}
.ci-lbl{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted);}
.ci-val{font-family:'JetBrains Mono',monospace;font-size:.88rem;font-weight:600;}
.ci-val.purp{color:var(--purp);}.ci-val.acc{color:var(--acc);}.ci-val.grn{color:var(--grn);}.ci-val.blu{color:var(--blu);}
.cy-div{width:1px;height:32px;background:var(--brd);}
.cy-prog{flex:1;min-width:180px;}
.cy-prog-bar{height:5px;background:var(--surf2);border-radius:3px;overflow:hidden;margin-top:5px;}
.cy-prog-fill{height:100%;background:linear-gradient(90deg,var(--acc),var(--acc2));border-radius:3px;transition:width .5s ease;}

/* Ciclo histórico — nav pills */
.cyc-btn{padding:3px 10px;border-radius:5px;font-size:.68rem;font-weight:600;cursor:pointer;border:1px solid var(--brd);background:var(--surf2);color:var(--muted);font-family:'DM Sans',sans-serif;transition:all .15s;white-space:nowrap;}
.cyc-btn:hover:not(.cyc-active){border-color:var(--purp);color:var(--purp);}
.cyc-btn.cyc-active{background:var(--purp);color:#fff;border-color:var(--purp);}
.tech-cyc-nav{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:.8rem;padding:.5rem .8rem;background:var(--surf);border:1px solid var(--brd);border-radius:8px;}
.tech-cyc-nav::before{content:'📅';font-size:.75rem;margin-right:2px;}

/* Sem produção — ponto vermelho + linha */
.no-prod-dot{color:var(--red);font-size:.55rem;vertical-align:middle;margin-left:4px;animation:blink 1.4s infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}

.last-import-badge{display:flex;align-items:center;gap:8px;margin-top:-.6rem;margin-bottom:1.25rem;padding:.45rem 1rem;background:var(--surf2);border:1px solid var(--brd);border-radius:7px;font-size:.7rem;width:fit-content;}
.li-lbl{color:var(--muted);}
.li-val{color:var(--grn);}

.ftabs{display:flex;gap:7px;margin-bottom:.6rem;flex-wrap:wrap;}
#supFilter{display:flex;gap:6px;margin-bottom:1.25rem;flex-wrap:wrap;align-items:center;padding:.5rem .8rem;background:var(--surf);border:1px solid var(--brd);border-radius:8px;}
.sfbtn{padding:4px 13px;border-radius:5px;font-size:.72rem;font-weight:600;cursor:pointer;border:1px solid var(--brd);background:var(--surf2);color:var(--muted);font-family:'DM Sans',sans-serif;transition:all .15s;white-space:nowrap;}
.sfbtn:hover:not(.sfactive){border-color:var(--acc);color:var(--acc);}
.sfbtn.sfactive{background:var(--acc);color:#ffffff;border-color:var(--acc);}
.tab{padding:5px 16px;border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;border:1px solid var(--brd);background:var(--surf);color:var(--muted);transition:all .18s;}
.tab.active{background:var(--acc);color:#ffffff;border-color:var(--acc);}
.tab:hover:not(.active){border-color:var(--acc);color:var(--acc);}

.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:.9rem;margin-bottom:1.25rem;}
.kpi{background:var(--surf);border:1px solid var(--brd);border-radius:11px;padding:1rem 1.15rem;position:relative;overflow:hidden;}
.kpi::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;border-radius:11px 11px 0 0;}
.kpi.ka::after{background:var(--acc);}.kpi.kb::after{background:var(--diam);}
.kpi.kg::after{background:var(--gold);}.kpi.ks::after{background:var(--silv);}
.kpi.kr::after{background:var(--red);}.kpi.kn::after{background:var(--grn);}
.kpi-lbl{font-size:.65rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:5px;}
.kpi-val{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:1px;line-height:1;}
.kpi.ka .kpi-val{color:var(--acc);}.kpi.kb .kpi-val{color:var(--diam);}
.kpi.kg .kpi-val{color:var(--gold);}.kpi.ks .kpi-val{color:var(--silv);}
.kpi.kr .kpi-val{color:var(--red);}.kpi.kn .kpi-val{color:var(--grn);}
.kpi-sub{font-size:.67rem;color:var(--muted2);margin-top:2px;}

.panels-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-bottom:1.25rem;}
@media(max-width:860px){.panels-row{grid-template-columns:1fr;}}
.panel{background:var(--surf);border:1px solid var(--brd);border-radius:11px;overflow:hidden;}
.ph{padding:.8rem 1.15rem;border-bottom:1px solid var(--brd);display:flex;align-items:center;justify-content:space-between;}
.ph-title{font-family:'Bebas Neue',sans-serif;font-size:.95rem;letter-spacing:2px;}
.ptag{font-size:.66rem;font-weight:700;padding:2px 8px;border-radius:4px;background:var(--surf2);color:var(--muted);border:1px solid var(--brd);}
.rank-list{padding:3px 0;}
.ri{display:flex;align-items:center;gap:9px;padding:8px 1.15rem;border-bottom:1px solid rgba(255,255,255,.03);cursor:pointer;transition:background .12s;}
.ri:last-child{border-bottom:none;}
.ri:hover{background:rgba(29,111,219,.04);}
.ri-pos{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;color:var(--muted2);min-width:22px;text-align:center;}
.ri-pos.p1{color:var(--gold);}.ri-pos.p2{color:var(--silv);}.ri-pos.p3{color:var(--brnz);}
.ri-info{flex:1;min-width:0;}
.ri-name{font-weight:600;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ri-sub{font-size:.67rem;color:var(--muted);}
.ri-score{font-family:'JetBrains Mono',monospace;font-size:.82rem;font-weight:600;color:var(--acc);text-align:right;}
.ri-score small{font-size:.6rem;color:var(--muted);display:block;}

.table-wrap{background:var(--surf);border:1px solid var(--brd);border-radius:11px;overflow:hidden;margin-bottom:1.5rem;}
.tbar{padding:.8rem 1.15rem;border-bottom:1px solid var(--brd);display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.tbar-title{font-family:'Bebas Neue',sans-serif;font-size:.95rem;letter-spacing:2px;}
.tbar-title span{color:var(--acc);}
.search{background:var(--surf2);border:1px solid var(--brd);border-radius:6px;padding:6px 11px;font-size:.78rem;color:var(--txt);font-family:'DM Sans',sans-serif;outline:none;width:180px;transition:border-color .2s;}
.search:focus{border-color:var(--acc);}
.search::placeholder{color:var(--muted2);}
.drop-zone{display:flex;align-items:center;gap:6px;padding:6px 13px;border-radius:7px;border:1px dashed rgba(96,165,250,.35);background:rgba(96,165,250,.05);color:var(--blu);font-size:.76rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;}
.drop-zone:hover,.drop-zone.dov{border-color:var(--blu);background:rgba(96,165,250,.12);}
#fileInput{display:none;}

table{width:100%;border-collapse:collapse;font-size:.78rem;}
thead tr{background:var(--surf2);border-bottom:2px solid var(--brd);}
th{padding:9px 11px;text-align:left;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted);white-space:nowrap;cursor:pointer;user-select:none;transition:color .18s;}
th.thc{text-align:center;}
th:hover{color:var(--acc);}
th.sa::after{content:' ↑';color:var(--acc);}th.sd::after{content:' ↓';color:var(--acc);}
tbody tr{border-bottom:1px solid rgba(255,255,255,.035);transition:background .1s;cursor:pointer;}
tbody tr:hover{background:rgba(29,111,219,.04);}
tbody tr:last-child{border-bottom:none;}
td{padding:10px 11px;white-space:nowrap;}
.tdn{font-weight:600;max-width:200px;overflow:hidden;text-overflow:ellipsis;}
.tdm{font-family:'JetBrains Mono',monospace;text-align:center;}
.tdg{color:var(--muted);}
.ind-chips{display:flex;align-items:center;gap:3px;flex-wrap:nowrap;justify-content:center;}
.ind-chip{font-size:.65rem;font-weight:700;padding:2px 0;border-radius:4px;font-family:'JetBrains Mono',monospace;width:44px;text-align:center;display:inline-block;}
.medal{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:20px;font-size:.68rem;font-weight:700;}
.md{background:rgba(199,21,133,.10);color:var(--diam);border:1px solid rgba(199,21,133,.30);}
.mg{background:rgba(255,215,0,.10);color:var(--gold);border:1px solid rgba(255,215,0,.30);}
.ms{background:rgba(192,192,192,.10);color:var(--silv);border:1px solid rgba(192,192,192,.30);}
.mn{background:rgba(239,68,68,.06);color:var(--red);border:1px solid rgba(239,68,68,.18);}
.prog{display:flex;align-items:center;gap:6px;min-width:110px;}
.prog-bar{flex:1;height:4px;background:var(--surf2);border-radius:3px;overflow:hidden;}
.prog-fill{height:100%;border-radius:3px;transition:width .4s;}
.pfd{background:var(--diam);}.pfg{background:var(--gold);}.pfs{background:var(--silv);}.pfn{background:var(--red);}
.prog-pct{font-family:'JetBrains Mono',monospace;font-size:.65rem;color:var(--muted);min-width:28px;text-align:right;}
.td-acts{display:flex;gap:4px;}
.ibtn{width:26px;height:26px;border-radius:5px;border:1px solid var(--brd);background:var(--surf2);color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.76rem;transition:all .18s;}
.ibtn:hover{border-color:var(--acc);color:var(--acc);background:rgba(29,111,219,.08);}
.empty{text-align:center;padding:2.5rem;color:var(--muted);font-size:.82rem;}

.overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:140;backdrop-filter:blur(3px);}
.overlay.on{display:block;}
.detail{position:fixed;right:-450px;top:0;bottom:0;width:430px;background:var(--surf);border-left:1px solid var(--brd);z-index:150;transition:right .26s cubic-bezier(.4,0,.2,1);overflow-y:auto;padding:1.4rem;}
.detail.on{right:0;}
.dclose{position:absolute;top:1rem;right:1rem;width:28px;height:28px;border-radius:6px;border:1px solid var(--brd);background:var(--surf2);color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.82rem;transition:all .18s;}
.dclose:hover{color:var(--red);border-color:var(--red);}
.dname{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:2px;margin-top:2rem;line-height:1.1;}
.dmeta{font-size:.72rem;color:var(--muted);margin-bottom:1.15rem;margin-top:3px;}
.dsec{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted2);margin:1rem 0 7px;}
.dstats{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:1rem;}
.dstat{background:var(--surf2);border:1px solid var(--brd);border-radius:8px;padding:9px 11px;}
.dsl{font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:3px;}
.dsv{font-family:'JetBrains Mono',monospace;font-size:1rem;font-weight:600;color:var(--acc);}
.daybar{display:flex;gap:5px;margin-bottom:1rem;}
.dbi{flex:1;background:var(--surf2);border:1px solid var(--brd);border-radius:7px;padding:7px 9px;text-align:center;}
.dbl{font-size:.6rem;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:3px;}
.dbv{font-family:'JetBrains Mono',monospace;font-size:.9rem;font-weight:600;}
.dbi.di .dbv{color:var(--acc);}.dbi.dm .dbv{color:var(--diam);}.dbi.ds .dbv{color:var(--grn);}
.mtar{background:var(--surf2);border:1px solid var(--brd);border-radius:8px;padding:9px 11px;margin-bottom:6px;display:flex;align-items:center;justify-content:space-between;}
.mtar-l{display:flex;align-items:center;gap:7px;}
.mtar-n{font-weight:600;font-size:.8rem;}
.mtar-s{font-size:.66rem;color:var(--muted);}
.mtar-p{font-family:'JetBrains Mono',monospace;font-size:.78rem;font-weight:600;}
.hist-hdr{display:flex;gap:7px;padding:4px 0;border-bottom:1px solid var(--brd);font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--muted2);}
.hist-hdr span:first-child{min-width:65px;}
.hist-item{display:flex;align-items:center;gap:7px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.04);}
.hdt{font-family:'JetBrains Mono',monospace;font-size:.66rem;color:var(--muted);min-width:65px;}
.hchips{flex:1;display:flex;gap:4px;flex-wrap:wrap;}
.hchip{font-size:.65rem;padding:2px 6px;border-radius:4px;background:var(--surf3);color:var(--muted);}
.hchip.src{background:rgba(96,165,250,.1);color:var(--blu);}
.htot{font-family:'JetBrains Mono',monospace;font-size:.75rem;font-weight:600;color:var(--txt);min-width:44px;text-align:right;}
.ind-chips{display:flex;align-items:center;gap:3px;flex-wrap:wrap;}
.ind-label{font-size:.58rem;font-weight:700;color:var(--muted2);text-transform:uppercase;letter-spacing:.5px;}
.ind-chip{font-size:.65rem;font-weight:700;padding:2px 5px;border-radius:4px;font-family:'JetBrains Mono',monospace;}
.ind-ok{background:rgba(16,185,129,.12);color:var(--grn);border:1px solid rgba(16,185,129,.25);}
.ind-ng{background:rgba(239,68,68,.10);color:var(--red);border:1px solid rgba(239,68,68,.22);}
.ind-nd{background:var(--surf3);color:var(--muted2);border:1px solid var(--brd);}

.mbg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:200;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
.mbg.on{display:flex;}
.modal{background:var(--surf);border:1px solid var(--brd);border-radius:14px;padding:1.6rem;width:90%;max-width:460px;animation:mIn .2s ease;}
@keyframes mIn{from{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1)}}
.mtitle{font-family:'Bebas Neue',sans-serif;font-size:1.25rem;letter-spacing:2px;color:var(--acc);margin-bottom:1.1rem;}
.fg{display:flex;flex-direction:column;gap:4px;margin-top:9px;}
.fg[hidden]{display:none;}
.fg label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);}
.fgr{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.fi,.fsel{background:var(--surf2);border:1px solid var(--brd);border-radius:6px;padding:8px 10px;font-size:.82rem;color:var(--txt);font-family:'DM Sans',sans-serif;outline:none;transition:border-color .18s;width:100%;}
.fi:focus,.fsel:focus{border-color:var(--acc);}
.fsel option{background:var(--surf2);}
.mact{display:flex;gap:7px;margin-top:1.1rem;justify-content:flex-end;}

/* ── User modal tabs ── */
.utab{flex:1;padding:.65rem 1rem;font-size:.78rem;font-weight:600;cursor:pointer;color:var(--muted);text-align:center;border-bottom:2px solid transparent;transition:all .18s;}
.utab:hover:not(.utab-active){color:var(--txt);}
.utab-active{color:var(--acc);border-bottom-color:var(--acc);}

/* ── User cards ── */
.ucard{display:flex;align-items:center;gap:10px;padding:.65rem .8rem;border-radius:9px;border:1px solid var(--brd);background:var(--surf2);margin-bottom:7px;transition:border-color .15s;}
.ucard:hover{border-color:var(--brd2);}
.ucard-av{width:32px;height:32px;border-radius:50%;background:var(--surf3);border:1px solid var(--brd);display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0;}
.ucard-body{flex:1;min-width:0;}
.ucard-name{font-weight:600;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ucard-meta{display:flex;align-items:center;gap:5px;margin-top:2px;flex-wrap:wrap;}
.utag{font-size:.62rem;font-weight:700;padding:2px 7px;border-radius:10px;}
.utag-tech{background:rgba(29,111,219,.1);color:var(--acc);border:1px solid rgba(29,111,219,.25);}
.utag-view{background:rgba(96,165,250,.1);color:var(--blu);border:1px solid rgba(96,165,250,.25);}
.utag-admin{background:rgba(199,21,133,.1);color:var(--diam);border:1px solid rgba(199,21,133,.25);}
.utag-sup{background:rgba(16,185,129,.1);color:var(--grn);border:1px solid rgba(16,185,129,.25);}
.ucard-login{font-size:.68rem;color:var(--muted);font-family:'JetBrains Mono',monospace;}
.ucard-link{font-size:.67rem;color:var(--grn);}
.ubtn-del{width:28px;height:28px;border-radius:6px;border:1px solid var(--brd);background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.76rem;flex-shrink:0;transition:all .18s;}
.ubtn-del:hover{border-color:var(--red);color:var(--red);background:rgba(239,68,68,.07);}
.u-empty{color:var(--muted);font-size:.8rem;text-align:center;padding:2rem 0;}

/* ── Calendar modal ── */
.cal-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:7px;border:1px solid var(--brd);background:var(--surf2);margin-bottom:5px;}
.cal-date{font-family:'JetBrains Mono',monospace;font-size:.72rem;font-weight:600;color:var(--txt);min-width:60px;flex-shrink:0;}
.cal-desc{flex:1;font-size:.74rem;color:var(--muted);}
.cal-label{font-size:.7rem;color:var(--muted);}
.cal-badge-work{font-size:.62rem;font-weight:700;padding:2px 7px;border-radius:10px;background:rgba(16,185,129,.12);color:var(--grn);border:1px solid rgba(16,185,129,.25);}
.cal-badge-off{font-size:.62rem;font-weight:700;padding:2px 7px;border-radius:10px;background:var(--surf3);color:var(--muted);border:1px solid var(--brd);}
.cal-del{width:22px;height:22px;border-radius:5px;border:1px solid var(--brd);background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.68rem;flex-shrink:0;transition:all .15s;}
.cal-del:hover{border-color:var(--red);color:var(--red);background:rgba(239,68,68,.07);}
.cal-toggle{font-size:.68rem;font-weight:600;padding:3px 9px;border-radius:6px;border:1px solid var(--brd);background:var(--surf3);color:var(--muted);cursor:pointer;white-space:nowrap;transition:all .15s;flex-shrink:0;}
.cal-toggle:hover{border-color:var(--grn);color:var(--grn);}
.cal-toggle.active{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.3);color:var(--grn);}
.cal-empty{font-size:.76rem;color:var(--muted);padding:.4rem 0;}

.twrap{position:fixed;bottom:1.1rem;right:1.1rem;z-index:300;display:flex;flex-direction:column;gap:6px;}
.toast{background:var(--surf2);border:1px solid var(--brd);border-left:3px solid var(--grn);border-radius:8px;padding:9px 13px;font-size:.78rem;min-width:210px;animation:tIn .22s ease;box-shadow:0 6px 22px rgba(0,0,0,.45);}
.toast.err{border-left-color:var(--red);}.toast.warn{border-left-color:var(--acc);}
@keyframes tIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;}}
/* ── Alert panel ── */
.alrt-hdr{font-size:.72rem;font-weight:700;color:var(--txt);display:flex;align-items:center;gap:7px;padding:.7rem 1.1rem .5rem;background:var(--surf);border:1px solid rgba(239,68,68,.3);border-radius:11px 11px 0 0;border-bottom:none;}
.alrt-count{background:var(--red);color:#fff;font-size:.62rem;font-weight:700;padding:1px 6px;border-radius:10px;}
.alrt-body{background:var(--surf);border:1px solid rgba(239,68,68,.2);border-top:none;border-radius:0 0 11px 11px;padding:.6rem 1.1rem .8rem;}
.alrt-sec{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:5px;}
.alrt-list{display:flex;flex-direction:column;gap:3px;}
.alrt-item{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;background:var(--surf2);border:1px solid var(--brd);cursor:pointer;transition:border-color .12s;}
.alrt-item:hover{border-color:var(--acc);}
.alrt-name{font-size:.75rem;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.alrt-sup{font-size:.68rem;color:var(--muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.alrt-pts{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--red);font-weight:600;white-space:nowrap;}
.alrt-more{font-size:.67rem;color:var(--muted);text-align:center;padding:3px 0;}

/* ── Detail chart ── */
.det-chart{background:var(--surf2);border:1px solid var(--brd);border-radius:8px;padding:.6rem .8rem .4rem;margin-bottom:.8rem;position:relative;}
.chart-bar-g{cursor:pointer;}
.chart-bar-g:hover rect{opacity:1;filter:brightness(1.25);}
.chart-tip{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);background:var(--surf);border:1px solid var(--brd);border-radius:6px;padding:5px 10px;font-size:.75rem;font-weight:600;color:var(--txt);white-space:nowrap;z-index:50;box-shadow:0 4px 12px rgba(0,0,0,.3);pointer-events:none;}

/* ── User edit panel ── */
.ubtn-edit{width:28px;height:28px;border-radius:6px;border:1px solid var(--brd);background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.76rem;flex-shrink:0;transition:all .18s;}
.ubtn-edit:hover{border-color:var(--acc);color:var(--acc);background:rgba(29,111,219,.07);}
.uedit-panel{background:var(--surf3);border:1px solid var(--brd);border-top:none;border-radius:0 0 9px 9px;padding:.7rem .8rem .8rem;margin-bottom:7px;}

/* ── Mobile responsive ── */
@media(max-width:700px){
  main{padding:.75rem;}
  header{padding:0 .75rem;}
  .hinner{gap:6px;height:52px;}
  .badge{display:none;}
  .uname{max-width:72px;}
  .btn{padding:5px 9px;font-size:.72rem;}
  .btn-theme{width:30px;height:30px;}
  .kpi-grid{grid-template-columns:repeat(2,1fr);}
  .detail{width:100%;right:-100%;}
  .panels-row{grid-template-columns:1fr;}
  .tbar{gap:6px;}
  .search{width:130px;}
  .drop-zone{display:none;}
  table{font-size:.7rem;}
  td,th{padding:7px 6px;}
  .tdg{display:none;}
  .prog{min-width:70px;}
  .cycle-bar{gap:.8rem;padding:.7rem 1rem;}
  #supFilter{padding:.4rem .6rem;gap:4px;}
  .tab{padding:4px 10px;font-size:.72rem;}
}
@media(max-width:480px){
  .hinner{flex-wrap:nowrap;}
  .uinfo{display:none;}
  .logo-txt{font-size:1.1rem;}
  th:nth-child(n+4):nth-child(-n+6){display:none;}
  td:nth-child(n+4):nth-child(-n+6){display:none;}
  #techScreen .hinner{flex-wrap:wrap;height:auto;padding:.5rem 0;gap:6px;}
  #techScreen .badge{flex-shrink:1;min-width:0;}
}

/* ── Tech import badge ── */
.td-import-badge{font-size:.7rem;color:var(--muted);background:var(--surf2);border:1px solid var(--brd);border-radius:7px;padding:.35rem .85rem;display:inline-flex;align-items:center;gap:5px;margin-bottom:.2rem;}

/* ── TECH DASHBOARD ── */
.tech-dash{display:flex;flex-direction:column;gap:1.1rem;}
.td-hero{background:var(--surf);border:1px solid var(--brd);border-radius:12px;padding:1.2rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.td-name{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;letter-spacing:2px;}
.td-meta{font-size:.72rem;color:var(--muted);margin-top:2px;}
.td-rank-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surf2);border:1px solid var(--brd);border-radius:12px;padding:.7rem 1.2rem;min-width:80px;text-align:center;flex-shrink:0;}
.td-rank-num{font-family:'Bebas Neue',sans-serif;font-size:2.8rem;color:var(--acc);line-height:1;}
.td-rank-trend{margin:2px 0;}
.td-rank-lbl{font-size:.6rem;color:var(--muted);white-space:nowrap;}
/* Streak glow na tabela do coordenador */
.tbl-streak-glow{display:inline-flex;margin-left:5px;font-size:.9rem;vertical-align:middle;animation:fireRise 1.8s ease-in-out infinite;}
.tbl-fire-gold{filter:drop-shadow(0 0 5px #facc15) drop-shadow(0 0 10px rgba(250,204,21,.6));}
.tbl-fire-orange{filter:drop-shadow(0 0 5px #f97316) drop-shadow(0 0 10px rgba(249,115,22,.6));}
.tbl-fire-red{filter:drop-shadow(0 0 5px #ef4444) drop-shadow(0 0 10px rgba(239,68,68,.6));}
.tbl-fire-pink{filter:drop-shadow(0 0 5px #ec4899) drop-shadow(0 0 10px rgba(236,72,153,.6));}
.tbl-fire-purple{filter:drop-shadow(0 0 5px #8b5cf6) drop-shadow(0 0 10px rgba(139,92,246,.6));}
.tbl-fire-green{filter:drop-shadow(0 0 5px #22c55e) drop-shadow(0 0 10px rgba(34,197,94,.6));}
.tbl-fire-blue{filter:drop-shadow(0 0 5px #2563eb) drop-shadow(0 0 14px #38bdf8) drop-shadow(0 0 22px rgba(56,189,248,.5));}
@media(max-width:600px){
  header{padding:0 1rem;}
  #techScreen .hinner{gap:6px;flex-wrap:wrap;height:auto;min-height:58px;padding:.4rem 0;}
  #techScreen .hsp{display:none;}
  #techScreen .uinfo{display:none;}
}
.td-pos-trend{font-size:.78rem;font-weight:700;}
.td-pos-num{font-family:'Bebas Neue',sans-serif;font-size:2.5rem;color:var(--acc);line-height:1;display:block;}
.td-pos-lbl{font-size:.65rem;color:var(--muted);}
.td-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;}
@media(max-width:600px){.td-kpis{grid-template-columns:repeat(2,1fr);}}
.td-kpi{background:var(--surf);border:1px solid var(--brd);border-radius:10px;padding:.9rem 1rem;}
.td-kl{font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:4px;}
.td-kv{font-family:'Bebas Neue',sans-serif;font-size:2rem;line-height:1;}
.td-kv.acc{color:var(--acc);}.td-kv.blu{color:var(--blu);}.td-kv.grn{color:var(--grn);}
.td-kv.diam{color:var(--diam);}.td-kv.gld{color:var(--gold);}.td-kv.slv{color:var(--silv);}.td-kv.red{color:var(--red);}.td-kv.purp{color:var(--purp);}
.td-ks{font-size:.63rem;color:var(--muted);margin-top:2px;}
.td-medal-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;}
@media(max-width:600px){.td-medal-row{grid-template-columns:1fr;}}
.td-medal-card{background:var(--surf);border:1px solid var(--brd);border-radius:10px;padding:1rem;}
.td-mc-top{display:flex;align-items:center;gap:7px;margin-bottom:.7rem;}
.td-mc-nm{font-weight:700;font-size:.88rem;}
.td-mc-meta{font-size:.65rem;color:var(--muted);margin-left:auto;}
.td-mc-ok{font-size:.82rem;font-weight:700;color:var(--grn);}
.td-mc-bar-wrap{height:5px;background:var(--surf2);border-radius:3px;overflow:hidden;margin-bottom:5px;}
.td-mc-bar{height:100%;border-radius:3px;transition:width .5s;}
.td-mc-bar.diam{background:var(--diam);}.td-mc-bar.gld{background:var(--gold);}.td-mc-bar.slv{background:var(--silv);}
.td-mc-info{font-size:.68rem;color:var(--muted);}
.td-section{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted2);padding:.5rem 0 .3rem;}
.td-panels{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;}
@media(max-width:600px){.td-panels{grid-template-columns:1fr;}}
.td-panel{background:var(--surf);border:1px solid var(--brd);border-radius:10px;overflow:hidden;}
.td-me{background:rgba(29,111,219,.07)!important;}
.td-goals{background:var(--surf);border:1px solid var(--brd);border-radius:10px;overflow:hidden;margin-bottom:.2rem;}
.td-goal-row{display:flex;align-items:center;gap:10px;padding:9px 1.1rem;border-bottom:1px solid var(--brd);}
.td-goal-row:last-child{border-bottom:none;}
.td-goal-ic{font-size:1.2rem;width:24px;text-align:center;flex-shrink:0;}
.td-goal-nm{font-size:.78rem;font-weight:600;min-width:70px;}
.td-goal-val{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;margin-left:auto;line-height:1;}
.td-goal-ok{margin-left:auto;font-size:.78rem;font-weight:700;color:var(--grn);}

/* ── USER ROWS ── */
.urow{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--brd);}
.urow:last-child{border-bottom:none;}
.urow-name{font-weight:600;font-size:.82rem;}
.urow-meta{font-size:.68rem;color:var(--muted);}
.urow-info{flex:1;}
