/* 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;position:relative;overflow:hidden;}
.cy-prog-fill::after{content:'';position:absolute;top:0;left:-60%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:progressShimmer 1.8s ease-in-out infinite;border-radius:3px;}
@keyframes progressShimmer{0%{left:-60%;}100%{left:120%;}}

/* 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: flex; flex-direction: column; gap: 0.6rem; margin-bottom: 1.25rem; }
.kpi-row { display: grid; grid-template-columns: repeat(6, 1fr); gap: 0.6rem; }
.kpi { background: var(--surf); border: 1px solid var(--brd); border-radius: 8px; padding: 0.6rem 0.8rem; position: relative; overflow: hidden; transition: all 0.25s ease; }
.kpi:hover { transform: translateY(-3px); box-shadow: 0 6px 15px rgba(0,0,0,0.04); border-color: var(--brd2); }
.kpi::after { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; border-radius: 8px 8px 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: 0.6rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: 0.8px; margin-bottom: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kpi-val { font-family: 'Bebas Neue', sans-serif; font-size: 1.5rem; 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: 0.6rem; color: var(--muted2); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

@media(max-width: 1200px) { .kpi-row { grid-template-columns: repeat(3, 1fr); } }
@media(max-width: 600px) { .kpi-row { grid-template-columns: repeat(2, 1fr); } }

.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;}
td:has(.tdn){overflow:visible;}
.tdn{font-weight:600;max-width:200px;}
.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;
  white-space: nowrap; /* ⬅️ Isso impede o ícone e o texto de quebrarem em duas linhas */
  line-height: 1;      /* Mantém a altura da etiqueta super fina */
}
.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 Histórico Cidade */
.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:400px;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;}
/* Modo Largo para o Painel da Cidade */
.detail.wide {
  width: 92vw;
  max-width: 800px;
  right: -120vw;
  transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.detail.wide.on {
  right: 0;
}
.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;}
/* ── Correção de Alinhamento e Tamanho das Caixas de Histórico ── */
.hist-item { display: flex; align-items: center; justify-content: space-between; gap: 4px; padding: 6px 0; border-bottom: 1px solid rgba(0,0,0,.04); }
.hdt { font-family: 'JetBrains Mono', monospace; font-size: .65rem; color: var(--muted); width: 68px; flex-shrink: 0; }
.hchips { flex: 1; display: flex; gap: 5px; justify-content: center; }

/* Chips menores, elegantes e com largura fixa */
.hchip { 
  width: 40px; 
  text-align: center; 
  font-size: .65rem; 
  padding: 3px 0; 
  border-radius: 5px; 
  background: var(--surf3); 
  color: var(--muted); 
  flex-shrink: 1; 
  font-family: 'JetBrains Mono', monospace; 
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.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); width: 80px; text-align: right; flex-shrink: 0; display: flex; justify-content: flex-end; align-items: center; }

/* Encolhe proporcionalmente em celulares para não quebrar a linha */
@media(max-width: 420px) {
  .hdt { width: 58px; font-size: .6rem; }
  .hchip { width: 33px; font-size: .6rem; padding: 2px 0; border-radius: 4px; }
  .hchips { gap: 3px; }
  
  /* Aumentamos a largura para 76px para caber a palavra "Diamante" perfeitamente */
  .htot { width: 76px; font-size: .65rem; }
  .htot .medal { font-size: .52rem !important; padding: 3px 5px !important; gap: 3px; }
}

.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 edit panel & Tabs ── */
.utab { flex: 1; padding: .6rem 1rem; font-size: .75rem; font-weight: 700; cursor: pointer; color: var(--muted); text-align: center; border-radius: 8px; transition: all .2s ease; background: transparent; border: none; }
.utab:hover:not(.utab-active) { color: var(--txt); background: var(--surf2); }
.utab-active { background: var(--surf); color: var(--acc); box-shadow: 0 2px 6px rgba(0,0,0,.04); }

/* ── Modern User Cards ── */
.ucard { display: flex; align-items: center; gap: 12px; padding: .8rem 1rem; border-radius: 12px; border: 1px solid var(--brd); background: var(--surf); margin-bottom: 8px; transition: all .2s ease; box-shadow: 0 2px 4px rgba(0,0,0,.01); }
.ucard:hover { border-color: rgba(29,111,219,.3); box-shadow: 0 4px 12px rgba(29,111,219,.06); transform: translateY(-1px); }

.ucard-av { width: 38px; height: 38px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; flex-shrink: 0; }
.uav-admin { background: rgba(199,21,133,.08); border: 1px solid rgba(199,21,133,.2); }
.uav-sup { background: rgba(16,185,129,.08); border: 1px solid rgba(16,185,129,.2); }
.uav-tech { background: rgba(29,111,219,.08); border: 1px solid rgba(29,111,219,.2); }

.ucard-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.ucard-name { font-weight: 700; font-size: .85rem; color: var(--txt); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.1; }
.ucard-meta { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }

.utag { font-size: .6rem; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; padding: 2px 7px; border-radius: 6px; }
.utag-admin { background: rgba(199,21,133,.1); color: var(--diam); }
.utag-sup { background: rgba(16,185,129,.1); color: var(--grn); }
.utag-tech { background: rgba(29,111,219,.1); color: var(--acc); }

.ucard-login { font-size: .65rem; color: var(--muted); font-family: 'JetBrains Mono', monospace; background: var(--surf2); padding: 2px 6px; border-radius: 4px; }
.ucard-link { font-size: .65rem; color: var(--acc); font-weight: 600; display: flex; align-items: center; gap: 3px; }

.ubtn-edit, .ubtn-del { width: 30px; height: 30px; border-radius: 8px; border: 1px solid var(--brd); background: var(--surf2); color: var(--muted); cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: .8rem; transition: all .2s; }
.ubtn-edit:hover { border-color: var(--acc); color: var(--acc); background: rgba(29,111,219,.08); }
.ubtn-del:hover { border-color: var(--red); color: var(--red); background: rgba(239,68,68,.08); }

.uedit-panel { background: var(--surf2); border: 1px dashed var(--brd); border-top: none; border-radius: 0 0 12px 12px; padding: 1rem; margin-bottom: 8px; margin-top: -12px; padding-top: 1.2rem; box-shadow: inset 0 2px 4px rgba(0,0,0,.02); }
.u-empty { color: var(--muted); font-size: .8rem; text-align: center; padding: 3rem 0; font-weight: 600; }

/* ── 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;}
  /* A LINHA DO .kpi-grid FOI REMOVIDA DAQUI */
  .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: Rebarba Minimalista com Espelho Rápido ── */
.tdn {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  margin: -3px 0;
  
  /* Removemos à força qualquer borda ou sombra antiga */
  border: none !important; 
  box-shadow: none !important; 
  
  border-radius: 0 4px 4px 0; /* Arredonda só o lado direito */
  overflow: hidden; 
}

.tdn .tdn-txt {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  position: relative;
  font-weight: 600;
  color: var(--txt);
  z-index: 2;
}

/* Apenas a Rebarba lateral sólida (Fundo Transparente) */
.tdn[class*=" streak-"] {
  border-left: 3px solid var(--str-c) !important;
  background: transparent !important;
}

/* Definição das Cores */
.tdn.streak-gold   { --str-c: #facc15; --str-bg: rgba(250, 204, 21, 0.4); }
.tdn.streak-orange { --str-c: #f97316; --str-bg: rgba(249, 115, 22, 0.4); }
.tdn.streak-red    { --str-c: #ef4444; --str-bg: rgba(239, 68, 68, 0.4); }
.tdn.streak-pink   { --str-c: #ec4899; --str-bg: rgba(236, 72, 153, 0.4); }
.tdn.streak-purple { --str-c: #8b5cf6; --str-bg: rgba(139, 92, 246, 0.4); }
.tdn.streak-green  { --str-c: #22c55e; --str-bg: rgba(34, 197, 94, 0.4); }
.tdn.streak-blue   { --str-c: #38bdf8; --str-bg: rgba(56, 189, 248, 0.4); }

/* O Efeito de Espelho (1 segundo) */
.tdn[class*=" streak-"]::after {
  content: '';
  position: absolute;
  top: 0; left: -100%; width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.65), transparent);
  transform: skewX(-20deg);
  /* Brilho frenético cravado em 1s, movimento constante */
  animation: mirrorShine 1s infinite linear;
  pointer-events: none;
  z-index: 1;
}

@keyframes mirrorShine {
  0%   { left: -100%; }
  100% { left: 200%; }
}

/* Cores do gradiente rotativo para cada nível */
.tdn.streak-gold   { --streak-grad: conic-gradient(from 0deg, transparent 70%, rgba(250,204,21,1) 100%); }
.tdn.streak-orange { --streak-grad: conic-gradient(from 0deg, transparent 70%, rgba(249,115,22,1) 100%); }
.tdn.streak-red    { --streak-grad: conic-gradient(from 0deg, transparent 70%, rgba(239,68,68,1) 100%); }
.tdn.streak-pink   { --streak-grad: conic-gradient(from 0deg, transparent 70%, rgba(236,72,153,1) 100%); }
.tdn.streak-purple { --streak-grad: conic-gradient(from 0deg, transparent 70%, rgba(139,92,246,1) 100%); }
.tdn.streak-green  { --streak-grad: conic-gradient(from 0deg, transparent 70%, rgba(34,197,94,1) 100%); }

/* O azul gira um pouco mais rápido para destacar quem está invicto há mais tempo */
.tdn.streak-blue   {
  --streak-grad: conic-gradient(from 0deg, transparent 65%, rgba(56,189,248,1) 100%);
}
.tdn.streak-blue::before {
  animation-duration: 2.5s;
}
.tdn.streak-blue .tdn-txt {
  text-shadow: 0 0 10px rgba(56,189,248,.3);
}

/* ── Cores por nível de streak ── */
.tdn.streak-gold  {--streak-glow:0 0 0 2px rgba(250,204,21,.45),0 0 8px 4px rgba(250,204,21,.55);}
.tdn.streak-orange{--streak-glow:0 0 0 2px rgba(249,115,22,.45),0 0 8px 4px rgba(249,115,22,.6);}
.tdn.streak-red   {--streak-glow:0 0 0 2px rgba(239,68,68,.5),  0 0 10px 4px rgba(239,68,68,.65);}
.tdn.streak-pink  {--streak-glow:0 0 0 2px rgba(236,72,153,.5), 0 0 10px 4px rgba(236,72,153,.65);}
.tdn.streak-purple{--streak-glow:0 0 0 2px rgba(139,92,246,.55),0 0 10px 5px rgba(139,92,246,.7);}
.tdn.streak-green {--streak-glow:0 0 0 2px rgba(34,197,94,.55), 0 0 10px 5px rgba(34,197,94,.7);}
.tdn.streak-blue  {
  --streak-glow:0 0 0 2px rgba(56,189,248,.65),0 0 14px 6px rgba(56,189,248,.75),0 0 26px 8px rgba(37,99,235,.45);
  animation-duration:1.1s;
  animation-name:streakGlowPulseBlue;
}

/* Blue (≥8 dias) também pulsa o text-shadow */
@keyframes streakGlowPulseBlue{
  0%,100%{box-shadow:none;text-shadow:none;}
  50%    {box-shadow:var(--streak-glow);text-shadow:0 0 8px rgba(56,189,248,.85);}
}
@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;}

/* ── Carteira do Técnico ─────────────────────────────────── */
.cw-card{display:flex;flex-direction:column;gap:.75rem;}
.cw-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.1rem;}
.cw-logo{height:28px;object-fit:contain;}
.cw-badge-tipo{font-size:.65rem;font-weight:700;padding:3px 10px;border-radius:20px;background:var(--surf2);border:1px solid var(--brd2);color:var(--acc);letter-spacing:.4px;text-transform:uppercase;}
.cw-name{font-family:'Bebas Neue',sans-serif;font-size:1.55rem;letter-spacing:1.2px;color:var(--txt);line-height:1.1;margin-top:-.15rem;}
.cw-mat{font-size:.7rem;color:var(--muted);font-family:'JetBrains Mono',monospace;margin-top:-.3rem;}
.cw-mat span{color:var(--acc);font-weight:700;}
.cw-info-row{display:flex;gap:.75rem;margin-top:.1rem;}
.cw-info-item{flex:1;background:var(--surf2);border:1px solid var(--brd);border-radius:8px;padding:.5rem .75rem;}
.cw-il{font-size:.6rem;color:var(--muted);text-transform:uppercase;letter-spacing:.7px;font-weight:700;margin-bottom:2px;}
.cw-iv{font-size:.78rem;font-weight:600;color:var(--txt);}
.cw-section{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);padding:.3rem 0 .1rem;border-top:1px solid var(--brd);margin-top:.3rem;}
.cw-stats-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;}
.cw-stat{background:var(--surf2);border:1px solid var(--brd);border-radius:8px;padding:.5rem .75rem;}
.cw-sl{font-size:.6rem;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-weight:700;margin-bottom:2px;}
.cw-sv{font-size:.9rem;font-weight:700;color:var(--txt);}
.cw-sv.acc{color:var(--acc);}
.cw-sv.blu{color:var(--blu);}
.cw-sv.grn{color:var(--grn);}
.cw-ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.3rem;}
.cw-ind-item{background:var(--surf2);border:1px solid var(--brd);border-radius:8px;padding:.5rem .6rem;text-align:center;}
.cw-ind-lbl{font-size:.55rem;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:700;margin-bottom:3px;line-height:1.2;}
.cw-ind-val{font-size:1rem;font-weight:800;font-family:'JetBrains Mono',monospace;}
.cw-ind-meta{font-size:.58rem;color:var(--muted);margin-top:2px;}

/* ── Efeito Glass no Tracker de Importações ── */
.trk-sq {
  position: relative;
  width: 26px; height: 26px;
  border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
  font-family: 'JetBrains Mono', monospace; font-size: .7rem; font-weight: 700;
  cursor: default; transition: all 0.2s;
  overflow: hidden; 
}

/* Vidro Azul (Instalação - Sucesso) */
.trk-sq.glass-inst {
  background: linear-gradient(135deg, rgba(29, 111, 219, 0.15), rgba(29, 111, 219, 0.04));
  color: var(--acc);
  border: 1px solid rgba(29, 111, 219, 0.35);
  box-shadow: 0 2px 6px rgba(29, 111, 219, 0.08);
  backdrop-filter: blur(4px);
}

/* Vidro Roxo (Reparo - Sucesso) */
.trk-sq.glass-rep {
  background: linear-gradient(135deg, rgba(155, 0, 96, 0.15), rgba(155, 0, 96, 0.04));
  color: var(--diam);
  border: 1px solid rgba(155, 0, 96, 0.35);
  box-shadow: 0 2px 6px rgba(155, 0, 96, 0.08);
  backdrop-filter: blur(4px);
}

/* Vidro Vinho (Pendente / Em falta) */
.trk-sq.glass-pend {
  background: linear-gradient(135deg, rgba(145, 15, 60, 0.15), rgba(145, 15, 60, 0.04));
  color: #c91b52;
  border: 1px solid rgba(145, 15, 60, 0.35);
  box-shadow: 0 2px 6px rgba(145, 15, 60, 0.08);
  backdrop-filter: blur(4px);
}

/* Vidro Verde (Hoje / Em andamento) */
.trk-sq.glass-today {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.15), rgba(16, 185, 129, 0.04));
  color: var(--grn);
  border: 1px solid rgba(16, 185, 129, 0.35);
  box-shadow: 0 2px 6px rgba(16, 185, 129, 0.08);
  backdrop-filter: blur(4px);
}

/* O reflexo de luz animado (passa a cada 4 segundos em todos os vidros) */
.trk-sq.glass-inst::after, .trk-sq.glass-rep::after, .trk-sq.glass-pend::after, .trk-sq.glass-today::after {
  content: '';
  position: absolute;
  top: 0; left: -100%; width: 50%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.6), transparent);
  transform: skewX(-20deg);
  animation: trkShine 4s infinite;
  pointer-events: none;
}

@keyframes trkShine {
  0% { left: -100%; }
  15% { left: 200%; }
  100% { left: 200%; }
}

/* ── Badge de Conquista (Streak na Dashboard) ── */
.td-streak-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  padding: 5px 12px 5px 8px;
  border-radius: 20px;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .3px;
  box-shadow: 0 2px 8px rgba(0,0,0,.02);
}

/* Animação suave para o ícone */
.td-streak-badge .s-icon {
  font-size: .95rem;
  animation: floatFire 2.5s ease-in-out infinite;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.15));
}

@keyframes floatFire {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-1.5px) scale(1.08); }
}

/* Tipografia de destaque para o número de dias */
.td-streak-badge b {
  font-weight: 800;
  font-family: 'JetBrains Mono', monospace;
  font-size: .75rem;
}

/* Cores padronizadas e suaves para cada nível */
.td-streak-badge.streak-gold   { background: rgba(250, 204, 21, 0.12); border: 1px solid rgba(250, 204, 21, 0.3); color: #b48500; }
.td-streak-badge.streak-orange { background: rgba(249, 115, 22, 0.12); border: 1px solid rgba(249, 115, 22, 0.3); color: #c2410c; }
.td-streak-badge.streak-red    { background: rgba(239, 68, 68, 0.12); border: 1px solid rgba(239, 68, 68, 0.3); color: #b91c1c; }
.td-streak-badge.streak-pink   { background: rgba(236, 72, 153, 0.12); border: 1px solid rgba(236, 72, 153, 0.3); color: #be185d; }
.td-streak-badge.streak-purple { background: rgba(139, 92, 246, 0.12); border: 1px solid rgba(139, 92, 246, 0.3); color: #6d28d9; }
.td-streak-badge.streak-green  { background: rgba(34, 197, 94, 0.12); border: 1px solid rgba(34, 197, 94, 0.3); color: #15803d; }
.td-streak-badge.streak-blue   { background: rgba(56, 189, 248, 0.12); border: 1px solid rgba(56, 189, 248, 0.3); color: #0369a1; }

