:root{--bg:#070b10;--panel:#0e141c;--panel2:#121a24;--panel3:#182230;--border:#243244;--text:#edf4fb;--muted:#8ea0b5;--green:#22c55e;--green2:#16a34a;--red:#ef4444;--yellow:#f59e0b;--blue:#38bdf8;--shadow:0 20px 50px rgba(0,0,0,.35)}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden-by-role{display:none!important}.muted{color:var(--muted);font-size:12px;margin-top:4px}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,520px) 1fr}.lado-esquerdo{background:var(--panel);padding:34px;display:flex;flex-direction:column}.topo-logo,.sidebar-logo{display:flex;align-items:center;gap:12px}.logo-box{width:44px;height:44px;border-radius:13px;background:linear-gradient(145deg,var(--green),#0b7a38);display:grid;place-items:center;font-size:22px;font-weight:900;color:#04120a;box-shadow:0 8px 22px rgba(34,197,94,.25)}.logo-texto{font-weight:800;letter-spacing:.3px;color:#dff8e8}.form-area{width:min(390px,100%);margin:auto}.form-area h1{font-size:44px;margin:0 0 10px}.form-area>p{color:var(--muted)}.grupo-campo,.campo-form{margin:16px 0}.grupo-campo label,.campo-form label{display:block;color:#cbd6e2;font-size:13px;font-weight:700;margin-bottom:8px}.grupo-campo input,.grupo-campo select,.campo-form input,.campo-form select,.campo-form textarea,.select-dark,.search-input{width:100%;border:1px solid var(--border);background:#0a1017;color:var(--text);border-radius:12px;padding:13px 14px;outline:none}.grupo-campo input:focus,.grupo-campo select:focus,.campo-form input:focus,.campo-form select:focus,.search-input:focus{border-color:var(--green)}.linha-link{text-align:right;margin:10px 0 18px}.linha-link a{color:#68e195;font-size:13px}.btn-primary,#btnEntrar,.btn-secondary,.btn-danger{border:0;border-radius:12px;padding:13px 18px;font-weight:800}.btn-primary,#btnEntrar{background:var(--green);color:#04120a}.btn-secondary{background:#1d2a38;color:var(--text);border:1px solid var(--border)}.btn-danger{background:#3b1518;color:#ffb3b7;border:1px solid #6e2229}.full{width:100%}.msg-login{min-height:22px;color:#ff8c8c;font-size:13px}.login-demo{margin-top:22px;padding:14px;border:1px solid var(--border);background:#0a1017;border-radius:14px;color:var(--muted);font-size:12px;line-height:1.6}.lado-direito{background:radial-gradient(circle at 70% 30%,#0d4727 0,#092116 35%,#060a0e 75%);display:grid;place-items:center;padding:40px}.hero-login{max-width:760px}.hero-login h2{font-size:48px;line-height:1.05;margin:0 0 18px}.hero-login p{color:#9eb0c3;font-size:18px;line-height:1.6}.hero-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.hero-badges span{padding:10px 14px;border-radius:999px;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);color:#9bf0b8;font-size:13px}.dashboard-layout{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:#080d13;border-right:1px solid var(--border);padding:22px 16px;display:flex;flex-direction:column;justify-content:space-between}.sidebar-logo{padding:8px 8px 24px}.sidebar .logo-texto{font-size:14px;max-width:150px}.sidebar-menu{display:grid;gap:6px}.menu-item{padding:11px 13px;border-radius:10px;color:#93a4b7;font-size:13px;font-weight:700}.menu-item:hover,.menu-item.ativo{background:#132119;color:#c7f8d6}.menu-item.ativo{border-left:3px solid var(--green)}.sidebar-bottom{display:grid;gap:10px}.install-btn{width:100%;border:1px dashed #2f7b4b;background:#0d1b13;color:#80e7a4;border-radius:10px;padding:10px}.sidebar-usuario{padding:14px;border:1px solid var(--border);border-radius:12px;background:#0d131b}.usuario-nome{font-size:12px;font-weight:800}.usuario-tipo{font-size:10px;color:var(--muted);margin-top:4px}.btn-sair{width:100%;margin-top:10px;background:#161f2a;color:#cbd5e1;border:1px solid var(--border);padding:8px;border-radius:8px}.dashboard-conteudo{min-width:0;padding:28px}.dashboard-topo{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.dashboard-topo h1{margin:0;font-size:28px}.dashboard-topo p{margin:5px 0 0;color:var(--muted);font-size:13px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.cards-dashboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.card-dashboard,.stat-card{background:linear-gradient(180deg,#111a24,#0d141c);border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.card-titulo{font-size:12px;color:var(--muted);font-weight:700}.card-valor{font-size:30px;font-weight:900;margin-top:12px}.card-sub{font-size:11px;color:var(--muted);margin-top:6px}.accent-green{border-top:2px solid var(--green)}.accent-red{border-top:2px solid var(--red)}.accent-blue{border-top:2px solid var(--blue)}.accent-yellow{border-top:2px solid var(--yellow)}.two-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px;border-bottom:1px solid var(--border)}.panel-head h2{font-size:15px;margin:0}.panel-body{padding:18px}.search-input{max-width:320px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:#75879a;text-align:left;padding:12px;border-bottom:1px solid var(--border)}.data-table td{padding:13px 12px;border-bottom:1px solid #17212d;font-size:13px;vertical-align:middle}.data-table tr:hover td{background:#0d151e}.empty{text-align:center!important;color:var(--muted);padding:32px!important}.actions{display:flex;gap:6px;flex-wrap:wrap}.btn-icon{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:#111a24;color:#cbd6e2;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:800}.btn-icon:hover{border-color:#3b4e65}.btn-icon.danger{color:#ff9ba1;border-color:#5f242a}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800;background:#1a2532;color:#cbd5e1}.badge.late,.badge.partial_late{background:#36171a;color:#ff9fa5}.badge.pending,.badge.open{background:#2a2513;color:#ffd778}.badge.paid{background:#112b1b;color:#83e6a4}.badge.partial{background:#10283a;color:#8ad6ff}.overlay-lateral{position:fixed;inset:0;background:rgba(0,0,0,.68);opacity:0;pointer-events:none;transition:.2s;z-index:50}.overlay-lateral.ativo{opacity:1;pointer-events:auto}.painel-lateral{position:fixed;top:0;right:-760px;width:min(720px,96vw);height:100vh;background:#0b1118;border-left:1px solid var(--border);z-index:51;transition:.25s;overflow:auto;box-shadow:-20px 0 60px rgba(0,0,0,.45)}.painel-lateral.ativo{right:0}.painel-topo{position:sticky;top:0;background:#0b1118;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:18px;z-index:2}.painel-topo h2{margin:0;font-size:17px}.btn-fechar-painel{border:1px solid var(--border);background:#131d28;color:#fff;width:34px;height:34px;border-radius:9px}.painel-conteudo{padding:18px}.abas-painel{display:flex;gap:8px;margin-bottom:18px}.aba-btn{background:#121b25;color:#8395a8;border:1px solid var(--border);padding:9px 14px;border-radius:9px;font-weight:800;font-size:11px}.aba-btn.ativa{background:#12301e;color:#9bf0b8;border-color:#235b38}.aba-conteudo{display:none}.aba-conteudo.ativa{display:block}.secao-form{background:#0f1720;border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:14px}.secao-form h3{margin:0 0 12px;font-size:13px;color:#aab8c7}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rodape-painel{display:flex;justify-content:flex-end;gap:10px;padding-top:8px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.summary-box{background:#0f1720;border:1px solid var(--border);border-radius:12px;padding:14px}.summary-box span{display:block;color:var(--muted);font-size:10px}.summary-box strong{display:block;font-size:18px;margin-top:6px}.installment-list{display:grid;gap:8px}.installment-row{display:grid;grid-template-columns:1fr 160px auto;gap:12px;align-items:center;background:#0f1720;border:1px solid var(--border);padding:12px;border-radius:12px}.installment-row span,.payoff-card span,.contract-client-card span{display:block;color:var(--muted);font-size:11px;margin-top:4px}.payoff-card{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:14px;padding:15px;border:1px dashed #34506a;border-radius:12px;background:#0b141d}.modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:none;place-items:center;z-index:70;padding:20px}.modal.ativo{display:grid}.modal-card{width:min(460px,100%);background:#0d151e;border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:var(--shadow)}.modal-card h3{margin:0 0 8px}.modal-card p{color:var(--muted);font-size:12px}.empty-card{padding:28px;border:1px dashed var(--border);border-radius:12px;text-align:center;color:var(--muted)}.mini-card{display:flex;justify-content:space-between;gap:12px;padding:12px;border-bottom:1px solid var(--border)}.mini-card span{color:var(--muted);font-size:12px}.contract-client-card{background:#0f1720;border:1px solid var(--border);border-radius:16px;padding:18px;margin-bottom:14px}.card-head{display:flex;justify-content:space-between;gap:12px}.big-value{font-size:22px;font-weight:900}.contract-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.contract-grid>div{background:#0a1118;border:1px solid var(--border);border-radius:10px;padding:11px}.backup-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.backup-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.info-box{padding:14px;border:1px solid #23422f;background:#0d1d14;color:#b7eac7;border-radius:12px;font-size:12px;line-height:1.6}.danger-box{border-color:#57262a;background:#251114;color:#f6b1b6}.client-shell{min-height:100vh;background:var(--bg)}.client-top{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--border);background:#0b1118}.client-main{max-width:1100px;margin:0 auto;padding:28px 20px}.client-main h1{font-size:28px}.client-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.client-stat{background:#0f1720;border:1px solid var(--border);border-radius:14px;padding:16px}.client-stat span{color:var(--muted);font-size:11px}.client-stat strong{display:block;font-size:22px;margin-top:7px}@media(max-width:1000px){.cards-dashboard{grid-template-columns:repeat(2,1fr)}.dashboard-layout{grid-template-columns:220px 1fr}.contract-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.login-page{grid-template-columns:1fr}.lado-direito{display:none}.dashboard-layout{display:block}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--border)}.sidebar-menu{grid-template-columns:repeat(2,1fr)}.dashboard-conteudo{padding:16px}.cards-dashboard,.two-stats,.client-stats,.backup-grid{grid-template-columns:1fr 1fr}.grid-2,.grid-3{grid-template-columns:1fr}.installment-row{grid-template-columns:1fr}.contract-grid{grid-template-columns:1fr}.dashboard-topo{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.cards-dashboard,.client-stats,.backup-grid{grid-template-columns:1fr}.lado-esquerdo{padding:22px}.hero-login h2{font-size:36px}}

.field-help{margin-top:7px;color:var(--muted);font-size:11px;line-height:1.45}.btn-icon.whatsapp{color:#91efb1;border-color:#24653b;background:#0d1b13}.btn-icon.whatsapp:hover{border-color:#36a55c}.btn-icon[disabled]{opacity:.45;cursor:not-allowed}

/* v7 - alertas, quitação diária e área do cliente */
.promise-line{margin-top:7px;padding:7px 9px;border-radius:8px;background:#102238;border:1px solid #23476d;color:#a9d5ff;font-size:10px;line-height:1.35}.promise-line.promise-overdue,.promise-overdue{background:#35171b;border-color:#6f2c34;color:#ff9fa7;font-weight:800}.payoff-live{display:block}.payoff-main{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.payoff-kicker{font-size:11px!important;font-weight:900;color:#8fa4b9!important;letter-spacing:.7px}.payoff-total{font-size:28px}.payoff-details{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.payoff-details>div{background:#0f1720;border:1px solid var(--border);border-radius:10px;padding:10px}.payoff-details span{display:block;color:var(--muted);font-size:10px}.payoff-details strong{display:block;margin-top:5px;font-size:13px}.payoff-note{margin-top:12px;color:var(--muted);font-size:11px;line-height:1.5}.client-pending-list{margin:14px 0}.client-pending-list h3{margin:0 0 9px;font-size:13px}.client-installment-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 12px;background:#0a1118;border:1px solid var(--border);border-radius:10px;margin-top:8px}.client-installment-row>div:last-child{text-align:right}.client-installment-row span{display:block;color:var(--muted);font-size:11px;margin-top:4px}.client-alert{margin-top:8px;padding:11px 12px;border-radius:10px;border:1px solid #2c4d69;background:#0d1b29;color:#c5e0f7;font-size:12px;line-height:1.45}.client-alert.danger{border-color:#6c2a31;background:#2b1417;color:#ffb2b8}.client-alert.strong-alert{box-shadow:0 0 0 1px rgba(255,92,104,.12) inset}.client-alert.success{border-color:#27583a;background:#102318;color:#a7e9ba}.client-payoff-box{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px;margin:16px 0;background:#0a141d;border:1px dashed #34506a;border-radius:12px}.client-payoff-box>div:first-child span{display:block;color:#92a7bb;font-size:10px;font-weight:900;letter-spacing:.7px}.client-payoff-box>div:first-child strong{display:block;font-size:26px;margin:5px 0}.client-payoff-box small{color:var(--muted);display:block;max-width:430px}.client-payoff-breakdown{display:grid;gap:6px;min-width:260px}.client-payoff-breakdown span{font-size:11px;color:var(--muted)}.client-payoff-breakdown strong{color:#fff}.next-charge-note{margin:10px 0 14px;padding:10px 12px;border-radius:9px;background:#0d1c13;border:1px solid #254b32;color:#aee9bf;font-size:11px}.full{width:100%}@media(max-width:900px){.payoff-details{grid-template-columns:1fr 1fr}.client-payoff-box{align-items:flex-start;flex-direction:column}.client-payoff-breakdown{min-width:0;width:100%}}@media(max-width:520px){.payoff-details{grid-template-columns:1fr}.client-installment-row{align-items:flex-start;flex-direction:column}.client-installment-row>div:last-child{text-align:left}}
.payment-history{margin-top:14px;padding:14px;background:#0d141c;border:1px solid var(--border);border-radius:12px}.payment-history h3{margin:0 0 10px;font-size:12px;color:#9fb0c2}.payment-history-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-top:1px solid #1b2734}.payment-history-row:first-of-type{border-top:0}.payment-history-row span{display:block;color:var(--muted);font-size:10px;margin-top:4px}.client-main-alert{margin:0 0 14px;padding:15px 16px;border:1px solid #274c38;background:#102219;border-radius:14px}.client-main-alert strong{display:block;font-size:13px}.client-main-alert span{display:block;color:#b8c6d3;font-size:12px;line-height:1.5;margin-top:5px}.client-main-alert.danger{border-color:#6c2a31;background:#2a1418}.client-main-alert.danger strong{color:#ff9fa7}.client-main-alert.warning{border-color:#71531e;background:#2b2110}.client-main-alert.warning strong{color:#ffd778}.client-main-alert.success{border-color:#27583a;background:#102318}.client-installment-card{padding:12px;background:#091018;border:1px solid #1f2d3b;border-radius:12px;margin-top:10px}.client-installment-values{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:9px}.client-installment-values>span{padding:8px 9px;background:#0d151e;border-radius:8px;color:var(--muted);font-size:10px}.client-installment-values strong{display:block;color:#f4f7fb;font-size:12px;margin-top:3px}.client-promise-alert{margin-top:8px;padding:10px 11px;border-radius:9px;border:1px solid #315273;background:#102239;color:#b8dcff}.client-promise-alert strong,.client-promise-alert span{display:block}.client-promise-alert strong{font-size:11px}.client-promise-alert span{font-size:11px;margin-top:4px;color:inherit}.client-promise-alert.today{border-color:#7b5b20;background:#30250f;color:#ffe08b}.client-promise-alert.overdue{border-color:#742b33;background:#301519;color:#ffabb1}.client-contract-status{font-weight:800}.client-contract-status.danger{color:#ff929a}.client-payoff-main{min-width:300px}.accrual-progress{height:8px;background:#14202b;border:1px solid #26394c;border-radius:999px;overflow:hidden;margin:10px 0 7px}.accrual-progress i{display:block;height:100%;background:linear-gradient(90deg,#16a34a,#22c55e);border-radius:999px}.client-alert strong,.client-alert span{display:block}.client-alert strong{font-size:11px}.client-alert span{margin-top:4px;color:inherit}.btn-icon.whatsapp{color:#9bf0b8;border-color:#27623d;background:#0f2116}@media(max-width:600px){.client-installment-values{grid-template-columns:1fr}.payment-history-row{align-items:flex-start;flex-direction:column}}

/* v11: correção de recebimento junto ao valor da parcela */
.installment-received{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px}
.installment-received>span{margin:0}
.installment-received .btn-icon{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}

.contract-situation{margin-top:6px;font-size:10px;font-weight:900;letter-spacing:.35px}.contract-situation.ok{color:#83e6a4}.contract-situation.today{color:#ffd778}.contract-situation.late{color:#ff9fa5}.contract-situation.paid{color:#83e6a4}

/* v13: cards clicáveis e central de vencimentos com ações rápidas */
.dashboard-card-link{display:block;width:100%;text-align:left;color:inherit;transition:transform .15s ease,border-color .15s ease,background .15s ease}.dashboard-card-link:hover{transform:translateY(-2px);border-color:#3b536d;background:linear-gradient(180deg,#14202c,#0f1720)}button.dashboard-card-link{font:inherit}.card-action-label{margin-top:14px;padding-top:11px;border-top:1px solid #1f2d3b;color:#8fa6ba;font-size:10px;font-weight:900;letter-spacing:.3px}.accent-red .card-action-label{color:#ff9fa5}.accent-yellow .card-action-label{color:#ffd778}.accent-green .card-action-label{color:#8cecab}.accent-blue .card-action-label{color:#8fdcff}.summary-filter-card.selected{box-shadow:0 0 0 1px rgba(255,255,255,.08),var(--shadow)}.money-card{font-size:24px}.vencimento-panel-head{align-items:flex-start}.filter-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.filter-tab{border:1px solid var(--border);background:#101821;color:#8ea0b5;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900}.filter-tab:hover,.filter-tab.ativo{border-color:#2c7146;background:#10261a;color:#9bf0b8}.vencimentos-table{min-width:1080px}.btn-icon.receive{color:#9bf0b8;border-color:#28633d;background:#102218}.btn-icon.receive:hover{border-color:#3b9b5f}.payment-modal-card{width:min(560px,100%)}.modal-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-title-row h3{margin:0}.modal-title-row p{margin:5px 0 0}.vencimento-summary-cards .card-dashboard{min-height:158px}.promise-overdue{display:inline-flex;padding:5px 7px;border-radius:7px}@media(max-width:760px){.vencimento-summary-cards{grid-template-columns:1fr 1fr}.vencimento-panel-head{flex-direction:column;align-items:stretch}}@media(max-width:480px){.vencimento-summary-cards{grid-template-columns:1fr}}

.finance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.finance-grid .stat-card{min-height:178px}.period-card{border-top:2px solid #a78bfa}.period-card .card-action-label{color:#c4b5fd}.period-modal-card{width:min(560px,100%)}.online-locked-note{color:#8cecab;font-size:11px;font-weight:800}.stat-card button{color:inherit}@media(max-width:1100px){.finance-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.finance-grid{grid-template-columns:1fr}}

/* v15: central de atrasados agrupada por cliente */
.overdue-summary-cards .card-dashboard{min-height:138px}.overdue-clients-table{min-width:980px}.overdue-section{margin-top:18px}.overdue-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.overdue-section-head h3{margin:0;font-size:13px;color:#aab8c7}.overdue-item{background:#0f1720;border:1px solid var(--border);border-radius:12px;padding:13px;margin-top:10px}.overdue-item-main{display:grid;gap:10px}.overdue-item-main>div:first-child span{display:block;color:var(--muted);font-size:11px;margin-top:4px}.overdue-item-values{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.overdue-item-values span{display:block;background:#0a1118;border:1px solid #1f2d3b;border-radius:8px;padding:9px;color:var(--muted);font-size:10px}.overdue-item-values strong{display:block;color:#f4f7fb;font-size:12px;margin-top:4px}.overdue-actions{margin-top:11px}.compact-empty{padding:16px}.overdue-detail-summary{grid-template-columns:repeat(3,1fr)}.legacy-client-debt{border-color:#5b3134;background:linear-gradient(180deg,#171116,#0f141b)}@media(max-width:760px){.overdue-item-values,.overdue-detail-summary{grid-template-columns:1fr}.overdue-section-head{align-items:flex-start;flex-direction:column}}


/* v16 - STRONDA, acesso do cliente, alertas de pagamento e relatórios */
.access-status{padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:#0d151e;margin-bottom:9px;font-size:11px;line-height:1.45}.payment-feed-panel{margin-bottom:16px}.payment-new-row{background:rgba(34,197,94,.06)}.payment-new-badge{margin-left:8px}.password-self-card{margin-top:16px}.report-filters{margin-bottom:16px}.report-summary .stat-card{min-height:140px}
input:not([type="email"]):not([type="password"]),textarea{text-transform:uppercase}
@media print{body{background:#fff!important;color:#000!important}.sidebar,.dashboard-topo .toolbar,.report-filters,.report-summary,.sidebar-bottom{display:none!important}.dashboard-layout{display:block!important}.dashboard-conteudo{padding:0!important}.panel{border:0!important;box-shadow:none!important;background:#fff!important}.printable-report{display:block!important}.data-table{color:#000!important;background:#fff!important}.data-table th,.data-table td{color:#000!important;border-color:#bbb!important;background:#fff!important}.muted{color:#444!important}}

/* v17 - identidade completa, usuários e relatórios gráficos */
.sidebar-logo .logo-texto{max-width:150px;line-height:1.15;font-size:13px}.user-admin-row{background:rgba(34,197,94,.05)}
.report-info{margin-bottom:18px}.report-chart-card{background:#0f1822;border:1px solid #243548;border-radius:18px;padding:18px;margin-bottom:18px;min-height:330px}.report-chart-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.report-chart-title h2{margin:0;font-size:18px}.report-chart-title span{font-size:11px;color:#8ca5bf}.bar-chart{height:250px;display:grid;grid-template-columns:repeat(13,minmax(42px,1fr));gap:10px;align-items:end;border-bottom:1px solid #314255;padding:28px 8px 0;overflow-x:auto}.bar-column{height:100%;min-width:42px;display:grid;grid-template-rows:22px 1fr 30px;align-items:end;text-align:center}.bar-value{font-size:10px;color:#cfe4ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{height:100%;display:flex;align-items:flex-end;justify-content:center}.bar-fill{width:min(54px,82%);min-height:0;border-radius:8px 8px 2px 2px;background:linear-gradient(180deg,#22c55e,#169447);box-shadow:0 0 18px rgba(34,197,94,.12)}.bar-label{font-size:10px;color:#8ca5bf;padding-top:7px;white-space:nowrap}.report-chart-card:nth-of-type(3) .bar-fill{background:linear-gradient(180deg,#f59e0b,#c97505)}.report-chart-card:nth-of-type(4) .bar-fill{background:linear-gradient(180deg,#8b5cf6,#6d42e5)}.report-chart-card:nth-of-type(5) .bar-fill{background:linear-gradient(180deg,#22c55e,#0ca65a)}
@media(max-width:900px){.bar-chart{grid-template-columns:repeat(13,52px)}.report-chart-title{display:block}.report-chart-title span{display:block;margin-top:6px}}
@media print{.sidebar,.dashboard-topo button,.report-info{display:none!important}.dashboard-layout{display:block}.dashboard-conteudo{padding:10px}.report-chart-card{break-inside:avoid;background:#fff;color:#111;border-color:#ddd}.bar-label,.bar-value,.report-chart-title span{color:#444}.bar-chart{border-color:#aaa}.bar-fill{box-shadow:none}}

/* v18 - tipo de contrato e ações de parcelas */
.contract-type-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 8px;padding:5px;border:1px solid var(--border,#26384a);border-radius:12px;background:#0a1119}
.contract-type-btn{border:1px solid transparent;border-radius:9px;background:transparent;color:#9fb7cf;padding:12px 14px;font-weight:800;cursor:pointer}
.contract-type-btn.ativa{background:#123022;border-color:#1fc96b;color:#eafff1}
.contract-type-btn:disabled{opacity:.65;cursor:not-allowed}
.section-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:14px;padding:12px 0;border-bottom:1px solid #203040}
@media(max-width:720px){.contract-type-switch{grid-template-columns:1fr}.section-actions{align-items:stretch}.section-actions .btn-primary{width:100%}}


/* v20 - sidebar, acesso e instalação */
.sidebar{height:100dvh;min-height:100vh;overflow-y:auto;padding:16px 14px;justify-content:flex-start}
.sidebar>div:first-child{min-height:0}
.sidebar-logo{padding:4px 8px 16px}
.sidebar-menu{gap:4px}
.menu-item{padding:9px 12px;min-height:34px}
.install-menu-item{width:100%;text-align:left;border:0;font:inherit;background:transparent}
.install-menu-item:hover{background:#132119;color:#c7f8d6}
.sidebar-bottom{margin-top:auto;padding-top:20px;gap:8px}
.sidebar-usuario{padding:11px 12px}
.usuario-nome{font-size:10.5px;line-height:1.25;overflow-wrap:anywhere}
.usuario-tipo{font-size:9px}
.btn-sair{margin-top:8px;padding:7px}
@media(max-height:720px){.sidebar{padding-top:10px;padding-bottom:10px}.sidebar-logo{padding-bottom:10px}.menu-item{padding:7px 10px;min-height:30px}.sidebar-bottom{padding-top:14px}.sidebar-usuario{padding:9px 10px}}


/* v21 - navegação maior, instalação no início e acesso do cliente */
.dashboard-layout{grid-template-columns:274px 1fr}
.sidebar{padding:18px 16px;overflow-y:auto}
.sidebar-logo{padding:6px 8px 18px}
.sidebar .logo-texto,.sidebar-logo .logo-texto{font-size:14px;max-width:158px}
.sidebar-menu{gap:5px}
.menu-item{padding:10px 13px;min-height:36px;font-size:13.5px}
.sidebar-bottom{margin-top:auto;padding-top:24px}
.sidebar-usuario{padding:12px 13px}
.usuario-nome{font-size:11px;line-height:1.25}
.usuario-tipo{font-size:9.5px}
.btn-sair{margin-top:9px;padding:8px}
.dashboard-install-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:-8px 0 10px}
.install-home-btn{grid-column:4;border:1px dashed #2f7b4b;background:#0d1b13;color:#86eca8;border-radius:11px;padding:10px 14px;font-weight:800;justify-self:stretch}
.install-home-btn:hover{background:#12301e;border-color:#43a766;color:#d9ffe5}
@media(max-width:1100px){.dashboard-install-row{grid-template-columns:repeat(2,minmax(0,1fr))}.install-home-btn{grid-column:2}}
@media(max-width:760px){.dashboard-layout{display:block}.dashboard-install-row{grid-template-columns:1fr}.install-home-btn{grid-column:1}.sidebar{height:auto;min-height:0}.sidebar-bottom{padding-top:18px}}
@media(max-height:720px) and (min-width:761px){.sidebar{padding-top:12px;padding-bottom:12px}.sidebar-logo{padding-bottom:12px}.menu-item{padding:8px 11px;min-height:32px;font-size:12.5px}.sidebar-bottom{padding-top:16px}.sidebar-usuario{padding:10px 11px}.usuario-nome{font-size:10px}.btn-sair{margin-top:7px;padding:7px}}


/* v22 - acesso resiliente, campos obrigatórios e navegação mais legível */
.dashboard-layout{grid-template-columns:286px 1fr}
.sidebar{padding:20px 16px 16px}
.sidebar-logo{padding:6px 8px 20px}
.sidebar .logo-texto,.sidebar-logo .logo-texto{font-size:15px;max-width:172px;line-height:1.16}
.sidebar-menu{gap:7px}
.menu-item{padding:12px 14px;min-height:41px;font-size:14.5px;display:flex;align-items:center}
.sidebar-bottom{margin-top:auto;padding-top:26px}
.sidebar-usuario{padding:13px 14px}
.usuario-nome{font-size:11.2px;line-height:1.3}
.usuario-tipo{font-size:9.5px}
.btn-sair{margin-top:10px;padding:9px}
.dashboard-home-topo{align-items:flex-start;margin-bottom:14px}
.dashboard-home-topo .install-home-btn{width:min(244px,24vw);min-width:190px;margin:0;padding:11px 16px;align-self:flex-start}
.required-tag{font-size:8px;color:#73dda0;font-weight:800;margin-left:5px;letter-spacing:.25px}
.campo-form input:required{border-color:#2d6545}
@media(max-width:1100px){.dashboard-layout{grid-template-columns:260px 1fr}.dashboard-home-topo .install-home-btn{width:210px}.menu-item{font-size:13.5px;padding:10px 12px;min-height:37px}}
@media(max-width:760px){.dashboard-layout{display:block}.dashboard-home-topo{align-items:stretch;gap:12px}.dashboard-home-topo .install-home-btn{width:100%;min-width:0}.sidebar{height:auto;min-height:0}.sidebar-menu{gap:5px}.menu-item{min-height:36px}}
@media(max-height:720px) and (min-width:761px){.sidebar{padding-top:10px;padding-bottom:10px}.sidebar-logo{padding-bottom:10px}.sidebar-menu{gap:3px}.menu-item{padding:7px 11px;min-height:31px;font-size:12.5px}.sidebar-bottom{padding-top:12px}.sidebar-usuario{padding:9px 10px}.usuario-nome{font-size:10px}.btn-sair{margin-top:6px;padding:7px}}

/* v23 - distribuir melhor os menus na altura da lateral sem diminuir os botões */
@media(min-width:761px){
  .sidebar{overflow-y:hidden}
  .sidebar>div:first-child{display:flex;flex-direction:column;flex:1;min-height:0}
  .sidebar-logo{flex:0 0 auto}
  .sidebar-menu{display:flex;flex-direction:column;justify-content:space-evenly;flex:1;min-height:0;gap:0;padding:2px 0 10px}
  .menu-item{flex:0 0 auto}
  .sidebar-bottom{flex:0 0 auto;margin-top:0;padding-top:10px}
}
@media(max-height:720px) and (min-width:761px){
  .sidebar{padding:12px 16px 10px}
  .sidebar-logo{padding:4px 8px 10px}
  .sidebar-menu{justify-content:space-between;padding-bottom:6px}
  .menu-item{padding:9px 12px;min-height:35px;font-size:13px}
  .sidebar-bottom{padding-top:8px}
  .sidebar-usuario{padding:10px 12px}
  .usuario-nome{font-size:10.8px}
  .btn-sair{margin-top:7px;padding:8px}
}


/* v24 - usuários em uma única linha: CPF, status e ações sem quebrar */
.usuarios-table{min-width:1120px}
.usuarios-table th,.usuarios-table td{white-space:nowrap}
.usuarios-table td:first-child{white-space:normal;min-width:250px}
.usuarios-table th:nth-child(2),.usuarios-table td:nth-child(2){min-width:150px}
.usuarios-table th:nth-child(3),.usuarios-table td:nth-child(3){min-width:210px}
.usuarios-table th:nth-child(4),.usuarios-table td:nth-child(4){min-width:135px}
.usuarios-table th:nth-child(5),.usuarios-table td:nth-child(5){min-width:110px}
.usuarios-table th:nth-child(6),.usuarios-table td:nth-child(6){min-width:220px}
.usuarios-table .actions{flex-wrap:nowrap;align-items:center}
.usuarios-table .btn-icon{white-space:nowrap;padding:7px 8px;font-size:9.5px}
.usuarios-table .badge{white-space:nowrap;min-width:max-content}
@media(max-width:1180px){.usuarios-table{min-width:1060px}.usuarios-table th:nth-child(6),.usuarios-table td:nth-child(6){min-width:205px}.usuarios-table .btn-icon{padding:6px 7px;font-size:9px}}


/* v25 - tabela de usuários sem cortes e salvamento de acesso pelo cadastro do cliente */
.usuarios-table{width:100%;min-width:0!important;table-layout:fixed}
.usuarios-table th,.usuarios-table td{white-space:nowrap;padding-left:8px;padding-right:8px}
.usuarios-table th:nth-child(1),.usuarios-table td:nth-child(1){width:23%;min-width:0!important;white-space:normal}
.usuarios-table th:nth-child(2),.usuarios-table td:nth-child(2){width:14%;min-width:0!important}
.usuarios-table th:nth-child(3),.usuarios-table td:nth-child(3){width:19%;min-width:0!important;overflow:hidden;text-overflow:ellipsis}
.usuarios-table th:nth-child(4),.usuarios-table td:nth-child(4){width:11%;min-width:0!important}
.usuarios-table th:nth-child(5),.usuarios-table td:nth-child(5){width:10%;min-width:0!important}
.usuarios-table th:nth-child(6),.usuarios-table td:nth-child(6){width:23%;min-width:0!important}
.usuarios-table .actions{display:flex;flex-wrap:nowrap;align-items:center;gap:5px;width:100%}
.usuarios-table .actions .btn-icon{flex:0 0 auto;white-space:nowrap;padding:6px 7px;font-size:8.8px}
.usuarios-table .badge{white-space:nowrap;min-width:max-content}
.usuarios-table td:nth-child(2),.usuarios-table td:nth-child(3),.usuarios-table td:nth-child(4),.usuarios-table td:nth-child(5){font-size:12px}
.usuarios-table-wrap{overflow-x:hidden}
@media(max-width:1180px) and (min-width:761px){
  .usuarios-table th,.usuarios-table td{padding-left:6px;padding-right:6px}
  .usuarios-table th:nth-child(1),.usuarios-table td:nth-child(1){width:22%}
  .usuarios-table th:nth-child(2),.usuarios-table td:nth-child(2){width:14%}
  .usuarios-table th:nth-child(3),.usuarios-table td:nth-child(3){width:18%}
  .usuarios-table th:nth-child(4),.usuarios-table td:nth-child(4){width:11%}
  .usuarios-table th:nth-child(5),.usuarios-table td:nth-child(5){width:10%}
  .usuarios-table th:nth-child(6),.usuarios-table td:nth-child(6){width:25%}
  .usuarios-table .actions .btn-icon{padding:6px 6px;font-size:8.1px}
}


/* v26 - ações de usuários invertidas e botões um pouco maiores */
.usuarios-table th:nth-child(1),.usuarios-table td:nth-child(1){width:22%}
.usuarios-table th:nth-child(2),.usuarios-table td:nth-child(2){width:14%}
.usuarios-table th:nth-child(3),.usuarios-table td:nth-child(3){width:18%}
.usuarios-table th:nth-child(4),.usuarios-table td:nth-child(4){width:10%}
.usuarios-table th:nth-child(5),.usuarios-table td:nth-child(5){width:9%}
.usuarios-table th:nth-child(6),.usuarios-table td:nth-child(6){width:27%}
.usuarios-table .actions{gap:7px}
.usuarios-table .actions .btn-icon{padding:7px 9px;font-size:9.5px}
@media(max-width:1180px) and (min-width:761px){
  .usuarios-table th:nth-child(1),.usuarios-table td:nth-child(1){width:21%}
  .usuarios-table th:nth-child(2),.usuarios-table td:nth-child(2){width:14%}
  .usuarios-table th:nth-child(3),.usuarios-table td:nth-child(3){width:17%}
  .usuarios-table th:nth-child(4),.usuarios-table td:nth-child(4){width:10%}
  .usuarios-table th:nth-child(5),.usuarios-table td:nth-child(5){width:9%}
  .usuarios-table th:nth-child(6),.usuarios-table td:nth-child(6){width:29%}
  .usuarios-table .actions .btn-icon{padding:6px 8px;font-size:9px}
}


/* v27 - letras maiores nos botões do menu lateral, mantendo o espaçamento atual */
.sidebar-menu .menu-item{
  font-size:16px;
  font-weight:800;
}


/* v29 - status visual, PIX por parcela e edição administrativa de parcelas */
.badge.future,.badge.partial_future{background:#10283a;color:#8ad6ff;border:1px solid #245475}
.badge.today{background:#112b1b;color:#83e6a4;border:1px solid #27583a}
.badge.late,.badge.partial_late{background:#36171a;color:#ff9fa5;border:1px solid #6c2a31}
.btn-client-pix{width:100%;margin-top:10px;border:1px solid #2b7d49;background:#12351f;color:#9cf1b8;border-radius:9px;padding:10px 12px;font-size:11px;font-weight:900;letter-spacing:.2px}
.btn-client-pix:hover{background:#174829;border-color:#3ca860;color:#c7f8d6}
.admin-adjusted{color:#8ad6ff!important;font-weight:800}
.installment-row .actions [data-edit-installment]{border-color:#315a78;color:#9dd8ff;background:#0e2030}


/* v29 - área do cliente aproveitando toda a largura útil da tela */
.client-main{width:100%;max-width:none;margin:0;padding:28px 24px}
@media(max-width:760px){.client-main{padding:18px 14px}}


/* v42 - tabela USUÁRIOS sem cortar nome/e-mail; preserva ações da v41 */
.usuarios-table-wrap{
  overflow-x:auto!important;
  overflow-y:visible;
}
.usuarios-table{
  width:100%;
  min-width:955px!important;
  table-layout:auto!important;
}
.usuarios-table th,
.usuarios-table td{
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.usuarios-table th:nth-child(1),.usuarios-table td:nth-child(1){
  width:auto!important;
  min-width:225px!important;
  white-space:nowrap!important;
}
.usuarios-table th:nth-child(2),.usuarios-table td:nth-child(2){
  width:auto!important;
  min-width:120px!important;
}
.usuarios-table th:nth-child(3),.usuarios-table td:nth-child(3){
  width:auto!important;
  min-width:220px!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.usuarios-table th:nth-child(4),.usuarios-table td:nth-child(4){
  width:auto!important;
  min-width:110px!important;
}
.usuarios-table th:nth-child(5),.usuarios-table td:nth-child(5){
  width:auto!important;
  min-width:80px!important;
}
.usuarios-table th:nth-child(6),.usuarios-table td:nth-child(6){
  width:auto!important;
  min-width:200px!important;
}
.usuarios-table .actions{
  width:auto!important;
  flex-wrap:nowrap!important;
  gap:7px;
}
.usuarios-table .actions .btn-icon{
  flex:0 0 auto;
  white-space:nowrap;
}
@media(max-width:1180px) and (min-width:761px){
  .usuarios-table{
    min-width:955px!important;
  }
  .usuarios-table th:nth-child(1),.usuarios-table td:nth-child(1){min-width:225px!important;width:auto!important}
  .usuarios-table th:nth-child(2),.usuarios-table td:nth-child(2){min-width:120px!important;width:auto!important}
  .usuarios-table th:nth-child(3),.usuarios-table td:nth-child(3){min-width:220px!important;width:auto!important}
  .usuarios-table th:nth-child(4),.usuarios-table td:nth-child(4){min-width:110px!important;width:auto!important}
  .usuarios-table th:nth-child(5),.usuarios-table td:nth-child(5){min-width:80px!important;width:auto!important}
  .usuarios-table th:nth-child(6),.usuarios-table td:nth-child(6){min-width:200px!important;width:auto!important}
}

/* v43 - USUÁRIOS: dados completos e todos os botões visíveis sem rolagem lateral */
.usuarios-table-wrap{
  overflow-x:hidden!important;
}
.usuarios-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
.usuarios-table th,
.usuarios-table td{
  min-width:0!important;
  overflow:visible!important;
  text-overflow:clip!important;
  vertical-align:middle;
  padding-left:8px;
  padding-right:8px;
}
.usuarios-table th:nth-child(1),.usuarios-table td:nth-child(1){width:24%!important;white-space:normal!important}
.usuarios-table th:nth-child(2),.usuarios-table td:nth-child(2){width:12%!important;white-space:nowrap!important}
.usuarios-table th:nth-child(3),.usuarios-table td:nth-child(3){width:21%!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important}
.usuarios-table th:nth-child(4),.usuarios-table td:nth-child(4){width:10%!important;white-space:nowrap!important}
.usuarios-table th:nth-child(5),.usuarios-table td:nth-child(5){width:9%!important;white-space:nowrap!important}
.usuarios-table th:nth-child(6),.usuarios-table td:nth-child(6){width:24%!important;white-space:normal!important}
.usuarios-table .actions{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:6px!important;
  width:100%!important;
}
.usuarios-table td:nth-child(6)>.btn-icon,
.usuarios-table .actions .btn-icon{
  flex:0 0 auto!important;
  white-space:nowrap!important;
  padding:7px 8px!important;
  font-size:9px!important;
}
@media(max-width:1180px) and (min-width:761px){
  .usuarios-table th,.usuarios-table td{padding-left:6px;padding-right:6px}
  .usuarios-table th:nth-child(1),.usuarios-table td:nth-child(1){width:23%!important}
  .usuarios-table th:nth-child(2),.usuarios-table td:nth-child(2){width:12%!important}
  .usuarios-table th:nth-child(3),.usuarios-table td:nth-child(3){width:20%!important}
  .usuarios-table th:nth-child(4),.usuarios-table td:nth-child(4){width:10%!important}
  .usuarios-table th:nth-child(5),.usuarios-table td:nth-child(5){width:9%!important}
  .usuarios-table th:nth-child(6),.usuarios-table td:nth-child(6){width:26%!important}
  .usuarios-table td:nth-child(6)>.btn-icon,
  .usuarios-table .actions .btn-icon{padding:6px 7px!important;font-size:8.6px!important}
}

/* v44 - USUÁRIOS: nome do administrador completo em uma linha sem perder os botões */
.usuarios-table th:nth-child(1),.usuarios-table td:nth-child(1){width:26%!important}
.usuarios-table th:nth-child(2),.usuarios-table td:nth-child(2){width:12%!important}
.usuarios-table th:nth-child(3),.usuarios-table td:nth-child(3){width:20%!important}
.usuarios-table th:nth-child(4),.usuarios-table td:nth-child(4){width:10%!important}
.usuarios-table th:nth-child(5),.usuarios-table td:nth-child(5){width:9%!important}
.usuarios-table th:nth-child(6),.usuarios-table td:nth-child(6){width:23%!important}
.usuarios-table .user-admin-row td:first-child strong{
  display:block;
  white-space:nowrap!important;
  font-size:12px;
  letter-spacing:-.1px;
}
@media(max-width:1180px) and (min-width:761px){
  .usuarios-table th:nth-child(1),.usuarios-table td:nth-child(1){width:27%!important}
  .usuarios-table th:nth-child(2),.usuarios-table td:nth-child(2){width:11%!important}
  .usuarios-table th:nth-child(3),.usuarios-table td:nth-child(3){width:20%!important}
  .usuarios-table th:nth-child(4),.usuarios-table td:nth-child(4){width:10%!important}
  .usuarios-table th:nth-child(5),.usuarios-table td:nth-child(5){width:9%!important}
  .usuarios-table th:nth-child(6),.usuarios-table td:nth-child(6){width:23%!important}
  .usuarios-table .user-admin-row td:first-child strong{font-size:11.5px}
}

/* v45 - USUÁRIOS: ajuste final mínimo da linha do administrador.
   Dá um pouco mais de espaço ao nome/e-mail sem esconder os botões. */
.usuarios-table th:nth-child(1),.usuarios-table td:nth-child(1){width:27%!important}
.usuarios-table th:nth-child(2),.usuarios-table td:nth-child(2){width:11%!important}
.usuarios-table th:nth-child(3),.usuarios-table td:nth-child(3){width:22%!important}
.usuarios-table th:nth-child(4),.usuarios-table td:nth-child(4){width:10%!important}
.usuarios-table th:nth-child(5),.usuarios-table td:nth-child(5){width:9%!important}
.usuarios-table th:nth-child(6),.usuarios-table td:nth-child(6){width:21%!important}
.usuarios-table .user-admin-row td:first-child strong{
  white-space:nowrap!important;
  font-size:11.8px!important;
  letter-spacing:-.15px!important;
}
.usuarios-table .user-admin-row td:nth-child(3){
  white-space:nowrap!important;
  overflow:visible!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  font-size:11.5px!important;
}
@media(max-width:1180px) and (min-width:761px){
  .usuarios-table th:nth-child(1),.usuarios-table td:nth-child(1){width:27%!important}
  .usuarios-table th:nth-child(2),.usuarios-table td:nth-child(2){width:11%!important}
  .usuarios-table th:nth-child(3),.usuarios-table td:nth-child(3){width:21%!important}
  .usuarios-table th:nth-child(4),.usuarios-table td:nth-child(4){width:10%!important}
  .usuarios-table th:nth-child(5),.usuarios-table td:nth-child(5){width:9%!important}
  .usuarios-table th:nth-child(6),.usuarios-table td:nth-child(6){width:22%!important}
  .usuarios-table .user-admin-row td:first-child strong{font-size:11.3px!important}
  .usuarios-table .user-admin-row td:nth-child(3){font-size:11px!important}
}


/* v46 - menu lateral recolhível inspirado na navegação da Telemetria.
   Estado é salvo no navegador e vale para todas as telas administrativas. */
@media(min-width:761px){
  /* v48: sem animação na abertura de uma nova página.
     A transição só é ligada depois que o estado salvo da lateral já foi aplicado. */
  .dashboard-layout{
    transition:none;
  }
  .sidebar{
    position:sticky;
    overflow:hidden!important;
    transition:none;
  }
  .dashboard-layout.sidebar-animate{transition:grid-template-columns .22s ease}
  .dashboard-layout.sidebar-animate .sidebar{transition:width .22s ease,padding .22s ease}
  .sidebar-logo{
    position:relative;
    display:flex;
    align-items:center;
    gap:10px;
    padding-right:44px!important;
  }
  .sidebar-toggle{
    position:absolute;
    right:3px;
    top:50%;
    transform:translateY(-50%);
    width:34px;
    height:34px;
    border:1px solid var(--border);
    border-radius:9px;
    background:#101923;
    color:#dce8f4;
    display:grid;
    place-items:center;
    font-size:25px;
    line-height:1;
    padding:0;
    z-index:3;
  }
  .sidebar-toggle:hover{border-color:#3a526b;background:#142131;color:#fff}
  .sidebar-toggle-icon{display:block;transform:translateY(-1px)}
  .menu-item{gap:11px;overflow:hidden;white-space:nowrap}
  .menu-icon{width:23px;height:23px;min-width:23px;display:grid;place-items:center;color:#9bb0c6}
  .menu-icon svg,.btn-sair-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .menu-item:hover .menu-icon,.menu-item.ativo .menu-icon{color:#9cf1b8}
  .menu-label{display:block;min-width:0;transition:opacity .14s ease}
  .btn-sair{display:flex;align-items:center;justify-content:center;gap:9px}
  .btn-sair-icon{width:20px;height:20px;display:grid;place-items:center;flex:0 0 20px}

  .dashboard-layout.sidebar-collapsed{grid-template-columns:76px 1fr!important}
  .dashboard-layout.sidebar-collapsed .sidebar{padding-left:10px!important;padding-right:10px!important}
  .dashboard-layout.sidebar-collapsed .sidebar-logo{
    justify-content:center;
    padding:5px 0 12px!important;
    min-height:48px;
  }
  .dashboard-layout.sidebar-collapsed .sidebar-logo .logo-box,
  .dashboard-layout.sidebar-collapsed .sidebar-logo .logo-texto{display:none!important}
  .dashboard-layout.sidebar-collapsed .sidebar-toggle{
    position:static;
    transform:none;
    width:42px;
    height:42px;
    font-size:21px;
    margin:0 auto;
  }
  .dashboard-layout.sidebar-collapsed .sidebar-menu{align-items:center}
  .dashboard-layout.sidebar-collapsed .menu-item{
    width:48px;
    min-width:48px;
    height:44px;
    min-height:44px;
    padding:0!important;
    border-radius:10px;
    justify-content:center;
    border-left:0!important;
  }
  .dashboard-layout.sidebar-collapsed .menu-item.ativo{box-shadow:inset 3px 0 0 var(--green)}
  .dashboard-layout.sidebar-collapsed .menu-icon{width:24px;height:24px;min-width:24px}
  .dashboard-layout.sidebar-collapsed .menu-icon svg{width:23px;height:23px}
  .dashboard-layout.sidebar-collapsed .menu-label{display:none!important}
  .dashboard-layout.sidebar-collapsed .sidebar-bottom{padding-top:8px}
  .dashboard-layout.sidebar-collapsed .sidebar-usuario{
    border:0;
    background:transparent;
    padding:0;
    display:flex;
    justify-content:center;
  }
  .dashboard-layout.sidebar-collapsed .usuario-nome,
  .dashboard-layout.sidebar-collapsed .usuario-tipo{display:none!important}
  .dashboard-layout.sidebar-collapsed .btn-sair{
    width:48px;
    height:44px;
    margin:0;
    padding:0;
    border-radius:10px;
  }
  .dashboard-layout.sidebar-collapsed .btn-sair-label{display:none!important}
  .dashboard-layout.sidebar-collapsed .btn-sair-icon{width:23px;height:23px}
  .dashboard-layout.sidebar-collapsed .btn-sair-icon svg{width:23px;height:23px}

  /* Com o menu recolhido, a tabela de usuários ganha espaço e mantém nome/e-mail/botões. */
  .dashboard-layout.sidebar-collapsed .usuarios-table .user-admin-row td:first-child strong{font-size:12px!important}
  .dashboard-layout.sidebar-collapsed .usuarios-table .user-admin-row td:nth-child(3){font-size:11.5px!important}
}
@media(max-width:760px){
  .sidebar-toggle{display:none!important}
  .menu-icon{display:none!important}
}


/* v47 - ajuste fino da tabela USUÁRIOS com o menu aberto.
   Dá respiro real entre PERFIL e STATUS sem voltar a cortar nome/e-mail/ações.
   Com o menu recolhido, mantém o aproveitamento amplo da v46. */
@media(min-width:761px){
  .dashboard-layout:not(.sidebar-collapsed) .usuarios-table th:nth-child(1),
  .dashboard-layout:not(.sidebar-collapsed) .usuarios-table td:nth-child(1){width:26%!important}
  .dashboard-layout:not(.sidebar-collapsed) .usuarios-table th:nth-child(2),
  .dashboard-layout:not(.sidebar-collapsed) .usuarios-table td:nth-child(2){width:10%!important}
  .dashboard-layout:not(.sidebar-collapsed) .usuarios-table th:nth-child(3),
  .dashboard-layout:not(.sidebar-collapsed) .usuarios-table td:nth-child(3){width:22%!important}
  .dashboard-layout:not(.sidebar-collapsed) .usuarios-table th:nth-child(4),
  .dashboard-layout:not(.sidebar-collapsed) .usuarios-table td:nth-child(4){width:12%!important;padding-right:10px!important}
  .dashboard-layout:not(.sidebar-collapsed) .usuarios-table th:nth-child(5),
  .dashboard-layout:not(.sidebar-collapsed) .usuarios-table td:nth-child(5){width:10%!important;padding-left:10px!important}
  .dashboard-layout:not(.sidebar-collapsed) .usuarios-table th:nth-child(6),
  .dashboard-layout:not(.sidebar-collapsed) .usuarios-table td:nth-child(6){width:20%!important}

  .dashboard-layout:not(.sidebar-collapsed) .usuarios-table td:nth-child(4){white-space:nowrap!important}
  .dashboard-layout:not(.sidebar-collapsed) .usuarios-table td:nth-child(5) .badge{display:inline-flex!important;margin-left:0!important}
  .dashboard-layout:not(.sidebar-collapsed) .usuarios-table .user-admin-row td:first-child strong{
    font-size:11.7px!important;
    letter-spacing:-.16px!important;
  }
  .dashboard-layout:not(.sidebar-collapsed) .usuarios-table .user-admin-row td:nth-child(3){font-size:11.2px!important}
}


/* v49 - estado da lateral aplicado antes do primeiro desenho da página.
   Evita abrir e recolher rapidamente ao atualizar ou trocar de tela. */
@media(min-width:761px){
  html.sidebar-initial-collapsed .dashboard-layout{grid-template-columns:76px 1fr!important;transition:none!important}
  html.sidebar-initial-collapsed .sidebar{padding-left:10px!important;padding-right:10px!important;transition:none!important}
  html.sidebar-initial-collapsed .sidebar-logo{justify-content:center;padding:5px 0 12px!important;min-height:48px}
  html.sidebar-initial-collapsed .sidebar-logo .logo-box,
  html.sidebar-initial-collapsed .sidebar-logo .logo-texto{display:none!important}
  html.sidebar-initial-collapsed .sidebar-menu{align-items:center}
  html.sidebar-initial-collapsed .menu-item{width:48px;min-width:48px;height:44px;min-height:44px;padding:0!important;border-radius:10px;justify-content:center;border-left:0!important}
  html.sidebar-initial-collapsed .menu-item.ativo{box-shadow:inset 3px 0 0 var(--green)}
  html.sidebar-initial-collapsed .menu-label{display:none!important}
  html.sidebar-initial-collapsed .sidebar-bottom{padding-top:8px}
  html.sidebar-initial-collapsed .sidebar-usuario{border:0;background:transparent;padding:0;display:flex;justify-content:center}
  html.sidebar-initial-collapsed .usuario-nome,
  html.sidebar-initial-collapsed .usuario-tipo{display:none!important}
  html.sidebar-initial-collapsed .btn-sair{width:48px;height:44px;margin:0;padding:0;border-radius:10px}
  html.sidebar-initial-collapsed .btn-sair-label{display:none!important}
  html.sidebar-initial-collapsed .sidebar-toggle{position:static!important;transform:none!important;width:42px!important;height:42px!important;font-size:21px!important;margin:0 auto!important}
}
