*{box-sizing:border-box;margin:0;padding:0;}
:root{
--red:#ffffff;--red2:#ffffff;--red3:#d4d4d4;--red-bg:rgba(255,255,255,0.10);--red-bdr:rgba(255,255,255,0.26);
--green:#eaeaea;--green-bg:rgba(255,255,255,0.07);--green-bdr:rgba(255,255,255,0.18);
--yellow:#c4c4c4;--yellow-bg:rgba(255,255,255,0.06);--yellow-bdr:rgba(255,255,255,0.16);
--orange:#9a9a9a;--orange-bg:rgba(255,255,255,0.05);--orange-bdr:rgba(255,255,255,0.14);
--blue:#cfcfcf;--blue-bg:rgba(255,255,255,0.06);--blue-bdr:rgba(255,255,255,0.16);
--teal:#bdbdbd;--teal-bg:rgba(255,255,255,0.06);
/* PRETO E BRANCO — tema escuro (padrão) */
--dark:#0b0b0c;--dark2:#111113;--dark3:#17171a;--dark4:#202024;--dark5:#2b2b31;
--bdr:rgba(255,255,255,0.07);--bdr2:rgba(255,255,255,0.12);--bdr3:rgba(255,255,255,0.22);
--t1:#f3f3f1;--t2:#9e9a9a;--t3:#605a5a;
}
/* TEMA CLARO */
[data-theme="light"]{
--red:#111111;--red2:#111111;--red3:#444444;--red-bg:rgba(0,0,0,0.06);--red-bdr:rgba(0,0,0,0.22);
--green:#222222;--green-bg:rgba(0,0,0,0.05);--green-bdr:rgba(0,0,0,0.16);
--yellow:#555555;--yellow-bg:rgba(0,0,0,0.05);--yellow-bdr:rgba(0,0,0,0.14);
--orange:#777777;--orange-bg:rgba(0,0,0,0.05);--orange-bdr:rgba(0,0,0,0.14);
--blue:#444444;--blue-bg:rgba(0,0,0,0.05);--blue-bdr:rgba(0,0,0,0.14);
--teal:#555555;--teal-bg:rgba(0,0,0,0.05);
--dark:#f5f4f4;--dark2:#ffffff;--dark3:#efeded;--dark4:#e4e1e1;--dark5:#d6d2d2;
--bdr:rgba(0,0,0,0.08);--bdr2:rgba(0,0,0,0.13);--bdr3:rgba(0,0,0,0.2);
--t1:#161313;--t2:#5c5858;--t3:#999494;
}
body{background:var(--dark);font-family:'Inter',system-ui,sans-serif;color:var(--t1);font-size:13px;line-height:1.5;}
.app{display:flex;height:100vh;overflow:hidden;}
.brand-logo{display:block;flex-shrink:0;}
.sidebar{width:224px;background:var(--dark2);border-right:1px solid var(--bdr);display:flex;flex-direction:column;flex-shrink:0;}
.sb-logo{padding:16px 14px;border-bottom:1px solid var(--bdr);display:flex;flex-direction:column;align-items:center;gap:6px;}
.sb-meta{padding:10px 14px;border-bottom:1px solid var(--bdr);background:var(--dark3);display:flex;flex-direction:column;align-items:center;}
.sb-meta-row{display:flex;align-items:center;justify-content:center;gap:6px;font-size:10px;color:var(--t3);margin-bottom:4px;}
.sb-meta-row:last-child{margin-bottom:0;}
.sb-meta-row i{font-size:11px;color:var(--red2);flex-shrink:0;}
.sb-meta-time{font-family:'Courier New',monospace;font-weight:600;}
.sb-nav{flex:1;padding:8px;overflow-y:auto;}
.nav-sec{font-size:9px;color:var(--t3);text-transform:uppercase;letter-spacing:.1em;padding:10px 8px 4px;}
.ni{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:7px;cursor:pointer;color:var(--t2);margin-bottom:1px;transition:all .12s;border:1px solid transparent;user-select:none;}
.ni:hover{background:var(--dark3);color:var(--t1);border-color:var(--bdr);}
.ni.active{background:var(--red-bg);color:var(--red2);border-color:var(--red-bdr);}
.ni i{font-size:15px;width:17px;text-align:center;flex-shrink:0;}
.ni span{font-size:12px;font-weight:500;}
.nbadge{margin-left:auto;background:var(--red);color:#fff;font-size:9px;font-weight:700;padding:1px 6px;border-radius:9px;}
.nbadge.gray{background:var(--dark5);color:var(--t2);}
.sb-foot{padding:10px;border-top:1px solid var(--bdr);}
.user-pill{display:flex;align-items:center;gap:8px;padding:8px 9px;background:var(--dark3);border-radius:8px;border:1px solid var(--bdr);}
.av{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0;background:var(--red-bg);color:var(--red2);}
.u-name{font-size:11px;font-weight:500;color:var(--t1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.u-role{font-size:10px;color:var(--t3);}
.main{flex:1;display:flex;flex-direction:column;min-width:0;position:relative;}
.topbar{height:50px;background:var(--dark2);border-bottom:1px solid var(--bdr);display:flex;align-items:center;justify-content:space-between;padding:0 20px;flex-shrink:0;}
.pg-title{font-size:14px;font-weight:600;color:var(--t1);}
.tb-r{display:flex;align-items:center;gap:7px;}
.btn{display:inline-flex;align-items:center;gap:5px;padding:6px 13px;border-radius:7px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid var(--bdr2);background:var(--dark3);color:var(--t1);transition:all .12s;white-space:nowrap;}
.btn:hover{background:var(--dark4);border-color:var(--bdr3);}
.btn-red{background:var(--red);border-color:var(--red);color:#fff;}
.btn-red:hover{background:#c8382a;}
.btn-outline{background:var(--red-bg);border-color:var(--red-bdr);color:var(--red2);}
.btn-outline:hover{background:rgba(224,64,48,0.18);}
.btn-green{background:var(--green-bg);border-color:var(--green-bdr);color:var(--green);}
.btn-green:hover{background:rgba(52,211,153,0.18);}
.btn-blue{background:var(--blue-bg);border-color:var(--blue-bdr);color:var(--blue);}
.btn-sm{padding:4px 10px;font-size:11px;}
.btn i{font-size:13px;}
.content{flex:1;overflow-y:auto;padding:16px 18px 0;}
.pg-footer{padding:9px 18px;border-top:1px solid var(--bdr);text-align:center;font-size:10px;color:var(--t3);flex-shrink:0;background:var(--dark2);}
.pg-footer .brand{color:var(--t3);font-weight:600;}
.screen{display:none;}
.screen.active{display:block;}
.fbar{display:flex;align-items:center;gap:7px;margin-bottom:13px;flex-wrap:wrap;}
.fl{font-size:11px;color:var(--t3);}
.fsel,.finp{background:var(--dark3);border:1px solid var(--bdr2);border-radius:7px;color:var(--t1);font-size:11px;padding:5px 9px;outline:none;}
.fsel:focus,.finp:focus{border-color:var(--red);}
.finp{width:175px;}
.fsep{flex:1;}
.dash-hero{display:flex;align-items:center;gap:14px;background:var(--dark2);border:1px solid var(--bdr);border-radius:12px;padding:14px 18px;margin-bottom:13px;}
.kgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:13px;}
.kc{background:var(--dark2);border:1px solid var(--bdr);border-radius:12px;padding:13px 14px;position:relative;overflow:hidden;}
.kc-bar{position:absolute;top:0;left:0;right:0;height:2px;}
.kc-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px;}
.kc-ic{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;}
.kc-ic i{font-size:14px;}
.kc-dt{font-size:10px;padding:2px 7px;border-radius:8px;font-weight:500;}
.kc-val{font-size:18px;font-weight:700;color:var(--t1);letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.kc-val.neg{color:var(--red2);}
.kc-lbl{font-size:10px;color:var(--t3);margin-top:3px;}
.card{background:var(--dark2);border:1px solid var(--bdr);border-radius:12px;margin-bottom:11px;}
.ch{padding:11px 14px;border-bottom:1px solid var(--bdr);display:flex;align-items:center;justify-content:space-between;}
.ct{font-size:12px;font-weight:600;color:var(--t1);}
.cb{padding:13px 14px;}
.tbl{overflow-x:auto;}
table{width:100%;border-collapse:collapse;table-layout:fixed;}
thead th{padding:7px 11px;text-align:left;font-size:10px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.07em;background:var(--dark3);border-bottom:1px solid var(--bdr);white-space:nowrap;}
tbody tr{border-bottom:1px solid var(--bdr);transition:background .1s;}
tbody tr:hover{background:var(--dark3);}
tbody tr:last-child{border-bottom:none;}
tbody td{padding:8px 11px;font-size:11px;color:var(--t2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tb{color:var(--t1);font-weight:500;}
.tr{text-align:right;}
.neg{color:var(--red2)!important;}
tfoot td{padding:8px 11px;font-size:11px;font-weight:700;border-top:1px solid var(--bdr2);background:var(--dark3);}
.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:6px;font-size:10px;font-weight:500;white-space:nowrap;}
.bd{width:5px;height:5px;border-radius:50%;background:currentColor;}
.b-green{background:var(--green-bg);color:var(--green);}
.b-red{background:var(--red-bg);color:var(--red2);}
.st-wrap{position:relative;display:inline-block;}
.st-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:6px;font-size:10px;font-weight:600;cursor:pointer;border:1px solid transparent;user-select:none;}
.st-pago{background:var(--green-bg);color:var(--green);border-color:var(--green-bdr);}
.st-aberto{background:var(--yellow-bg);color:var(--yellow);border-color:var(--yellow-bdr);}
.st-atrasado{background:var(--orange-bg);color:var(--orange);border-color:var(--orange-bdr);}
.st-dd{position:absolute;top:calc(100% + 4px);left:0;background:var(--dark4);border:1px solid var(--bdr2);border-radius:8px;overflow:hidden;z-index:100;min-width:140px;box-shadow:0 8px 24px rgba(0,0,0,.5);}
.st-dd.hidden{display:none;}
.st-opt{padding:8px 12px;font-size:11px;color:var(--t2);cursor:pointer;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--bdr);}
.st-opt:last-child{border-bottom:none;}
.st-opt:hover{background:var(--dark5);color:var(--t1);}
.st-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:11px;}
.fld{display:flex;flex-direction:column;gap:4px;}
.fld label{font-size:10px;color:var(--t2);font-weight:500;text-transform:uppercase;letter-spacing:.04em;}
.fld input,.fld select{background:var(--dark3);border:1px solid var(--bdr2);border-radius:7px;color:var(--t1);font-size:12px;padding:7px 10px;outline:none;width:100%;}
.fld input:focus,.fld select:focus{border-color:var(--red);}
.fspan{grid-column:1/-1;}
.fsec{grid-column:1/-1;font-size:9px;color:var(--t3);text-transform:uppercase;letter-spacing:.09em;padding:8px 0 5px;border-bottom:1px solid var(--bdr);margin-top:2px;font-weight:600;}
.calc-table{grid-column:1/-1;overflow-x:auto;}
.calc-table table{border-collapse:collapse;width:100%;min-width:760px;table-layout:auto;}
.calc-table thead th{background:var(--dark3);border:1px solid var(--bdr2);padding:8px 10px;font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:.06em;text-align:center;font-weight:600;white-space:normal;line-height:1.3;}
.calc-table tbody td{border:1px solid var(--bdr);padding:6px 8px;background:var(--dark2);}
.calc-table .cinp{background:var(--dark3);border:1px solid var(--bdr2);border-radius:6px;color:var(--t1);font-size:12px;padding:6px 8px;width:100%;outline:none;}
.calc-table .cinp:focus{border-color:var(--red);}
.calc-table .cinp.auto{color:var(--green);font-weight:700;}
.calc-table .cinp.auto.negv{color:var(--red2);}
.calc-preview{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;margin-top:9px;}
.cprev{background:var(--dark3);border:1px solid var(--bdr);border-radius:8px;padding:8px 12px;font-size:11px;color:var(--t2);}
.cprev b{color:var(--t1);font-size:12px;}
.cprev b.neg{color:var(--red2);}
.ffoot{display:flex;align-items:center;justify-content:flex-end;gap:8px;grid-column:1/-1;padding-top:12px;border-top:1px solid var(--bdr);margin-top:4px;flex-wrap:wrap;}
.pgr{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-top:1px solid var(--bdr);}
.pgr-info{font-size:10px;color:var(--t3);}
.chart-row{display:grid;grid-template-columns:1.5fr 1fr;gap:11px;margin-bottom:11px;}
.chart-row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:11px;margin-bottom:11px;}
.log-row{display:flex;align-items:flex-start;gap:9px;padding:9px 13px;border-bottom:1px solid var(--bdr);}
.log-row:last-child{border-bottom:none;}
.log-dot{width:7px;height:7px;border-radius:50%;margin-top:3px;flex-shrink:0;}
.log-title{font-size:11px;color:var(--t1);font-weight:500;}
.log-meta{font-size:10px;color:var(--t3);margin-top:1px;}
.cfg-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;}
.u-list{display:flex;flex-direction:column;gap:7px;}
.u-row{display:flex;align-items:center;gap:9px;padding:9px 10px;background:var(--dark3);border-radius:8px;border:1px solid var(--bdr);}
.col-map{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
.col-tag{background:var(--dark4);border:1px solid var(--bdr);border-radius:6px;padding:6px 9px;font-size:10px;color:var(--t2);}
.col-l{font-weight:700;color:var(--red2);margin-right:3px;}
.sync-row{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--dark3);border-radius:8px;border:1px solid var(--bdr);margin-bottom:7px;}
.rk{background:var(--dark2);border:1px solid var(--bdr);border-radius:11px;padding:12px 14px;}
.rk-lbl{font-size:10px;color:var(--t3);margin-bottom:4px;}
.rk-val{font-size:17px;font-weight:700;color:var(--t1);}
.rk-val.neg{color:var(--red2);}
.rk-sub{font-size:10px;color:var(--t3);margin-top:2px;}
.info-box{display:flex;align-items:flex-start;gap:11px;background:var(--dark3);border:1px solid var(--bdr);border-radius:10px;padding:12px 13px;}
.info-box-ic{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.info-box-ic i{font-size:16px;}
.info-box-body{flex:1;min-width:0;}
.info-box-lbl{font-size:9px;color:var(--t3);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:5px;}
.info-box-val{font-size:13px;font-weight:600;color:var(--t1);}
.info-box input{background:var(--dark4);border:1px solid var(--bdr2);border-radius:6px;color:var(--t1);font-size:12px;padding:6px 9px;width:100%;outline:none;}
.info-box input:focus{border-color:var(--red);}
.toast{position:fixed;bottom:18px;right:18px;z-index:999;background:var(--dark4);border-radius:9px;padding:10px 15px;display:none;align-items:center;gap:8px;font-size:11px;}
.toast-suc{border:1px solid var(--green-bdr);color:var(--green);}
.toast-err{border:1px solid var(--red-bdr);color:var(--red2);}
.toast-info{border:1px solid var(--bdr2);color:var(--t1);}
.empty{text-align:center;padding:28px;color:var(--t3);}
.empty i{font-size:24px;display:block;margin-bottom:6px;}
.contact-box{background:var(--dark3);border:1px solid var(--bdr2);border-radius:8px;padding:9px 13px;font-size:11px;color:var(--t2);display:flex;align-items:center;justify-content:center;gap:7px;text-align:center;cursor:pointer;transition:all .15s;}
.contact-box:hover{background:var(--dark4);border-color:var(--red-bdr);color:var(--t1);}
.contact-box i{font-size:14px;flex-shrink:0;color:var(--red2);}
.login-meta{margin-top:10px;display:flex;flex-direction:column;gap:3px;align-items:center;}
.login-meta-row{display:flex;align-items:center;justify-content:center;gap:6px;font-size:10px;color:var(--t3);}
.login-meta-row i{font-size:11px;color:var(--red2);}
.draft-card{background:var(--dark3);border:1px solid var(--bdr);border-radius:9px;padding:11px 13px;margin-bottom:8px;display:flex;align-items:center;gap:11px;}
.draft-card-info{flex:1;min-width:0;}
.draft-card-tit{font-size:12px;font-weight:600;color:var(--t1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.draft-card-sub{font-size:10px;color:var(--t3);margin-top:2px;}
.glos-term{display:flex;flex-direction:column;gap:3px;padding:10px 0;border-bottom:1px solid var(--bdr);}
.glos-term:last-child{border-bottom:none;}
.glos-name{font-size:12px;font-weight:700;color:var(--red2);}
.glos-def{font-size:11px;color:var(--t2);line-height:1.6;}
.tool-pill{display:inline-flex;align-items:center;gap:6px;background:var(--dark3);border:1px solid var(--bdr);border-radius:8px;padding:7px 12px;font-size:11px;color:var(--t1);font-weight:500;}
.tool-pill i{font-size:14px;color:var(--red2);}
.tut-step{display:flex;gap:13px;padding:13px 0;border-bottom:1px solid var(--bdr);}
.tut-step:last-child{border-bottom:none;}
.tut-num{width:28px;height:28px;border-radius:50%;background:var(--red-bg);color:var(--red2);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;}
.tut-body{flex:1;}
.tut-tit{font-size:12px;font-weight:700;color:var(--t1);margin-bottom:3px;}
.tut-desc{font-size:11px;color:var(--t2);line-height:1.7;}
.tut-tag{display:inline-block;background:var(--dark4);border:1px solid var(--bdr);border-radius:5px;padding:1px 7px;font-size:10px;color:var(--red2);font-weight:600;margin:0 2px;}
.modal-ov{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;z-index:500;}
.modal-ov.show{display:flex;}
.modal-box{background:var(--dark2);border:1px solid var(--bdr2);border-radius:12px;padding:20px;width:340px;text-align:center;}
.modal-box i{font-size:28px;color:var(--yellow);margin-bottom:8px;display:block;}
.modal-box h3{font-size:14px;color:var(--t1);margin-bottom:6px;}
.modal-box p{font-size:11px;color:var(--t3);margin-bottom:16px;line-height:1.6;}
.modal-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}

/* ── RESPONSIVIDADE ───────────────────────────────────────── */
@media (max-width:900px){
  .kgrid{grid-template-columns:repeat(2,1fr);}
  .chart-row{grid-template-columns:1fr;}
  .chart-row3{grid-template-columns:1fr;}
  .cfg-grid{grid-template-columns:1fr;}
  .tb-hide-md{display:none!important;}
}
@media (max-width:680px){
  .sidebar{position:fixed;left:-240px;top:0;bottom:0;z-index:300;transition:left .25s;box-shadow:4px 0 20px rgba(0,0,0,.4);}
  .sidebar.open{left:0;}
  .sb-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:299;}
  .sb-overlay.show{display:block;}
  .sb-toggle{display:flex!important;}
  .tb-hide-sm{display:none!important;}
  .app{flex-direction:column;}
  .main{width:100%;}
  .kgrid{grid-template-columns:repeat(2,1fr);gap:7px;}
  .fg{grid-template-columns:1fr;}
  .fspan{grid-column:1;}
  .fsec{grid-column:1;}
  .calc-preview{gap:6px;}
  .ffoot{justify-content:center;}
  .topbar{padding:0 12px;}
  .content{padding:10px 10px 0;}
  .chart-row,.chart-row3,.cfg-grid{grid-template-columns:1fr;}
  .finp{width:130px;}
}
@media (max-width:420px){
  .kgrid{grid-template-columns:1fr 1fr;}
  .kc-val{font-size:14px;}
  .pg-title{font-size:12px;}
}
/* ── TRANSIÇÃO DE TEMA ────────────────────────────────────── */
*{transition:background-color .18s, color .1s, border-color .15s;}
.btn,.card,.topbar,.sidebar,.modal-box,.st-dd,.fsel,.finp,.fld input,.fld select{transition:background-color .18s,border-color .15s,color .1s!important;}

/* ===== FUNWAY v3 — B&W base + brand only in charts ===== */
.btn-red{color:#000 !important;} .btn-red:hover{background:#dcdcdc !important;}
[data-theme="light"] .btn-red{color:#fff !important;background:#161313 !important;border-color:#161313 !important;}
[data-theme="light"] .btn-red:hover{background:#000 !important;}
.nbadge{color:#000 !important;} [data-theme="light"] .nbadge{color:#fff !important;}
[data-theme="light"] img[alt="FUNWAY"]{filter:invert(1);}
/* global filter bar */
.gfbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:9px;flex-wrap:wrap;background:var(--dark);padding:10px 0 12px;margin-bottom:4px;border-bottom:1px solid var(--bdr);}
.gfbar .fl{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:.05em;}
.gfbar select,.gfbar input[type=date]{background:var(--dark3);border:1px solid var(--bdr2);border-radius:7px;color:var(--t1);font-size:11px;padding:6px 9px;outline:none;}
.gfbar select:focus{border-color:var(--bdr3);}
.emp-chip{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:var(--t2);background:var(--dark3);border:1px solid var(--bdr);border-radius:6px;padding:3px 8px;}
/* help badge */
.help{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;border:1px solid var(--bdr3);color:var(--t3);font-size:9px;cursor:help;position:relative;flex-shrink:0;font-weight:700;}
.help:hover{color:var(--t1);border-color:var(--t1);}
.help .tip{display:none;position:absolute;bottom:130%;right:-4px;width:210px;background:#000;border:1px solid var(--bdr2);border-radius:8px;padding:9px 11px;font-size:10px;font-weight:400;line-height:1.55;color:var(--t2);text-transform:none;letter-spacing:0;z-index:60;box-shadow:0 8px 24px rgba(0,0,0,.5);text-align:left;}
.help:hover .tip{display:block;}
.kc-top .help{margin-left:auto;}
/* goal bar */
.goal{background:var(--dark2);border:1px solid var(--bdr);border-radius:12px;padding:14px 16px;margin-bottom:13px;}
.goal-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;flex-wrap:wrap;gap:6px;}
.goal-tit{font-size:12px;font-weight:600;color:var(--t1);display:flex;align-items:center;gap:7px;}
.goal-sub{font-size:10px;color:var(--t3);}
.bar{height:9px;border-radius:6px;background:var(--dark4);overflow:hidden;}
.bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#3A99AC,#83BECD);transition:width .6s;}
.bar.m i{background:linear-gradient(90deg,#826593,#E83C7F);}
.goal-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:680px){.goal-row{grid-template-columns:1fr;}}
/* status pills */
.stp{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:6px;font-size:10px;font-weight:600;white-space:nowrap;border:1px solid;cursor:pointer;}
.stp .bd{width:6px;height:6px;border-radius:50%;background:currentColor;}
.st-dd2{position:absolute;background:var(--dark4);border:1px solid var(--bdr2);border-radius:8px;overflow:hidden;z-index:100;min-width:150px;box-shadow:0 8px 24px rgba(0,0,0,.5);margin-top:3px;}
.st-dd2 div{padding:7px 11px;font-size:11px;color:var(--t2);cursor:pointer;display:flex;align-items:center;gap:7px;}
.st-dd2 div:hover{background:var(--dark5);color:var(--t1);}
/* legend */
.lg{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;color:var(--t2);}
.lg span{display:flex;align-items:center;gap:5px;}
.lg i{width:10px;height:10px;border-radius:3px;display:inline-block;}
/* orçamento builder */
.osec{margin-bottom:14px;}
.osec-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;}
.osec-h .t{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--t1);}
.ohead,.orow{display:grid;grid-template-columns:1.5fr 1.2fr .6fr 1fr 1fr 26px;gap:6px;align-items:center;}
.ohead{font-size:8.5px;color:var(--t3);text-transform:uppercase;letter-spacing:.08em;padding:0 2px 4px;font-weight:700;}
.orow{margin-bottom:6px;}
.orow input,.orow select{background:var(--dark3);border:1px solid var(--bdr2);border-radius:6px;color:var(--t1);font-size:11px;padding:7px 8px;outline:none;width:100%;}
.orow input:focus,.orow select:focus{border-color:var(--bdr3);}
.orow .pfx{position:relative;}
.orow .otot{font-size:11px;color:var(--t1);text-align:right;font-variant-numeric:tabular-nums;font-weight:600;padding-right:3px;}
.orow .orm{background:none;border:0;color:var(--t3);font-size:15px;cursor:pointer;}
.orow .orm:hover{color:var(--red2);}
.addrow{background:none;border:1px dashed var(--bdr2);color:var(--t2);width:100%;padding:7px;border-radius:7px;font-size:11px;cursor:pointer;margin-top:3px;}
.addrow:hover{color:var(--t1);border-color:var(--bdr3);}
.ores .oline{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--bdr);font-size:12px;color:var(--t2);}
.ores .oline b{color:var(--t1);font-weight:600;font-variant-numeric:tabular-nums;}
.ores .obig{display:flex;justify-content:space-between;align-items:baseline;margin-top:12px;padding-top:12px;border-top:2px solid var(--bdr2);}
.ores .obig span{font-size:13px;font-weight:700;text-transform:uppercase;color:var(--t1);}
.ores .obig b{font-size:22px;font-weight:800;color:var(--t1);font-variant-numeric:tabular-nums;}
.attn{display:flex;gap:11px;align-items:flex-start;background:var(--dark3);border:1px solid var(--yellow-bdr);border-radius:10px;padding:13px 14px;margin-bottom:13px;}
.attn i{font-size:20px;color:var(--yellow);flex-shrink:0;}
.attn .t{font-size:12px;font-weight:700;color:var(--t1);margin-bottom:3px;}
.attn .d{font-size:11px;color:var(--t2);line-height:1.6;}
/* custos/invest table inputs */
.dt-row td{padding:6px 8px;border-bottom:1px solid var(--bdr);}
.dt-row input,.dt-row select{background:var(--dark3);border:1px solid var(--bdr2);border-radius:6px;color:var(--t1);font-size:11px;padding:6px 8px;outline:none;width:100%;}
.dt-row input:focus,.dt-row select:focus{border-color:var(--bdr3);}
/* login dual */
.login-box{background:var(--dark2);border:1px solid var(--bdr);border-radius:16px;padding:24px;text-align:left;}
.login-box.admin{border-color:var(--bdr2);}
.lb-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.lb-ic{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--dark4);}
.lb-ic i{font-size:19px;color:var(--t1);}
.lb-tit{font-size:13px;font-weight:700;color:var(--t1);}
.lb-sub{font-size:10px;color:var(--t3);}
.lb-field{margin-bottom:9px;}
.lb-field label{display:block;font-size:9px;color:var(--t3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;}
.lb-field input{width:100%;background:var(--dark3);border:1px solid var(--bdr2);border-radius:8px;color:var(--t1);font-size:13px;padding:10px 12px;outline:none;}
.lb-field input:focus{border-color:var(--bdr3);}
.colab-acc{font-size:10px;color:var(--t3);margin-top:6px;line-height:1.6;}
/* print / pdf */
#printArea{display:none;}
@media print{
 body *{visibility:hidden;}
 #printArea,#printArea *{visibility:visible;}
 #printArea{display:block;position:absolute;left:0;top:0;width:100%;padding:24px;background:#fff;color:#111;}
 .no-print{display:none !important;}
}
@media(max-width:900px){.ohead,.orow{grid-template-columns:1.3fr 1fr .6fr 1fr 1fr 24px;}}
/* ===== v3.1 additions ===== */
.pw-wrap{position:relative;}
.pw-wrap input{width:100%;padding-right:38px;}
.pw-eye{position:absolute;right:9px;top:50%;transform:translateY(-50%);color:var(--t3);cursor:pointer;font-size:16px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;}
.pw-eye:hover{color:var(--t1);}
.proto-tag{position:absolute;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--t3);border:1px solid var(--bdr2);border-radius:20px;padding:3px 12px;background:var(--dark3);pointer-events:none;}
@media(max-width:760px){.proto-tag{display:none;}}
.topbar{position:relative;}
.blink-dot{width:8px;height:8px;border-radius:50%;background:#2BB673;margin-left:auto;flex-shrink:0;animation:blinkdot 1.1s ease-in-out infinite;box-shadow:0 0 0 0 rgba(43,182,115,.6);}
@keyframes blinkdot{0%{opacity:1;box-shadow:0 0 0 0 rgba(43,182,115,.55);}70%{opacity:.45;box-shadow:0 0 0 6px rgba(43,182,115,0);}100%{opacity:1;box-shadow:0 0 0 0 rgba(43,182,115,0);}}
.help-pop{display:none;position:absolute;z-index:9999;width:220px;background:#000;border:1px solid var(--bdr2);border-radius:9px;padding:10px 12px;font-size:10.5px;line-height:1.6;color:var(--t2);box-shadow:0 10px 30px rgba(0,0,0,.6);}
.dl-pop{display:none;position:absolute;z-index:9999;min-width:150px;background:var(--dark4);border:1px solid var(--bdr2);border-radius:9px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.55);}
.dl-pop div{padding:9px 13px;font-size:12px;color:var(--t2);cursor:pointer;}
.dl-pop div:hover{background:var(--dark5);color:var(--t1);}
.help{user-select:none;}
/* ===== v3.2 additions ===== */
.blink-dot.orange{background:#EC8415;box-shadow:0 0 0 0 rgba(236,132,21,.6);animation:blinkO 1.1s ease-in-out infinite;}
@keyframes blinkO{0%{opacity:1;box-shadow:0 0 0 0 rgba(236,132,21,.55);}70%{opacity:.45;box-shadow:0 0 0 6px rgba(236,132,21,0);}100%{opacity:1;box-shadow:0 0 0 0 rgba(236,132,21,0);}}
.sec-desc{display:flex;align-items:flex-start;gap:9px;font-size:11px;color:var(--t2);background:var(--dark2);border:1px solid var(--bdr);border-radius:10px;padding:9px 13px;margin-bottom:12px;line-height:1.55;}
.sec-desc i{color:var(--t3);font-size:15px;flex-shrink:0;margin-top:1px;}
/* empresa code chips — B&W */
.emp-chip.emp-prod{background:var(--t1);color:var(--dark);border-color:var(--t1);font-weight:700;}
.emp-chip.emp-aud{background:transparent;color:var(--t1);border:1px solid var(--bdr3);font-weight:600;}
/* eye visible both themes */
.pw-eye{color:var(--t2);}
[data-theme="light"] .pw-eye{color:#555;}
/* date input calendar icon visible both themes */
input[type=date],.gfbar input[type=date]{color-scheme:dark;}
[data-theme="light"] input[type=date],[data-theme="light"] .gfbar input[type=date]{color-scheme:light;}
input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer;}
[data-theme="light"] input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.2);}
/* responsiveness reinforcement */
@media(max-width:820px){
 .kgrid{grid-template-columns:1fr 1fr!important;}
 .chart-row,.chart-row3{grid-template-columns:1fr!important;}
 .org-grid{grid-template-columns:1fr!important;}
 .cfg-grid{grid-template-columns:1fr!important;}
 .gfbar{gap:6px 8px;}
 #pautaResumo .cb [style*="grid-template-columns"]{grid-template-columns:1fr!important;}
}
@media(max-width:560px){
 .kgrid{grid-template-columns:1fr!important;}
 .tbl{overflow-x:auto;} .tbl table{min-width:560px;}
 .topbar .btn span,.tb-hide-sm,.tb-hide-md{display:none;}
}
/* ===== v4 additions ===== */
.emp-chip{white-space:nowrap;overflow:visible;text-overflow:clip;max-width:none;}
.alert-bar{display:flex;align-items:center;gap:9px;background:rgba(232,72,85,.12);border:1px solid rgba(232,72,85,.4);color:var(--t1);border-radius:10px;padding:9px 13px;margin-bottom:12px;font-size:11.5px;}
.alert-bar i{color:#E84855;font-size:16px;flex-shrink:0;}
.alert-bar a{margin-left:auto;color:var(--t1);font-size:11px;cursor:pointer;text-decoration:underline;white-space:nowrap;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;}
.cal-grid.head{margin-bottom:5px;}
.cal-wd{font-size:9px;color:var(--t3);text-transform:uppercase;text-align:center;padding:3px;}
.cal-cell{min-height:62px;border:1px solid var(--bdr);border-radius:8px;padding:5px;background:var(--dark2);}
.cal-cell.empty{background:transparent;border:0;}
.cal-cell.today{border-color:var(--t1);box-shadow:inset 0 0 0 1px var(--t1);}
.cal-d{font-size:11px;color:var(--t2);font-weight:600;}
.cal-mk{margin-top:4px;display:flex;flex-wrap:wrap;gap:3px;align-items:center;}
.cal-dot{width:7px;height:7px;border-radius:50%;display:inline-block;}
.cal-v{font-size:9px;color:var(--t3);width:100%;}
@media(max-width:680px){.cal-cell{min-height:46px;} .cal-v{display:none;}}
/* ===== v4.1 additions ===== */
.tbl table input, .tbl table select, .modal-box input, .modal-box select, table input.di{
  background:var(--dark3);border:1px solid var(--bdr2);color:var(--t1);
  border-radius:7px;padding:5px 8px;font-size:12px;font-family:inherit;outline:none;
}
.tbl table input:focus, .tbl table select:focus, .modal-box input:focus, .modal-box select:focus{border-color:var(--bdr3);}
.tbl table input[type=number]{text-align:right;}
.sec-note{display:flex;align-items:flex-start;gap:9px;font-size:11px;color:var(--t2);background:var(--dark2);border:1px solid var(--bdr);border-left:3px solid var(--bdr3);border-radius:9px;padding:9px 13px;margin-bottom:11px;line-height:1.55;}
.sec-note i{color:var(--t3);font-size:15px;flex-shrink:0;margin-top:1px;}
