/* V503 source 1: anonymous */
:root{
--bg:#fafafa;--panel:#fff;--text:#171717;--muted:#6b7280;--line:#e5e7eb;--soft:#f4f4f5;
--primary:#1f2937;--green:#16a34a;--red:#ef4444;--yellow:#eab308;--blue:#3b82f6;--purple:#8b5cf6;
}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;background:var(--bg);color:var(--text)}
button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.app{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.side{background:#111;border-right:1px solid #262626;padding:12px 10px;color:#fff}
.brand{padding:10px 8px 16px;text-align:center}.brand img{width:150px;max-height:105px;object-fit:contain;display:block;margin:auto}.selectbox{border:1px solid var(--line);padding:10px;border-radius:10px;width:100%;background:#fff;margin:5px 0 14px}
.nav button{width:100%;border:0;background:transparent;padding:11px 12px;border-radius:10px;text-align:left;margin:2px 0;color:#d4d4d8}
.nav button.active,.nav button:hover{background:#fff;color:#111;font-weight:700}
.main{padding:18px 22px}.top{display:flex;align-items:center;justify-content:space-between;gap:14px}.top h1{margin:0;font-size:26px}.sub{color:var(--muted);font-size:14px;margin-top:4px}
.btn{border:1px solid #a1a1aa;background:#fff;border-radius:9px;padding:9px 12px}.btn.primary{background:#18181b;color:#fff;border-color:#18181b}.btn.danger{color:#b91c1c;border-color:#fecaca;background:#fff}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;margin-top:18px}
.shortcuts{display:flex;flex-wrap:wrap;gap:8px}.shortcut{border:1px solid #a1a1aa;border-radius:9px;background:#fff;padding:8px 12px}
.filters{display:grid;grid-template-columns:240px 180px 1fr 115px;gap:10px;align-items:end;margin-top:16px}
.field label{display:block;font-size:12px;font-weight:700;margin-bottom:6px}.field input,.field select{width:100%;border:1px solid #d4d4d8;border-radius:9px;padding:10px;background:#fff}
.chips{border-top:1px solid var(--line);margin-top:12px;padding-top:12px;color:#2563eb;font-size:13px}
.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.card{border-radius:13px;padding:14px;min-height:96px}.card .name{font-weight:700}.card .count{font-size:12px;color:#52525b;margin-top:8px}.card .value{font-size:19px;font-weight:800;margin-top:5px}
.c1{background:#fff6cc}.c2{background:#dbeafe}.c3{background:#fee2e2}.c4{background:#dcfce7}.c5{background:#ede9fe}.c6{background:#f4f4f5}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px;border-bottom:1px solid var(--line);font-size:13px}th{color:#71717a}
.status{padding:5px 8px;border-radius:999px;font-weight:700;font-size:11px}.pagar{background:#fef3c7;color:#92400e}.agendada{background:#dbeafe;color:#1d4ed8}.atrasado{background:#fee2e2;color:#991b1b}.paga{background:#dcfce7;color:#166534}.conciliada{background:#ede9fe;color:#6d28d9}.cancelada{background:#eee;color:#52525b}
.boleto-status{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}
.boleto-ok{background:#dcfce7;color:#166534}.boleto-atencao{background:#fef3c7;color:#92400e}.boleto-urgente{background:#eee9df;color:#9a3412}.boleto-vencido{background:#fee2e2;color:#991b1b}.boleto-pago{background:#e5e7eb;color:#374151}
.boleto-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}
.boleto-card h4{margin:0 0 6px}.boleto-card p{margin:4px 0;color:#52525b;font-size:13px}
.alert-item{border:1px solid var(--line);border-left:5px solid #a1a1aa;border-radius:12px;padding:14px;background:#fff;margin:10px 0}
.alert-item h4{margin:0 0 5px}.alert-item p{margin:0;color:#52525b;font-size:13px;line-height:1.45}
.alert-high{border-left-color:#ef4444}.alert-medium{border-left-color:#f59e0b}.alert-low{border-left-color:#22c55e}
.flow-danger{color:#b91c1c;font-weight:800}.flow-good{color:#15803d;font-weight:800}.flow-warning{color:#b45309;font-weight:800}


.modalbg{position:fixed;inset:0;background:#0007;display:flex;align-items:center;justify-content:center;padding:20px;z-index:20}.modal{background:#fff;width:min(640px,100%);border-radius:16px;padding:18px;max-height:90vh;overflow:auto}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.full{grid-column:1/-1}.modal h2{margin-top:0}
.login{min-height:100vh;display:grid;place-items:center;background:#f6f7f8;padding:20px}.loginbox{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}
.loginbox h1{margin-top:0}.loginbox .field{margin:10px 0}.note{font-size:12px;color:#71717a;line-height:1.45}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px}.kpi b{font-size:22px}.kpi small{display:block;color:var(--muted);margin-bottom:5px}
.dre{display:grid;grid-template-columns:1fr 1fr;gap:16px}.drebox{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px}
@media(max-width:1050px){.cards{grid-template-columns:repeat(3,1fr)}.filters{grid-template-columns:1fr 1fr}.kpis{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.app{grid-template-columns:1fr}.side{display:none}.main{padding:14px}.cards{grid-template-columns:1fr 1fr}.filters,.formgrid,.dre{grid-template-columns:1fr}.full{grid-column:auto}.top{align-items:flex-start}.topactions{display:flex;gap:6px;flex-wrap:wrap}}

/* Organização visual do menu lateral */
.side .nav{display:flex;flex-direction:column;gap:4px;margin-top:4px}
.side .nav button{
  display:flex;
  align-items:center;
  min-height:42px;
  width:100%;
  padding:10px 12px;
  margin:0;
  border-radius:10px;
  font-family:inherit;
  font-size:13px;
  font-weight:500;
  line-height:1.2;
  letter-spacing:0;
  white-space:nowrap;
}
.side .nav button.active{font-weight:700}



/* Retorno ao visual original preto e branco */
:root{
  --bg:#fafafa;
  --panel:#ffffff;
  --text:#18181b;
  --muted:#71717a;
  --line:#e4e4e7;
  --soft:#f4f4f5;
  --primary:#111111;
}
body{background:#fafafa;color:#18181b}
.app{grid-template-columns:220px 1fr}
.side{
  background:#111;
  border-right:1px solid #262626;
  padding:12px 10px;
  color:#fff;
  box-shadow:none;
}
.brand{padding:10px 8px 16px;text-align:center;border-bottom:0;margin-bottom:0}
.brand img{width:150px;max-height:105px;object-fit:contain;display:block;margin:auto}
.selectbox{background:#fff;border:1px solid #e4e4e7;color:#27272a}
.side .nav{display:flex;flex-direction:column;gap:4px;margin-top:4px}
.side .nav button{
  display:flex;align-items:center;min-height:42px;width:100%;
  padding:10px 12px;margin:0;border-radius:10px;
  font-family:inherit;font-size:13px;font-weight:500;line-height:1.2;
  color:#d4d4d8;background:transparent;border:0;
}
.side .nav button.active,.side .nav button:hover{
  background:#fff;color:#111;font-weight:700;
}
.main{padding:22px}
.main::before{display:none}
.top{background:transparent;border:0;box-shadow:none;padding:0}
.top h1{color:#18181b}
.panel,.drebox,.kpi{background:#fff;border:1px solid #e4e4e7;box-shadow:none}
.panel>h3,.drebox h3{color:#18181b}
.btn{background:#fff;border:1px solid #d4d4d8;color:#27272a}
.btn.primary{background:#111;border-color:#111;color:#fff;box-shadow:none}
.btn.primary:hover{background:#27272a;border-color:#27272a}
.field input,.field select{background:#fff;border:1px solid #d4d4d8}
.field input:focus,.field select:focus{border-color:#71717a;box-shadow:0 0 0 3px rgba(0,0,0,.05)}
.shortcut{background:#fff;border:1px solid #d4d4d8;color:#27272a}
.shortcut:hover{background:#f4f4f5;border-color:#a1a1aa}
table thead th{background:#fafafa;color:#27272a}
.login{background:#f4f4f5}
.loginbox{background:#fff;border:1px solid #e4e4e7;box-shadow:0 18px 45px rgba(0,0,0,.12)}
.loginbox>div[style*="background:#111"]{background:#111!important}
.loginbox h1{color:#18181b}
.loginbox .btn.primary{background:#111;border-color:#111}
.modal{border:1px solid #e4e4e7;box-shadow:0 20px 60px rgba(0,0,0,.18)}
.modal h2{color:#18181b}


/* Modernização da área de boletos */
.barcode-field-wrap{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.barcode-scan-btn{min-width:145px;white-space:nowrap}
.barcode-help{margin-top:6px;font-size:11px;color:#71717a}
.barcode-help-ok{color:#166534}.barcode-help-warning{color:#92400e}
.barcode-preview{margin-top:4px;font-size:10.5px;color:#71717a;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;word-break:break-all}
.scanner-modal{width:min(680px,100%)}
.scanner-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.scanner-head h2{margin:0 0 4px}
.scanner-frame{position:relative;overflow:hidden;background:#090909;border-radius:14px;min-height:300px;display:grid;place-items:center}
#barcodeVideo{width:100%;max-height:60vh;object-fit:cover;display:block}
.scan-guide{position:absolute;left:8%;right:8%;top:32%;height:36%;border:2px solid rgba(255,255,255,.85);border-radius:14px;box-shadow:0 0 0 999px rgba(0,0,0,.16);pointer-events:none}
.scan-line{position:absolute;left:6%;right:6%;top:50%;height:2px;background:#fff;box-shadow:0 0 8px rgba(255,255,255,.75);animation:scanMove 1.7s ease-in-out infinite alternate}
@keyframes scanMove{from{transform:translateY(-55px)}to{transform:translateY(55px)}}
.scanner-status{min-height:42px;margin-top:10px;padding:10px 12px;border:1px solid #e4e4e7;border-radius:10px;background:#fafafa;color:#52525b;font-size:12px}
.scanner-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
@media(max-width:620px){
  .barcode-field-wrap{grid-template-columns:1fr}
  .barcode-scan-btn{width:100%}
  .scanner-modal{padding:14px}
  .scanner-frame{min-height:240px}
  .scanner-actions{display:grid;grid-template-columns:1fr 1fr}
}


/* Identificação automática de bancos */
.bank-identity{min-height:48px;border:1px solid #d4d4d8;border-radius:10px;background:#fafafa;display:flex;align-items:center;gap:10px;padding:8px 10px}
.bank-identity div,.bank-table-cell div{display:flex;flex-direction:column;gap:2px}
.bank-identity small,.bank-table-cell small{font-size:10px;color:#71717a}
.bank-logo{width:58px;height:34px;border-radius:8px;display:grid;place-items:center;font-size:10px;font-weight:800;letter-spacing:-.02em;background:#eee;color:#111;flex:0 0 auto}
.bank-logo.mini{width:46px;height:30px;font-size:8px}
.bank-table-cell{display:flex;align-items:center;gap:9px;min-width:180px}
.bank-cash-note{margin-top:10px;padding:10px 12px;border:1px solid #e4e4e7;border-radius:10px;background:#fafafa;color:#52525b;font-size:11px}
.bank-bb{background:#f8dc20;color:#174286}.bank-santander{background:#ec0000;color:white}.bank-inter{background:#ff7a00;color:white}
.bank-caixa{background:#0867a8;color:white}.bank-btg{background:#101820;color:white}.bank-original{background:#62b44b;color:white}
.bank-bradesco{background:#cc092f;color:white}.bank-nubank{background:#820ad1;color:white}.bank-pagbank{background:#00a868;color:white}
.bank-mercadopago{background:#009ee3;color:white}.bank-c6{background:#242424;color:white}.bank-itau{background:#ec7000;color:white}
.bank-picpay{background:#21c25e;color:white}.bank-safra{background:#183a65;color:white}.bank-sicoob{background:#075e54;color:white}
.bank-sicredi{background:#57a633;color:white}.bank-generic{background:#e4e4e7;color:#27272a}


/* Despesas recorrentes */
.recurring-box{border:1px solid #d4d4d8;border-radius:12px;padding:12px;background:#fafafa}
.recurring-check{display:flex!important;align-items:flex-start;gap:10px;cursor:pointer}
.recurring-check input{width:18px;height:18px;margin-top:2px}
.recurring-check span{display:flex;flex-direction:column;gap:3px}
.recurring-check small{font-size:11px;color:#71717a;font-weight:400}
.recurring-options{margin-top:12px;padding-top:12px;border-top:1px solid #e4e4e7;display:grid;grid-template-columns:220px 1fr;gap:12px;align-items:end}
.recurring-note{font-size:11px;color:#71717a;padding-bottom:10px}
.recurring-item{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #e4e4e7}
.recurring-item:last-child{border-bottom:0}
.recurring-main{display:flex;align-items:center;gap:10px}
.recurring-main>div:last-child{display:flex;flex-direction:column;gap:3px}
.recurring-main small{font-size:10.5px;color:#71717a}
.recurring-icon{width:36px;height:36px;border-radius:10px;background:#f4f4f5;display:grid;place-items:center;font-size:18px}
.recurring-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.recurring-status{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800}
.recurring-status.active{background:#dcfce7;color:#166534}
.recurring-status.inactive{background:#e4e4e7;color:#52525b}
.recurring-badge{display:inline-block;margin-top:4px;padding:3px 6px;border-radius:999px;background:#f4f4f5;color:#52525b;font-size:9px;font-weight:700}
.empty-state{padding:14px;color:#71717a;text-align:center}
.section-head-inline{display:flex;justify-content:space-between;align-items:center}
@media(max-width:720px){
  .recurring-options{grid-template-columns:1fr}
  .recurring-item{align-items:flex-start;flex-direction:column}
  .recurring-actions{justify-content:flex-start}
}


/* Conciliação financeira e metas */
.budget-item{padding:15px 0;border-bottom:1px solid #e4e4e7}
.budget-item:last-child{border-bottom:0}
.budget-top{display:flex;justify-content:space-between;gap:12px;align-items:center}
.budget-top>div:first-child{display:flex;flex-direction:column;gap:3px}
.budget-top small{font-size:10.5px;color:#71717a}
.budget-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.budget-pill{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800}
.budget-pill.green{background:#dcfce7;color:#166534}
.budget-pill.yellow{background:#fef3c7;color:#92400e}
.budget-pill.red{background:#fee2e2;color:#991b1b}
.budget-numbers{display:flex;justify-content:space-between;gap:10px;margin-top:12px;font-size:11px;color:#52525b}
.budget-progress{height:9px;background:#e4e4e7;border-radius:999px;overflow:hidden;margin-top:8px}
.budget-progress span{display:block;height:100%}
.budget-progress span.green{background:#22c55e}
.budget-progress span.yellow{background:#eab308}
.budget-progress span.red{background:#ef4444}
@media(max-width:700px){
  .budget-top{align-items:flex-start;flex-direction:column}
  .budget-numbers{flex-direction:column}
}


/* Indicadores mensais e DRE profissional */
.compact-select{border:1px solid #d4d4d8;border-radius:9px;padding:8px 10px;background:#fff}
.indicator-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.indicator-card{border:1px solid #e4e4e7;border-radius:12px;padding:13px;background:#fafafa;display:flex;flex-direction:column;gap:5px}
.indicator-card small{font-size:10px;color:#71717a}.indicator-card b{font-size:18px}.indicator-card span{font-size:10px;color:#71717a}
.chart-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:14px;margin-top:14px}
.chart-card{border:1px solid #e4e4e7;border-radius:12px;padding:14px;background:#fff;min-height:320px}
.chart-card h4{margin:0 0 12px;font-size:13px}.chart-card canvas{width:100%!important;height:270px!important}
.dre-professional{border:1px solid #e4e4e7;border-radius:12px;overflow:hidden}
.dre-row{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid #e4e4e7;background:#fff}
.dre-row:last-child{border-bottom:0}.dre-row.subtotal{background:#fafafa;font-weight:700}.dre-row.strong{font-weight:700}
.dre-row.final{font-size:15px;font-weight:800}.dre-row.positive-row{background:#f0fdf4;color:#166534}.dre-row.negative-row{background:#fef2f2;color:#991b1b}
.dre-settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.dre-settings-grid select[multiple]{min-height:145px}
@media(max-width:900px){
  .indicator-strip{grid-template-columns:1fr 1fr}
  .chart-grid,.dre-settings-grid{grid-template-columns:1fr}
}
@media(max-width:560px){.indicator-strip{grid-template-columns:1fr}}


/* Assistente financeiro */
.assistant-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.6fr);gap:16px}
.assistant-main{display:flex;flex-direction:column;min-height:650px}
.assistant-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.assistant-suggestions{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}
.assistant-suggestions button{border:1px solid #d4d4d8;background:#fafafa;border-radius:999px;padding:7px 10px;font-size:10.5px;cursor:pointer;color:#3f3f46}
.assistant-suggestions button:hover{background:#f4f4f5;border-color:#a1a1aa}
.assistant-chat{flex:1;min-height:360px;max-height:520px;overflow:auto;border:1px solid #e4e4e7;border-radius:14px;background:#fafafa;padding:14px}
.assistant-message{display:flex;gap:9px;margin-bottom:13px;align-items:flex-start}
.assistant-message.user{flex-direction:row-reverse}
.assistant-avatar{width:30px;height:30px;border-radius:50%;background:#111;color:#fff;display:grid;place-items:center;font-size:11px;flex:0 0 auto}
.assistant-message.user .assistant-avatar{background:#d4d4d8;color:#27272a}
.assistant-bubble{max-width:78%;background:#fff;border:1px solid #e4e4e7;border-radius:12px;padding:10px 12px}
.assistant-message.user .assistant-bubble{background:#111;color:#fff;border-color:#111}
.assistant-bubble b{font-size:10px}.assistant-bubble p{white-space:pre-line;margin:5px 0 0;line-height:1.55;font-size:12px}
.assistant-input-wrap{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}
.assistant-input-wrap textarea{resize:none;border:1px solid #d4d4d8;border-radius:12px;padding:10px 12px;font:inherit;outline:none}
.assistant-input-wrap textarea:focus{border-color:#71717a;box-shadow:0 0 0 3px rgba(0,0,0,.05)}
.assistant-side h3{margin-top:0}
.assistant-insight{padding:12px 0;border-bottom:1px solid #e4e4e7;display:flex;flex-direction:column;gap:4px}
.assistant-insight:last-child{border-bottom:0}
.assistant-insight small{font-size:10px;color:#71717a}.assistant-insight b{font-size:17px}.assistant-insight span{font-size:10px;color:#71717a}
.insight-good{color:#166534}.insight-bad{color:#991b1b}
@media(max-width:900px){.assistant-layout{grid-template-columns:1fr}.assistant-main{min-height:auto}}
@media(max-width:620px){.assistant-input-wrap{grid-template-columns:1fr}.assistant-bubble{max-width:88%}}


/* Análise financeira semanal */
.weekly-score-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:16px;margin-top:16px}
.weekly-score-panel{display:flex;align-items:center;gap:16px}
.score-ring{width:92px;height:92px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:2px;border:9px solid #e4e4e7;background:#fff;flex:0 0 auto}
.score-ring span{font-size:26px;font-weight:800}.score-ring small{font-size:10px;color:#71717a}
.score-ring.score-good{border-color:#22c55e}.score-ring.score-warn{border-color:#eab308}.score-ring.score-bad{border-color:#ef4444}
.weekly-analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.weekly-analysis-card h3{margin-top:0}
.weekly-list{margin:0;padding-left:18px}.weekly-list li{margin:0 0 8px;line-height:1.5;font-size:12px}
.weekly-empty{font-size:11px;color:#71717a;padding:8px 0}
.priority-card{border-width:2px}
.weekly-headline-result{font-size:21px;font-weight:800}.weekly-headline-result.positive{color:#166534}.weekly-headline-result.negative{color:#991b1b}
.weekly-history-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #e4e4e7}
.weekly-history-row:last-child{border-bottom:0}.weekly-history-row>div:first-child{display:flex;flex-direction:column;gap:3px}
.weekly-history-row small{font-size:10px;color:#71717a}.history-score{font-size:11px;font-weight:800;padding:6px 9px;border-radius:999px}
.history-score.good{background:#dcfce7;color:#166534}.history-score.warn{background:#fef3c7;color:#92400e}.history-score.bad{background:#fee2e2;color:#991b1b}
@media(max-width:800px){.weekly-score-grid,.weekly-analysis-grid{grid-template-columns:1fr}}
@media(max-width:520px){.weekly-score-panel,.weekly-history-row{align-items:flex-start}.weekly-history-row{flex-direction:column}}

/* V532.28 — análise semanal gerencial e plano da próxima semana. */
.weekly-period-bar-v53229{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding-top:12px;border-top:1px solid var(--line,rgba(27,67,50,.09))}.weekly-period-bar-v53229>strong{color:var(--forest,#1B4332);font-size:9px}.weekly-period-switch-v53229{display:flex;gap:4px;padding:4px;border-radius:11px;background:var(--surface2,#F9F7F1)}.weekly-period-switch-v53229 button{appearance:none;border:0;border-radius:8px;padding:8px 11px;background:transparent;color:var(--muted,#6C757D);font:inherit;font-size:9px;font-weight:800;cursor:pointer}.weekly-period-switch-v53229 button.active{background:var(--forest,#1B4332);color:#fff;box-shadow:0 3px 10px rgba(27,67,50,.16)}
.weekly-sources-v53230{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:12px}.weekly-source-v53230{display:grid;gap:3px;min-width:0;padding:10px 11px;border:1px solid var(--line,rgba(27,67,50,.09));border-radius:11px;background:var(--surface,#fff)}.weekly-source-v53230 small{color:var(--muted,#6C757D);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.weekly-source-v53230 b{color:var(--forest,#1B4332);font-size:15px}.weekly-source-v53230 span{overflow:hidden;color:var(--muted,#6C757D);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.weekly-auto-panel .backup-cloud-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.weekly-data-quality-v53228{margin-top:14px;padding:12px 14px;border:1px solid rgba(184,115,51,.25);border-radius:12px;background:rgba(184,115,51,.07);color:var(--text,#212529);font-size:10px;line-height:1.5}.weekly-data-quality-v53228.hidden{display:none}.weekly-data-quality-v53228 b{display:block;margin-bottom:4px}.weekly-data-quality-v53228 ul{margin:5px 0 0;padding-left:17px}
.weekly-compare-grid-v53228{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.weekly-compare-grid-v53228 article{min-width:0;margin:0!important;padding:15px!important}.weekly-compare-grid-v53228 small{display:block;color:var(--muted,#6C757D);font-size:8px;font-weight:900;letter-spacing:.07em}.weekly-compare-grid-v53228 strong{display:block;margin-top:7px;color:var(--forest,#1B4332);font-size:20px;overflow-wrap:anywhere}.weekly-compare-grid-v53228 article>div{display:flex;justify-content:space-between;gap:8px;margin-top:10px;padding-top:8px;border-top:1px solid var(--line,rgba(27,67,50,.09));font-size:8px}.weekly-compare-grid-v53228 article>div span{color:var(--muted,#6C757D)}.weekly-compare-grid-v53228 article>div b{color:var(--text,#212529)}.weekly-compare-grid-v53228 em{display:inline-flex;margin-top:9px;padding:5px 7px;border-radius:999px;background:var(--surface2,#F9F7F1);color:var(--muted,#6C757D);font-size:8px;font-style:normal;font-weight:900}.weekly-compare-grid-v53228 em.good{background:rgba(45,106,79,.09);color:var(--green,#2D6A4F)}.weekly-compare-grid-v53228 em.bad{background:rgba(180,35,24,.08);color:#A33B32}
.weekly-deep-grid-v53228{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.weekly-deep-card-v53228{margin:0!important}.weekly-deep-title-v53228{display:flex;gap:10px;align-items:center}.weekly-deep-title-v53228>span{display:grid;place-items:center;width:31px;height:31px;flex:0 0 31px;border-radius:10px;background:rgba(45,106,79,.1);color:var(--green,#2D6A4F);font-weight:900}.weekly-deep-title-v53228 h3{margin:0;font-size:14px}.weekly-deep-title-v53228 p{margin:3px 0 0;color:var(--muted,#6C757D);font-size:8px}.weekly-driver-list-v53228{display:grid;gap:8px;margin-top:12px}.weekly-driver-item-v53228{display:grid;grid-template-columns:8px minmax(0,1fr);gap:8px;align-items:start;padding:9px 10px;border-radius:10px;background:var(--surface2,#F9F7F1);font-size:9px;line-height:1.45;color:var(--text,#212529)}.weekly-driver-item-v53228 i{width:7px;height:7px;border-radius:50%;margin-top:3px;background:var(--copper,#B87333)}.weekly-driver-item-v53228.good i{background:var(--green,#2D6A4F)}.weekly-driver-item-v53228.bad i{background:#A33B32}
.weekly-action-panel-v53228{margin-top:16px!important;border-top:4px solid var(--copper,#B87333)!important}.weekly-action-head-v53228{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.weekly-action-head-v53228>div:first-child>span{font-size:8px;font-weight:900;letter-spacing:.11em;color:var(--copper,#B87333)}.weekly-action-head-v53228 h3{margin:4px 0 4px;color:var(--forest,#1B4332);font-size:18px}.weekly-action-head-v53228 p{margin:0;color:var(--muted,#6C757D);font-size:9px;line-height:1.45}.weekly-targets-v53228{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.weekly-targets-v53228 span{display:grid;gap:2px;min-width:100px;padding:8px 9px;border:1px solid var(--line,rgba(27,67,50,.1));border-radius:9px;background:var(--surface2,#F9F7F1);font-size:8px;color:var(--muted,#6C757D)}.weekly-targets-v53228 b{font-size:10px;color:var(--green,#2D6A4F)}
.weekly-action-list-v53228{display:grid;gap:9px;margin-top:14px}.weekly-action-item-v53228{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;padding:13px;border:1px solid var(--line,rgba(27,67,50,.11));border-radius:12px;background:var(--surface,#fff)}.weekly-action-number-v53228{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--forest,#1B4332);color:#fff;font-size:10px;font-weight:900}.weekly-action-item-v53228.high .weekly-action-number-v53228{background:#A33B32}.weekly-action-item-v53228.medium .weekly-action-number-v53228{background:var(--copper,#B87333)}.weekly-action-item-v53228 h4{margin:0;color:var(--text,#212529);font-size:11px}.weekly-action-why-v53228{margin:4px 0 8px;color:var(--muted,#6C757D);font-size:8px;line-height:1.45}.weekly-action-steps-v53228{display:grid;gap:4px}.weekly-action-steps-v53228 span{font-size:9px;color:var(--text,#212529);line-height:1.4}.weekly-action-steps-v53228 span:before{content:'✓';margin-right:6px;color:var(--green,#2D6A4F);font-weight:900}.weekly-action-goal-v53228{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.weekly-action-goal-v53228 b{padding:5px 7px;border-radius:7px;background:rgba(45,106,79,.08);color:var(--green,#2D6A4F);font-size:8px}.weekly-action-goal-v53228 em{padding:5px 7px;border-radius:7px;background:rgba(184,115,51,.08);color:#9B5E28;font-size:8px;font-style:normal;font-weight:800}
.weekly-days-panel-v53228{margin-top:16px!important}.weekly-days-scroll-v53228{margin-top:10px;overflow-x:auto}.weekly-days-scroll-v53228 table{width:100%;min-width:620px;border-collapse:collapse}.weekly-days-scroll-v53228 th,.weekly-days-scroll-v53228 td{padding:9px 8px;border-bottom:1px solid var(--line,rgba(27,67,50,.09));font-size:9px;text-align:left}.weekly-days-scroll-v53228 th{color:var(--muted,#6C757D);font-size:8px;text-transform:uppercase;letter-spacing:.04em}.weekly-days-scroll-v53228 td b.good{color:var(--green,#2D6A4F)}.weekly-days-scroll-v53228 td b.bad{color:#A33B32}.weekly-days-scroll-v53228 tr.best{background:rgba(45,106,79,.045)}
.dark-mode .weekly-action-item-v53228{background:#202B25}.dark-mode .weekly-driver-item-v53228,.dark-mode .weekly-targets-v53228 span,.dark-mode .weekly-compare-grid-v53228 em{background:#1A241F}
.dark-mode .weekly-source-v53230{background:#202B25}
@media(max-width:980px){.weekly-compare-grid-v53228{grid-template-columns:1fr 1fr}.weekly-action-head-v53228{display:grid}.weekly-targets-v53228{justify-content:flex-start}}
@media(max-width:760px){.weekly-deep-grid-v53228{grid-template-columns:1fr}}
@media(max-width:520px){.weekly-compare-grid-v53228{grid-template-columns:1fr 1fr;gap:8px}.weekly-compare-grid-v53228 article{padding:12px!important}.weekly-compare-grid-v53228 strong{font-size:16px}.weekly-action-item-v53228{grid-template-columns:1fr}.weekly-targets-v53228{display:grid;grid-template-columns:1fr 1fr;width:100%}.weekly-targets-v53228 span{min-width:0}}
@media(max-width:620px){.weekly-period-bar-v53229{align-items:stretch;flex-direction:column}.weekly-period-switch-v53229{display:grid;grid-template-columns:1fr 1fr}.weekly-period-switch-v53229 button{padding:9px 6px}.weekly-period-bar-v53229>strong{padding-left:4px}}
@media(max-width:980px){.weekly-sources-v53230{grid-template-columns:repeat(3,minmax(0,1fr))}.weekly-auto-panel .backup-cloud-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.weekly-sources-v53230{grid-template-columns:1fr 1fr}.weekly-auto-panel .backup-cloud-grid{grid-template-columns:1fr}.weekly-source-v53230{padding:9px}}


/* Open Finance, segurança e auditoria */
.openfinance-status-card{display:flex;align-items:center;gap:12px}
.status-dot{width:14px;height:14px;border-radius:50%;background:#a1a1aa;flex:0 0 auto}
.status-dot.online{background:#22c55e}.status-dot.offline{background:#f59e0b}
.openfinance-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.openfinance-flow>div{border:1px solid #e4e4e7;border-radius:12px;padding:13px;display:flex;flex-direction:column;gap:5px;background:#fafafa}
.openfinance-flow span{width:28px;height:28px;border-radius:50%;background:#111;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800}
.openfinance-flow small{font-size:10px;color:#71717a;line-height:1.45}
.openfinance-connection{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e4e4e7}
.openfinance-connection:last-child{border-bottom:0}.openfinance-connection>div{display:flex;flex-direction:column;gap:3px}.openfinance-connection small{font-size:10px;color:#71717a}
.connection-pill{padding:5px 8px;border-radius:999px;background:#dcfce7;color:#166534;font-size:10px;font-weight:800}
.security-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.security-card{border:1px solid #e4e4e7;border-radius:12px;padding:14px;background:#fafafa;display:flex;flex-direction:column;gap:10px}
.audit-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:11px 0;border-bottom:1px solid #e4e4e7}
.audit-row:last-child{border-bottom:0}.audit-row>div{display:flex;flex-direction:column;gap:3px}.audit-row>div:last-child{text-align:right}.audit-row small,.audit-row span{font-size:10px;color:#71717a}
@media(max-width:900px){.openfinance-flow,.security-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.openfinance-flow,.security-grid{grid-template-columns:1fr}.audit-row{flex-direction:column}.audit-row>div:last-child{text-align:left}}


/* ===== Organização do menu lateral - sem alterar o design geral ===== */
.side .nav{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin-top:6px;
}
.side .nav .nav-section-title{
  margin:16px 10px 6px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.10);
  color:#a1a1aa;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1;
}
.side .nav .nav-section-title:first-of-type{
  margin-top:12px;
  border-top:0;
  padding-top:0;
}
.side .nav button{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  align-items:center;
  gap:9px;
  width:100%;
  min-height:40px;
  padding:9px 11px;
  margin:0;
  text-align:left;
  white-space:normal;
}
.side .nav button .menu-icon{
  width:24px;
  min-width:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  line-height:1;
  font-weight:700;
}
.side .nav button .menu-text{
  display:block;
  font-size:12.5px;
  line-height:1.25;
  font-weight:500;
  text-align:left;
}
.side .nav button.active .menu-text{
  font-weight:700;
}
@media(max-width:760px){
  .side .nav button{
    grid-template-columns:24px minmax(0,1fr);
  }
}


/* Minha Conta, aparência e equipe */
.account-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.team-access-notice{margin-top:12px;padding:10px 12px;border:1px solid #e4e4e7;border-radius:10px;background:#fafafa;color:#52525b;font-size:11px}
.team-member-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #e4e4e7}
.team-member-row:last-child{border-bottom:0}
.team-avatar{width:36px;height:36px;border-radius:50%;background:#111;color:#fff;display:grid;place-items:center;font-weight:800}
.team-member-info{display:flex;flex-direction:column;gap:3px}
.team-member-info small{font-size:10px;color:#71717a}
.role-pill{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800}
.role-pill.owner{background:#e4e4e7;color:#27272a}.role-pill.partner{background:#f4f4f5;color:#52525b}
.partner-permissions{display:flex;flex-direction:column;gap:9px;margin-top:14px;padding:12px;border:1px solid #e4e4e7;border-radius:10px;background:#fafafa}
.partner-permissions label{display:flex;gap:8px;align-items:center;font-size:12px;color:#3f3f46}
.user-chip{display:inline-flex;padding:4px 7px;border-radius:999px;background:#f4f4f5;color:#52525b;font-size:10px;font-weight:700}
.permission-hidden{display:none!important}

body[data-panel-background="gray"]{--bg:#f1f2f3;background:#f1f2f3}
body[data-panel-background="white"]{--bg:#fff;background:#fff}
body[data-panel-background="warm"]{--bg:#faf7f2;background:#faf7f2}
body[data-panel-density="compact"] .panel{padding:11px}
body[data-panel-density="compact"] th,
body[data-panel-density="compact"] td{padding:8px}

@media(max-width:800px){
  .account-settings-grid{grid-template-columns:1fr}
  .team-member-row{grid-template-columns:38px minmax(0,1fr)}
  .team-member-row .role-pill,.team-member-row .btn{grid-column:2}
}


/* Supabase online status */
.cloud-badge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:800}
.cloud-badge.online{background:#dcfce7;color:#166534}
.cloud-badge.offline{background:#f4f4f5;color:#52525b}
.online-panel{border-style:solid}


/* Sócios online */
#pendingInvitesBlock h4{font-size:12px;color:#52525b}
#invitePasswordModal .modal{max-width:460px}


/* Permissões detalhadas */
.partner-permissions{gap:12px}
.permission-group{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;padding:12px;border:1px solid #e4e4e7;border-radius:10px;background:#fff}
.permission-group strong{grid-column:1/-1;font-size:11px;color:#27272a}
.permission-group label{margin:0}
.member-actions{display:flex;gap:6px;align-items:center}
@media(max-width:640px){
  .permission-group{grid-template-columns:1fr}
  .permission-group strong{grid-column:1}
  .member-actions{flex-wrap:wrap}
}


/* Histórico completo de alterações */
.history-filters{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.detailed-history-item{padding:14px 0;border-bottom:1px solid #e4e4e7}
.detailed-history-item:last-child{border-bottom:0}
.history-main-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.history-main-row>div:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.history-main-row small{font-size:10px;color:#71717a}
.history-user-meta{display:flex;flex-direction:column;gap:2px;text-align:right}
.history-action-pill{padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800;background:#f4f4f5;color:#52525b}
.history-action-pill.create{background:#dcfce7;color:#166534}
.history-action-pill.update{background:#dbeafe;color:#1d4ed8}
.history-action-pill.delete{background:#fee2e2;color:#991b1b}
.history-action-pill.concilIate,.history-action-pill.conciliate{background:#ede9fe;color:#6d28d9}
.history-action-pill.pay{background:#fef3c7;color:#92400e}
.history-action-pill.permission{background:#e4e4e7;color:#27272a}
.history-detail-text{margin-top:8px;font-size:11px;color:#52525b}
.history-change-list{margin-top:10px;border:1px solid #e4e4e7;border-radius:10px;overflow:hidden}
.history-change-row{display:grid;grid-template-columns:150px 1fr auto 1fr;gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid #e4e4e7;font-size:10px}
.history-change-row:last-child{border-bottom:0}
.history-change-row span{font-weight:700}
.history-change-row code{background:#fafafa;padding:4px 6px;border-radius:6px;white-space:normal;word-break:break-word}
@media(max-width:850px){
  .history-filters{grid-template-columns:1fr 1fr}
  .history-change-row{grid-template-columns:1fr}
  .history-user-meta{text-align:left}
  .history-main-row{flex-direction:column}
}
@media(max-width:520px){.history-filters{grid-template-columns:1fr}}


/* Sincronização em tempo real */
.realtime-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  height:34px;
  padding:0 10px;
  border-radius:999px;
  font-size:10px;
  font-weight:800;
  border:1px solid #e4e4e7;
  background:#fff;
  color:#52525b;
}
.realtime-badge>span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#a1a1aa;
}
.realtime-badge.online{color:#166534;background:#f0fdf4;border-color:#bbf7d0}
.realtime-badge.online>span{background:#22c55e}
.realtime-badge.syncing{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}
.realtime-badge.syncing>span{background:#3b82f6;animation:syncPulse 1s infinite}
.realtime-badge.reconnecting{color:#92400e;background:#fffbeb;border-color:#fde68a}
.realtime-badge.reconnecting>span{background:#f59e0b;animation:syncPulse 1s infinite}
.realtime-badge.offline{color:#52525b;background:#f4f4f5}
@keyframes syncPulse{0%,100%{opacity:1}50%{opacity:.35}}

.sync-toast-container{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:99999;
  display:flex;
  flex-direction:column;
  gap:8px;
  pointer-events:none;
}
.sync-toast{
  min-width:220px;
  max-width:360px;
  padding:10px 12px;
  border-radius:10px;
  background:#111;
  color:#fff;
  font-size:11px;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
  opacity:0;
  transform:translateY(8px);
  transition:.2s ease;
}
.sync-toast.show{opacity:1;transform:translateY(0)}
@media(max-width:620px){
  .realtime-badge{height:32px;padding:0 8px}
  .sync-toast-container{left:12px;right:12px;bottom:12px}
  .sync-toast{max-width:none;width:100%}
}


/* Recuperação de senha e segurança */
.link-btn{border:0;background:transparent;color:#52525b;font-size:11px;font-weight:600;cursor:pointer;padding:3px 0}
.link-btn:hover{color:#111;text-decoration:underline}
.security-message{margin-top:10px;padding:9px 10px;border-radius:9px;font-size:11px;border:1px solid #e4e4e7;background:#fafafa}
.security-message.success{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
.security-message.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.security-message.warning{background:#fffbeb;border-color:#fde68a;color:#92400e}
.security-message.info{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}


/* Backup automático na nuvem */
.backup-cloud-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.backup-cloud-stat{border:1px solid #e4e4e7;border-radius:10px;padding:11px;background:#fafafa;display:flex;flex-direction:column;gap:4px}
.backup-cloud-stat small{font-size:10px;color:#71717a}
.backup-cloud-stat b{font-size:13px}
.cloud-backup-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #e4e4e7}
.cloud-backup-row:last-child{border-bottom:0}
.cloud-backup-row>div{display:flex;flex-direction:column;gap:3px}
.cloud-backup-row small{font-size:10px;color:#71717a}
.backup-status{padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800}
.backup-status.ok{background:#dcfce7;color:#166534}
.backup-status.bad{background:#fee2e2;color:#991b1b}
@media(max-width:700px){
  .backup-cloud-grid{grid-template-columns:1fr}
  .cloud-backup-row{grid-template-columns:1fr auto}
  .cloud-backup-row .btn{grid-column:1/-1}
}


/* Múltiplas empresas e centros de custos */
.business-switcher{display:flex;align-items:center;gap:6px;height:34px;padding:0 8px;border:1px solid #e4e4e7;border-radius:9px;background:#fff}
.business-switcher span{font-size:9px;font-weight:800;color:#71717a;text-transform:uppercase}
.business-switcher select{border:0;background:transparent;font-size:11px;font-weight:700;outline:none;max-width:170px}
.business-unit-row{display:grid;grid-template-columns:minmax(190px,1fr) minmax(280px,1.2fr) auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #e4e4e7}
.business-unit-row:last-child{border-bottom:0}
.business-unit-main{display:flex;gap:10px;align-items:center}
.business-unit-main>div:last-child{display:flex;flex-direction:column;gap:3px}
.business-unit-main small,.cost-center-row small{font-size:10px;color:#71717a}
.business-unit-icon{width:36px;height:36px;border-radius:9px;background:#f4f4f5;display:grid;place-items:center;font-size:16px}
.business-unit-numbers{display:flex;gap:14px;flex-wrap:wrap}
.business-unit-numbers span{display:flex;flex-direction:column;font-size:9px;color:#71717a}
.business-unit-numbers b{font-size:11px;color:#27272a;margin-top:2px}
.cost-center-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #e4e4e7}
.cost-center-row:last-child{border-bottom:0}
.cost-center-row>div:first-child{display:flex;flex-direction:column;gap:3px}
@media(max-width:850px){
  .business-unit-row{grid-template-columns:1fr}
  .business-unit-numbers{justify-content:flex-start}
}
@media(max-width:620px){
  .business-switcher span{display:none}
  .business-switcher select{max-width:125px}
}


/* Notificações reais */
.notification-bell{position:relative;width:36px;height:34px;border:1px solid #e4e4e7;border-radius:9px;background:#fff;cursor:pointer}
.notification-unread{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#111;color:#fff;font-size:9px;display:grid;place-items:center}
.notification-drawer{position:fixed;top:72px;right:18px;width:390px;max-height:70vh;overflow:auto;background:#fff;border:1px solid #e4e4e7;border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.16);z-index:9998}
.notification-drawer-head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:14px;border-bottom:1px solid #e4e4e7}
.notification-drawer-head>div{display:flex;flex-direction:column;gap:2px}.notification-drawer-head small{font-size:10px;color:#71717a}
.notification-item{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:12px 14px;border-bottom:1px solid #e4e4e7;cursor:pointer}
.notification-item.unread{background:#fafafa}.notification-item:last-child{border-bottom:0}
.notification-type-icon{width:32px;height:32px;border-radius:9px;background:#f4f4f5;display:grid;place-items:center;font-weight:800}
.notification-item p{margin:4px 0;font-size:11px;line-height:1.4}.notification-item small{font-size:9px;color:#71717a}
.notification-settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px 16px;margin-top:14px}
.notification-settings-grid label{font-size:11px;display:flex;gap:8px;align-items:center}
.quiet-hours{display:flex;gap:7px;align-items:center}.quiet-hours input{min-width:100px}
@media(max-width:600px){
  .notification-drawer{left:10px;right:10px;top:64px;width:auto}
  .notification-settings-grid{grid-template-columns:1fr}
}


/* Análise semanal automática */
.weekly-auto-panel{border-style:solid}


/* IA avançada */
.assistant-insight.ai-highlight{background:#f5f5f5;border:1px solid #e4e4e7;border-radius:10px;padding:11px;margin-bottom:6px}


/* Temas de cores v34 - paleta cinza, verde e bege */
:root{--theme-panel:#111;--theme-panel-text:#fff;--theme-bg:#f5f5f5;--theme-accent:#111}
body[data-panel-color="original"]{--theme-panel:#111111;--theme-panel-text:#fff;--theme-accent:#111111}
body[data-panel-color="graphite"]{--theme-panel:#343638;--theme-panel-text:#fff;--theme-accent:#343638}
body[data-panel-color="green"]{--theme-panel:#43594b;--theme-panel-text:#fff;--theme-accent:#43594b}
body[data-panel-color="sage"]{--theme-panel:#778878;--theme-panel-text:#fff;--theme-accent:#667768}
body[data-panel-color="beige"]{--theme-panel:#c7b89d;--theme-panel-text:#272522;--theme-accent:#8d7e66}
body[data-panel-color="lightgray"]{--theme-panel:#d8d9d7;--theme-panel-text:#252525;--theme-accent:#666}
body[data-panel-color="white"]{--theme-panel:#fff;--theme-panel-text:#222;--theme-accent:#444}

body[data-app-background="original"]{--theme-bg:#f5f5f5}
body[data-app-background="gray"]{--theme-bg:#eceeed}
body[data-app-background="white"]{--theme-bg:#fff}
body[data-app-background="warm"]{--theme-bg:#f3eee5}
body[data-app-background="beige"]{--theme-bg:#e8dfd0}
body[data-app-background="sage"]{--theme-bg:#e6ebe5}
body[data-app-background="greenmist"]{--theme-bg:#dfe6e1}

body[data-app-background]{background:var(--theme-bg)!important}
body[data-app-background] .app,body[data-app-background] main{background:var(--theme-bg)}
body[data-panel-color] aside,body[data-panel-color] .sidebar{background:var(--theme-panel)!important;color:var(--theme-panel-text)!important}
body[data-panel-color] aside button,body[data-panel-color] aside .menu-text,body[data-panel-color] aside .menu-icon,
body[data-panel-color] .sidebar button,body[data-panel-color] .sidebar .menu-text,body[data-panel-color] .sidebar .menu-icon{color:var(--theme-panel-text)!important}
body[data-panel-color] aside button.active,body[data-panel-color] .sidebar button.active{background:rgba(255,255,255,.14)!important}
body[data-panel-color="beige"] aside button.active,body[data-panel-color="lightgray"] aside button.active,body[data-panel-color="white"] aside button.active{background:rgba(0,0,0,.08)!important}
body[data-panel-color] .btn.primary{background:var(--theme-accent);border-color:var(--theme-accent)}
.theme-preview-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.theme-chip{display:flex;align-items:center;gap:7px;border:1px solid #dedede;background:#fff;border-radius:9px;padding:7px 9px;font-size:10px;font-weight:700;cursor:pointer}
.theme-chip span{width:18px;height:18px;border-radius:5px;border:1px solid rgba(0,0,0,.12)}
.theme-chip.original span{background:#111}.theme-chip.green span{background:#43594b}.theme-chip.sage span{background:#778878}.theme-chip.graphite span{background:#343638}.theme-chip.beige span{background:#c7b89d}


/* Paleta oficial da marca v35 */
body[data-panel-color="brandwine"]{
  --theme-panel:#6E150E;
  --theme-panel-text:#FFFFFF;
  --theme-accent:#6E150E;
}
body[data-panel-color="brandbeige"]{
  --theme-panel:#FFE2B6;
  --theme-panel-text:#5A2A20;
  --theme-accent:#9A5E20;
}
body[data-panel-color="brandorange"]{
  --theme-panel:#2f3b33;
  --theme-panel-text:#FFFFFF;
  --theme-accent:#2f3b33;
}
body[data-panel-color="brandgreen"]{
  --theme-panel:#014F2D;
  --theme-panel-text:#FFFFFF;
  --theme-accent:#014F2D;
}

body[data-app-background="brandwine"]{--theme-bg:#6E150E}
body[data-app-background="brandbeige"]{--theme-bg:#FFE2B6}
body[data-app-background="brandorange"]{--theme-bg:#2f3b33}
body[data-app-background="brandgreen"]{--theme-bg:#014F2D}

body[data-app-background="brandwine"] main,
body[data-app-background="brandgreen"] main,
body[data-app-background="brandorange"] main{
  color:#fff;
}
body[data-app-background="brandwine"] .panel,
body[data-app-background="brandgreen"] .panel,
body[data-app-background="brandorange"] .panel{
  color:#222;
}

.theme-chip.brandwine span{background:#6E150E}
.theme-chip.brandgreen span{background:#014F2D}
.theme-chip.brandorange span{background:#2f3b33}
.theme-chip.brandpalette span{
  background:linear-gradient(90deg,#6E150E 0 25%,#FFE2B6 25% 50%,#2f3b33 50% 75%,#014F2D 75% 100%);
}


/* v36 - correção de leitura no hover/seleção do menu lateral */
body[data-panel-color] aside button:hover,
body[data-panel-color] .sidebar button:hover,
body[data-panel-color] aside button.active,
body[data-panel-color] .sidebar button.active,
body[data-panel-color] aside .nav-item:hover,
body[data-panel-color] .sidebar .nav-item:hover,
body[data-panel-color] aside .nav-item.active,
body[data-panel-color] .sidebar .nav-item.active{
  background:#FFFFFF !important;
  color:#111111 !important;
}

body[data-panel-color] aside button:hover *,
body[data-panel-color] .sidebar button:hover *,
body[data-panel-color] aside button.active *,
body[data-panel-color] .sidebar button.active *,
body[data-panel-color] aside .nav-item:hover *,
body[data-panel-color] .sidebar .nav-item:hover *,
body[data-panel-color] aside .nav-item.active *,
body[data-panel-color] .sidebar .nav-item.active *{
  color:#111111 !important;
}

/* Garante nome e ícone visíveis inclusive nos temas claros */
body[data-panel-color="beige"] aside button:hover,
body[data-panel-color="lightgray"] aside button:hover,
body[data-panel-color="white"] aside button:hover,
body[data-panel-color="brandbeige"] aside button:hover,
body[data-panel-color="beige"] aside button.active,
body[data-panel-color="lightgray"] aside button.active,
body[data-panel-color="white"] aside button.active,
body[data-panel-color="brandbeige"] aside button.active{
  background:#FFFFFF !important;
  color:#111111 !important;
}


/* v37 - topo organizado */
.topactions-organized{
  display:grid;
  grid-template-columns:auto minmax(210px,1fr) auto;
  gap:8px;
  align-items:center;
  width:min(100%,620px);
}
.topactions-status{
  display:flex;
  align-items:center;
  gap:6px;
}
.business-switcher-wide{
  width:100%;
  min-width:210px;
  box-sizing:border-box;
}
.business-switcher-wide select{
  width:100%;
  max-width:none;
  min-width:0;
}
.top-refresh-btn{
  height:34px;
  white-space:nowrap;
}

@media(max-width:760px){
  .topactions-organized{
    grid-template-columns:1fr auto;
    width:100%;
    gap:7px;
  }
  .topactions-status{
    grid-column:1/2;
  }
  .top-refresh-btn{
    grid-column:2/3;
    grid-row:1;
  }
  .business-switcher-wide{
    grid-column:1/-1;
    grid-row:2;
    min-width:0;
    width:100%;
    height:38px;
  }
  .business-switcher-wide span{
    display:inline !important;
    flex:0 0 auto;
  }
  .business-switcher-wide select{
    max-width:none !important;
    flex:1;
  }
}

@media(max-width:420px){
  .topactions-organized{
    grid-template-columns:1fr auto;
  }
  .realtime-badge{
    padding:0 9px;
  }
  .top-refresh-btn{
    padding-left:10px;
    padding-right:10px;
  }
}

/* V532.13 — enquadramento definitivo por faixa de tela */
@media(min-width:901px){
  body.auth-visible #authScreen.login.login-organize-style{
    grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr)!important;
  }
  body.auth-visible #authScreen .organize-login-intro-inner{max-width:680px!important}
  body.auth-visible #authScreen .organize-login-box{max-width:450px!important}
}
@media(min-width:901px) and (max-width:1199px){
  body.auth-visible #authScreen.login.login-organize-style{grid-template-columns:minmax(0,1fr) minmax(390px,.92fr)!important}
  body.auth-visible #authScreen .organize-login-intro{padding:34px!important}
  body.auth-visible #authScreen .organize-login-access{padding:28px!important}
  body.auth-visible #authScreen .organize-brand-area{margin-bottom:30px!important}
  body.auth-visible #authScreen .organize-login-copy h1{font-size:clamp(34px,4.5vw,48px)!important}
  body.auth-visible #authScreen .organize-feature-grid{margin-top:24px!important}
}
@media(min-width:1500px){
  body.auth-visible #authScreen.login.login-organize-style{
    grid-template-columns:minmax(0,1.12fr) minmax(560px,.88fr)!important;
  }
  body.auth-visible #authScreen .organize-login-intro{padding-left:max(70px,calc((100vw - 1680px)/2 + 70px))!important}
  body.auth-visible #authScreen .organize-login-access{padding-right:max(70px,calc((100vw - 1680px)/2 + 70px))!important}
}
@media(min-width:901px) and (max-height:780px){
  body.auth-visible #authScreen .organize-login-intro{padding-top:24px!important;padding-bottom:24px!important}
  body.auth-visible #authScreen .organize-brand-area{margin-bottom:18px!important}
  body.auth-visible #authScreen .kairos-business-main-logo{max-height:68px!important}
  body.auth-visible #authScreen .organize-login-copy h1{margin:13px 0 10px!important;font-size:38px!important}
  body.auth-visible #authScreen .organize-login-copy p{font-size:12px!important;line-height:1.5!important}
  body.auth-visible #authScreen .organize-feature-grid{margin-top:17px!important;gap:8px!important}
  body.auth-visible #authScreen .organize-feature-card{min-height:58px!important;padding:9px 11px!important}
  body.auth-visible #authScreen .organize-cloud-status{margin-top:15px!important}
  body.auth-visible #authScreen .organize-login-access{padding-top:18px!important;padding-bottom:18px!important}
  body.auth-visible #authScreen .organize-login-box{padding:25px 30px!important}
  body.auth-visible #authScreen .organize-login-mobile-brand{margin-bottom:18px!important}
  body.auth-visible #authScreen .kairos-v325-logo{max-height:55px!important}
  body.auth-visible #authScreen .login-online-title{margin-bottom:18px!important}
  body.auth-visible #authScreen .login-online-title h1{font-size:28px!important}
  body.auth-visible #authScreen .field{margin-bottom:12px!important}
  body.auth-visible #authScreen .login-input-wrap{min-height:48px!important}
  body.auth-visible #authScreen .login-input-wrap input,
  body.auth-visible #authScreen #authName{height:46px!important}
  body.auth-visible #authScreen .organize-login-main-btn{min-height:48px!important}
  body.auth-visible #authScreen .login-create-row{margin-top:16px!important;padding-top:14px!important}
}
@media(max-width:900px){
  body.auth-visible{overflow-x:hidden!important;background:#f7f3ea!important}
  body.auth-visible #authScreen.login.login-organize-style{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;place-items:center!important;
    width:100%!important;max-width:none!important;min-height:100dvh!important;height:auto!important;
    padding:calc(18px + env(safe-area-inset-top)) 14px calc(22px + env(safe-area-inset-bottom))!important;
    overflow-x:hidden!important;overflow-y:auto!important;
  }
  body.auth-visible #authScreen .organize-login-access{
    display:grid!important;place-items:center!important;width:100%!important;min-width:0!important;min-height:0!important;
    padding:0!important;background:transparent!important;
  }
  body.auth-visible #authScreen .organize-login-box{
    width:min(100%,440px)!important;max-width:440px!important;min-width:0!important;margin:auto!important;
    padding:28px 22px!important;overflow:hidden!important;
  }
  body.auth-visible #authScreen .organize-login-mobile-brand{display:block!important;margin:0 0 23px!important;text-align:center!important}
  body.auth-visible #authScreen .kairos-v325-logo{width:min(205px,64vw)!important;margin:auto!important;object-position:center!important}
  body.auth-visible #authScreen .login-online-title{text-align:center!important;margin-bottom:22px!important}
  body.auth-visible #authScreen .login-online-title h1{font-size:29px!important}
  body.auth-visible #authScreen .field{min-width:0!important}
  body.auth-visible #authScreen .login-input-wrap{display:flex!important;align-items:center!important;width:100%!important;min-width:0!important;overflow:hidden!important}
  body.auth-visible #authScreen .login-input-wrap input,
  body.auth-visible #authScreen #authName,
  body.auth-visible #authScreen #authEmail,
  body.auth-visible #authScreen #authPassword{
    min-width:0!important;width:100%!important;height:50px!important;padding-top:0!important;padding-bottom:0!important;
    border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;
    font-size:16px!important;line-height:normal!important;
  }
  body.auth-visible #authScreen .password-eye{flex:0 0 42px!important;width:42px!important;height:42px!important;margin-right:3px!important}
}
@media(max-width:390px){
  body.auth-visible #authScreen.login.login-organize-style{padding-left:9px!important;padding-right:9px!important}
  body.auth-visible #authScreen .organize-login-box{padding:23px 17px!important;border-radius:18px!important}
  body.auth-visible #authScreen .organize-login-mobile-brand{margin-bottom:18px!important}
  body.auth-visible #authScreen .login-online-title{margin-bottom:18px!important}
  body.auth-visible #authScreen .login-online-title h1{font-size:26px!important}
  body.auth-visible #authScreen .field{margin-bottom:13px!important}
  body.auth-visible #authScreen .login-create-row{margin-top:17px!important;padding-top:15px!important}
}


/* v38 - topo realmente reorganizado */
.topactions-clean{
  display:grid !important;
  grid-template-columns:auto minmax(230px,320px) auto;
  align-items:center;
  justify-content:end;
  gap:8px;
}
.top-status-row,.top-command-row{
  display:flex;
  align-items:center;
  gap:7px;
}
.business-switcher-clean{
  width:100%;
  min-width:230px;
}
.business-switcher-clean select{
  flex:1;
  width:100%;
  max-width:none !important;
}
.top-update-clean{white-space:nowrap}

@media(max-width:760px){
  .top{display:block !important}
  .topactions-clean{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    gap:8px !important;
    width:100% !important;
    margin-top:10px;
  }
  .top-status-row{
    grid-column:1;
    grid-row:1;
    justify-content:flex-start;
  }
  .top-command-row{
    grid-column:2;
    grid-row:1;
    justify-content:flex-end;
  }
  .business-switcher-clean{
    grid-column:1/-1;
    grid-row:2;
    min-width:0;
    width:100%;
    height:38px;
  }
  .business-switcher-clean span{
    display:inline !important;
  }
  .business-switcher-clean select{
    max-width:none !important;
  }
}


/* v55 - formulário de receita/despesa simplificado; design original preservado */
#txModal .formgrid{align-items:end}


/* ===== V57 - RESPONSIVIDADE MOBILE COMPLETA ===== */

/* Base segura para qualquer largura */
*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
img,svg,canvas{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%}

/* Desktop mantém estrutura original */
.mobile-menu-btn{display:none}
.mobile-overlay{display:none}

@media (max-width: 900px){

  body{
    min-width:0 !important;
    overflow-x:hidden !important;
  }

  /* Estrutura principal */
  .app{
    display:block !important;
    min-height:100vh;
  }

  .side{
    position:fixed !important;
    top:0;
    left:-260px;
    bottom:0;
    width:250px !important;
    min-width:250px !important;
    height:100vh;
    z-index:1002;
    overflow-y:auto;
    transition:left .22s ease;
    box-shadow:6px 0 24px rgba(0,0,0,.18);
  }

  body.mobile-menu-open .side{
    left:0;
  }

  .mobile-overlay{
    display:block;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.35);
    opacity:0;
    pointer-events:none;
    transition:opacity .22s ease;
    z-index:1001;
  }

  body.mobile-menu-open .mobile-overlay{
    opacity:1;
    pointer-events:auto;
  }

  .mobile-menu-btn{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border:1px solid #e5e7eb;
    background:#fff;
    border-radius:10px;
    font-size:22px;
    cursor:pointer;
    flex:0 0 auto;
  }

  main,
  .main,
  .content{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }

  /* Cabeçalho */
  .top{
    display:flex !important;
    align-items:flex-start !important;
    gap:10px;
    padding:12px 14px !important;
    flex-wrap:wrap;
  }

  .top > div:first-child{
    min-width:0;
    flex:1;
  }

  .top h1,.top h2{
    font-size:23px !important;
    line-height:1.15;
    margin-bottom:4px;
  }

  .topactions,
  .topactions-clean,
  .topactions-organized{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr auto !important;
    gap:8px !important;
    align-items:center;
  }

  .top-status-row,
  .topactions-status{
    grid-column:1;
  }

  .top-command-row{
    grid-column:2;
  }

  .business-switcher,
  .business-switcher-clean,
  .business-switcher-wide{
    grid-column:1 / -1 !important;
    width:100% !important;
    min-width:0 !important;
  }

  .business-switcher select,
  .business-switcher-clean select,
  .business-switcher-wide select{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }

  /* Páginas e painéis */
  .page{
    padding:14px !important;
    width:100%;
    max-width:100%;
  }

  .panel{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden;
  }

  /* KPIs / dashboard */
  .kpis,
  #execKpis,
  .dashboard-grid,
  .metrics-grid,
  .summary-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }

  .kpi{
    min-width:0 !important;
    width:100% !important;
    padding:14px !important;
  }

  .kpi b{
    font-size:22px !important;
    overflow-wrap:anywhere;
  }

  /* Blocos largos */
  .grid2,
  .two-cols,
  .split,
  .executive-grid,
  .dashboard-two-columns{
    grid-template-columns:1fr !important;
  }

  /* Formulários */
  .formgrid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .field,
  .field.full{
    grid-column:1 !important;
    width:100% !important;
    min-width:0 !important;
  }

  .field input,
  .field select,
  .field textarea{
    width:100% !important;
    min-width:0 !important;
    font-size:16px !important; /* evita zoom automático no iPhone */
  }

  /* Botões */
  .btn{
    min-height:42px;
    white-space:normal;
  }

  .quick-actions,
  .actions,
  .toolbar,
  .filters,
  .filter-row{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
  }

  .quick-actions .btn,
  .actions .btn{
    flex:1 1 150px;
  }

  /* Modais */
  .modalbg{
    padding:10px !important;
    align-items:flex-start !important;
    overflow-y:auto !important;
  }

  .modal{
    width:100% !important;
    max-width:100% !important;
    max-height:none !important;
    margin:10px 0 30px !important;
    padding:16px !important;
    border-radius:14px !important;
  }

  .modal h2{
    font-size:22px !important;
  }

  .modal > div[style*="justify-content:flex-end"]{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    width:100%;
  }

  .modal > div[style*="justify-content:flex-end"] .btn{
    width:100%;
  }

  /* Código de barras */
  .barcode-field-wrap{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  .barcode-scan-btn{
    width:100% !important;
  }

  /* Tabelas */
  .tablewrap,
  .table-wrap,
  .table-container{
    width:100%;
    max-width:100%;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
  }

  table{
    min-width:680px;
  }

  /* Listas e cards financeiros */
  .cards-grid,
  .accounts-grid,
  .budget-grid,
  .alerts-grid{
    grid-template-columns:1fr !important;
  }

  /* Drawer de notificações */
  .notification-drawer{
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:min(92vw,390px) !important;
    max-height:100vh !important;
    border-radius:0 !important;
    overflow-y:auto !important;
    z-index:1200 !important;
  }

  /* Canvas/gráficos */
  .chart-box,
  canvas{
    max-width:100% !important;
  }

  /* Evita textos cortados */
  h1,h2,h3,h4,p,small,b,span,label{
    overflow-wrap:anywhere;
  }
}

@media (max-width: 560px){

  .page{
    padding:10px !important;
  }

  .top{
    padding:10px !important;
  }

  .top h1,.top h2{
    font-size:21px !important;
  }

  #execKpis,
  .kpis,
  .dashboard-grid,
  .metrics-grid,
  .summary-grid{
    grid-template-columns:1fr !important;
  }

  .kpi{
    padding:13px !important;
  }

  .kpi b{
    font-size:21px !important;
  }

  .panel{
    padding:13px !important;
    border-radius:12px !important;
  }

  .modal{
    padding:14px !important;
  }

  .modal > div[style*="justify-content:flex-end"]{
    grid-template-columns:1fr !important;
  }

  .btn{
    width:auto;
    min-height:44px;
  }

  .quick-actions .btn,
  .actions .btn,
  .toolbar .btn{
    width:100%;
    flex:1 1 100%;
  }

  .realtime-badge{
    max-width:140px;
  }

  .business-switcher,
  .business-switcher-clean,
  .business-switcher-wide{
    height:auto !important;
    flex-wrap:wrap;
  }

  .business-switcher span,
  .business-switcher-clean span,
  .business-switcher-wide span{
    width:100%;
    margin-bottom:4px;
  }

  /* Menu lateral um pouco mais estreito em telas pequenas */
  .side{
    width:228px !important;
    min-width:228px !important;
  }
}


/* v58 - correção de interação do menu mobile */
@media (max-width:900px){
  .side{
    pointer-events:auto !important;
  }
  .side button,
  .side a,
  .side .nav-item{
    pointer-events:auto !important;
    touch-action:manipulation;
  }
  body.mobile-menu-open .side{
    visibility:visible !important;
  }
  #mobileMenuBtn{
    position:relative;
    z-index:1100;
    touch-action:manipulation;
  }
}


/* v59 - navegação mobile direta e ação rápida */
.mobile-fab{display:none}
@media(max-width:900px){
  .side{z-index:5000!important;visibility:visible}
  .mobile-overlay{z-index:4999!important}
  body:not(.mobile-menu-open) .side{left:-260px!important}
  body.mobile-menu-open .side{left:0!important}
  .side .nav button{
    display:flex!important;
    width:100%!important;
    min-height:46px!important;
    align-items:center!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
    position:relative!important;
    z-index:5001!important;
  }
  .mobile-menu-btn{
    display:inline-flex!important;
    position:relative!important;
    z-index:5100!important;
  }
  .mobile-fab:not(.hidden){
    display:flex!important;
    position:fixed;
    right:16px;
    bottom:18px;
    z-index:4800;
    min-height:52px;
    padding:0 18px;
    border:0;
    border-radius:999px;
    background:#111;
    color:#fff;
    font-weight:800;
    font-size:15px;
    align-items:center;
    justify-content:center;
    box-shadow:0 8px 24px rgba(0,0,0,.25);
    touch-action:manipulation;
  }
}


/* v60 - câmera de boleto otimizada para celular */
#barcodeVideo{
  width:100%;
  max-height:55vh;
  object-fit:cover;
  background:#000;
  border-radius:10px;
}
@media(max-width:900px){
  #barcodeScannerModal .modal{
    width:calc(100vw - 20px)!important;
    max-width:none!important;
  }
  #barcodeScannerModal .btn{
    width:100%;
    margin-top:8px;
  }
}


/* v61 - leitura ZXing de boleto */
#barcodeScannerModal video{
  width:100%!important;
  min-height:260px;
  max-height:60vh;
  object-fit:cover;
  background:#000;
  border-radius:12px;
}
#scannerStatus{
  line-height:1.45;
  margin-top:10px;
}


/* v62 - leitor de boleto 1D */
.barcode-scan-guide{
  position:relative;
  margin-top:-42px;
  margin-bottom:14px;
  pointer-events:none;
  text-align:center;
  color:#fff;
  z-index:3;
}
.barcode-guide-line{
  height:68px;
  margin:0 14px 6px;
  border:3px solid #ffd54a;
  border-radius:10px;
  box-shadow:0 0 0 9999px rgba(0,0,0,.18);
}
.barcode-scan-guide small{
  display:inline-block;
  background:rgba(0,0,0,.65);
  padding:5px 9px;
  border-radius:7px;
  font-weight:700;
}
#barcodeVideo{
  min-height:300px;
}


/* v63 - informações ampliadas no dashboard usando o design original */
.dashboard-command-panel{margin-top:16px}
.dashboard-command-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.dashboard-period-controls{min-width:300px}
.dashboard-period-controls>label{display:block;margin-bottom:6px;font-weight:700;font-size:12px}
.dashboard-period-row{display:flex;gap:8px;flex-wrap:wrap}
.dashboard-command-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.dashboard-extended-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}
.dashboard-extended-kpis .kpi span{display:block;margin-top:6px}
.dashboard-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.dashboard-quick-actions .btn{min-height:52px}
@media(max-width:900px){
  .dashboard-command-head{display:block}
  .dashboard-period-controls{min-width:0;margin-top:14px}
  .dashboard-period-row{display:grid;grid-template-columns:1fr 1fr}
  .dashboard-period-row .btn{grid-column:1/-1}
  .dashboard-extended-kpis{grid-template-columns:1fr 1fr}
  .dashboard-quick-actions{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .dashboard-extended-kpis,.dashboard-quick-actions{grid-template-columns:1fr}
}


/* v64 - dashboard limpo; saldo financeiro fica em Contas e Caixas */
.dashboard-extended-kpis{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
@media(max-width:900px){
  .dashboard-extended-kpis{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .dashboard-extended-kpis{grid-template-columns:1fr}
}


/* v66 - funcionários / folha sobre a base V64 */
#page-funcionarios .kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){#page-funcionarios .kpis{grid-template-columns:1fr 1fr}}
@media(max-width:560px){#page-funcionarios .kpis{grid-template-columns:1fr}}

/* v67 - organização visual Funcionários */
.employee-page{
  max-width:100%;
}
.employee-page>.panel{
  margin-top:14px;
}
.employee-page>.panel:first-child{
  margin-top:0;
}
.employee-section-head,
#page-funcionarios .section-head-inline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
#page-funcionarios .formgrid{
  align-items:end;
}
#page-funcionarios table{
  width:100%;
  min-width:980px;
}
#page-funcionarios th{
  white-space:nowrap;
}
#page-funcionarios td{
  vertical-align:middle;
}
.employee-row-actions{
  display:flex;
  gap:6px;
  flex-wrap:nowrap;
  align-items:center;
}
.employee-row-actions .btn{
  padding:7px 9px;
  white-space:nowrap;
}
#employeeKpis{
  margin-bottom:2px;
}
#employeeKpis .kpi{
  min-height:96px;
}
#employeeKpis .kpi b{
  display:block;
  margin-top:6px;
}
#employeeDeductionMonth{
  min-height:40px;
}
@media(max-width:900px){
  #page-funcionarios .section-head-inline{
    align-items:flex-start;
  }
  #page-funcionarios table{
    min-width:900px;
  }
}
@media(max-width:600px){
  #page-funcionarios .section-head-inline{
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }
  #page-funcionarios .section-head-inline>.btn,
  #page-funcionarios .section-head-inline>select{
    width:100%;
  }
  #page-funcionarios .section-head-inline>div:last-child{
    width:100%;
  }
  #page-funcionarios .section-head-inline>div:last-child input,
  #page-funcionarios .section-head-inline>div:last-child button{
    width:100%;
  }
  .employee-row-actions{
    flex-direction:column;
    align-items:stretch;
  }
}


/* v68 - ícones modernos e padronizados no menu */
.side .nav button,
.side button[data-page]{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.nav-icon-modern{
  width:22px;
  min-width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  line-height:1;
  text-align:center;
  filter:saturate(.9);
}
.nav-label-modern{
  display:block;
  min-width:0;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.side button.active .nav-icon-modern{
  transform:scale(1.04);
}
@media(max-width:900px){
  .nav-icon-modern{
    width:22px;
    min-width:22px;
    font-size:17px;
  }
}


/* v69 - somente ícones novos no menu */
.side .nav button::before,
.side button[data-page]::before,
.side .nav button::after,
.side button[data-page]::after{
  content:none!important;
  display:none!important;
}
.side button[data-page] > *:not(.nav-icon-modern):not(.nav-label-modern){
  display:none!important;
}
.side button[data-page]{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.nav-icon-modern{
  display:inline-flex!important;
  width:22px!important;
  min-width:22px!important;
  height:22px!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
}
.nav-label-modern{
  display:block!important;
  min-width:0!important;
  white-space:nowrap!important;
}


/* v70 - login online organizado */
.login-online-title{text-align:center;margin-bottom:16px}
.login-online-title h1{margin:0 0 5px}
.login-online-title p{margin:0;color:#71717a;font-size:13px}
.login-optional{font-size:10px;color:#8b8b93;font-weight:500}
.password-wrap{display:flex;align-items:center;position:relative}
.password-wrap input{width:100%;padding-right:44px}
.password-eye{position:absolute;right:5px;width:34px;height:34px;border:0;background:transparent;border-radius:8px;cursor:pointer}
.login-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.login-actions .btn{width:100%;min-height:44px}
.login-forgot{display:block;width:100%;border:0;background:transparent;padding:10px 4px;color:#555;text-align:center;cursor:pointer;font-weight:600}
.login-cloud-note{margin-top:4px;padding:9px 10px;border:1px solid #e4e4e7;border-radius:10px;text-align:center;font-size:11px;color:#52525b;background:#fafafa}
.login-demo-btn{width:100%;margin-top:10px}
@media(max-width:520px){.login-actions{grid-template-columns:1fr}.loginbox{width:calc(100vw - 24px)!important;max-width:430px}}


/* ===== V71 - ícones preto e branco + modo noturno ===== */
.mono-icon{
  color:currentColor!important;
  filter:none!important;
  font-family:Arial,Helvetica,sans-serif;
  font-weight:700;
}
.side .nav-icon-modern,
.side button[data-page] .nav-icon-modern{
  color:#fff!important;
  background:transparent!important;
}
.side button.active .nav-icon-modern{
  color:#111!important;
}
.night-toggle{
  display:inline-flex!important;
  align-items:center;
  gap:7px;
  white-space:nowrap;
}
.dark-mode{
  color-scheme:dark;
}
.dark-mode body,
body.dark-mode{
  background:#111214!important;
  color:#f5f5f5!important;
}
.dark-mode .main,
.dark-mode main,
.dark-mode .page{
  background:#111214!important;
  color:#f5f5f5!important;
}
.dark-mode .panel,
.dark-mode .kpi,
.dark-mode .drebox,
.dark-mode .card,
.dark-mode .modal,
.dark-mode .loginbox,
.dark-mode .top,
.dark-mode .notification-drawer{
  background:#18191c!important;
  color:#f5f5f5!important;
  border-color:#303136!important;
}
.dark-mode input,
.dark-mode select,
.dark-mode textarea{
  background:#202125!important;
  color:#fff!important;
  border-color:#3b3c42!important;
}
.dark-mode table,
.dark-mode th,
.dark-mode td{
  color:#f4f4f5!important;
  border-color:#303136!important;
}
.dark-mode .sub,
.dark-mode small,
.dark-mode label{
  color:#b7b7bd!important;
}
.dark-mode .btn{
  border-color:#3b3c42!important;
}
.dark-mode .btn:not(.primary):not(.danger){
  background:#222328!important;
  color:#fff!important;
}
.dark-mode .side{
  background:#0d0e10!important;
}
.dark-mode .side button.active{
  background:#fff!important;
  color:#111!important;
}
.dark-mode .login-cloud-note{
  background:#202125!important;
  color:#d4d4d8!important;
  border-color:#3b3c42!important;
}
@media(max-width:700px){
  .night-toggle #nightModeText{display:none}
  .night-toggle{width:42px;justify-content:center;padding:0}
}


/* ===== V72 - perfil individual e login organizado ===== */
.user-profile-layout{
  display:grid;
  grid-template-columns:170px minmax(0,1fr);
  gap:24px;
  margin-top:16px;
  align-items:start;
}
.user-avatar-editor{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:9px;
  text-align:center;
}
.profile-avatar-shell{
  width:128px;
  height:128px;
  border-radius:50%;
  overflow:hidden;
  border:1px solid #d4d4d8;
  background:#f5f5f5;
  display:flex;
  align-items:center;
  justify-content:center;
}
.profile-avatar-img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.profile-avatar-fallback{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:44px;
  font-weight:800;
  background:#f4f4f5;
  color:#18181b;
}
.user-avatar-editor small{
  color:#71717a;
  font-size:11px;
}
.top-user-profile-btn{
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.top-user-avatar-shell{
  width:36px;
  height:36px;
  border-radius:50%;
  overflow:hidden;
  border:1px solid #d4d4d8;
  background:#f4f4f5;
  display:flex;
  align-items:center;
  justify-content:center;
}
.top-user-avatar-img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.top-user-avatar-fallback{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:15px;
  color:#18181b;
}
.dark-mode .profile-avatar-shell,
.dark-mode .top-user-avatar-shell{
  border-color:#3f3f46;
  background:#202125;
}
.dark-mode .profile-avatar-fallback,
.dark-mode .top-user-avatar-fallback{
  background:#202125;
  color:#fff;
}
@media(max-width:700px){
  .user-profile-layout{
    grid-template-columns:1fr;
  }
  .user-avatar-editor{
    margin-bottom:4px;
  }
}


.dashboard-user-head{
  display:flex;
  align-items:center;
  gap:12px;
}
.dashboard-user-avatar-shell{
  width:48px;
  height:48px;
  border-radius:50%;
  overflow:hidden;
  border:1px solid #d4d4d8;
  background:#f4f4f5;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.dashboard-user-avatar-img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.dashboard-user-avatar-fallback{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:20px;
  color:#18181b;
}
.dark-mode .dashboard-user-avatar-shell{
  border-color:#3f3f46;
  background:#202125;
}
.dark-mode .dashboard-user-avatar-fallback{color:#fff}


/* =========================================================
   V73 — SOMENTE DESIGN
   Referência visual: painel empresarial compacto/alinhado.
   Nenhuma regra de negócio ou funcionalidade alterada.
   ========================================================= */
:root{
  --v73-orange:#2f3b33;
  --v73-orange-dark:#243229;
  --v73-orange-soft:#eee9df;
  --v73-bg:#f5f6fa;
  --v73-panel:#ffffff;
  --v73-line:#e8e9ef;
  --v73-text:#17181c;
  --v73-muted:#6f7480;
  --v73-shadow:0 2px 7px rgba(27,31,44,.09);
}

/* estrutura desktop */
html,body{min-width:0}
body{
  background:var(--v73-bg)!important;
  color:var(--v73-text);
  font-family:'Montserrat',Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif!important;
}
.app{
  grid-template-columns:198px minmax(0,1fr)!important;
  min-height:100vh;
  background:var(--v73-bg)!important;
}
.side{
  position:sticky;
  top:0;
  height:100vh;
  overflow-y:auto;
  overflow-x:hidden;
  background:linear-gradient(180deg,#2f3b33 0%,#18231d 100%)!important;
  border-right:0!important;
  padding:8px 8px 12px!important;
  box-shadow:2px 0 12px rgba(71,35,15,.08)!important;
  scrollbar-width:thin;
}
.main{
  min-width:0;
  width:100%;
  max-width:none!important;
  padding:24px 26px 34px!important;
  background:var(--v73-bg)!important;
}

/* marca/menu */
.brand{
  min-height:48px;
  padding:4px 8px 8px!important;
  margin-bottom:5px!important;
  border:0!important;
  display:flex;
  align-items:center;
  justify-content:center;
}
.brand img{
  width:122px!important;
  height:50px!important;
  max-height:50px!important;
  object-fit:contain!important;
  filter:brightness(0) invert(1);
}
.side .selectbox{
  min-height:36px!important;
  margin:4px 0 10px!important;
  border-radius:8px!important;
  border:1px solid rgba(255,255,255,.30)!important;
  background:rgba(255,255,255,.13)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:700!important;
  padding:7px 9px!important;
}
.side .selectbox option{color:#111;background:#fff}
.side .nav{
  gap:1px!important;
  margin-top:2px!important;
}
.side .nav-group-title,
.side .nav-section-title,
.side .nav .group-title,
.side .side-label{
  color:rgba(255,255,255,.55)!important;
  font-size:8px!important;
  font-weight:800!important;
  letter-spacing:.05em!important;
  text-transform:uppercase;
}
.side .nav button{
  min-height:31px!important;
  height:31px;
  padding:5px 8px!important;
  margin:1px 0!important;
  border-radius:7px!important;
  font-size:10.5px!important;
  line-height:1!important;
  font-weight:650!important;
  color:#fff!important;
  gap:8px!important;
  opacity:.98;
}
.side .nav button:hover{
  background:rgba(255,255,255,.13)!important;
  color:#fff!important;
}
.side .nav button.active{
  background:#fff!important;
  color:var(--v73-orange-dark)!important;
  box-shadow:0 2px 7px rgba(94,37,5,.12)!important;
  font-weight:800!important;
}
.side .nav-icon-modern,
.side button[data-page] .nav-icon-modern{
  width:15px!important;
  min-width:15px!important;
  height:15px!important;
  font-size:12px!important;
  color:currentColor!important;
}

/* topo mais baixo e alinhado */
.top{
  min-height:48px;
  margin:-24px -26px 24px!important;
  padding:8px 26px!important;
  border:0!important;
  border-bottom:1px solid #e8e9ee!important;
  background:#fff!important;
  box-shadow:0 1px 3px rgba(25,30,45,.05)!important;
  border-radius:0!important;
}
.top h1{font-size:18px!important;line-height:1.15}
.top .sub{font-size:10px!important}
.topactions{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
}
.topactions .btn,
.night-toggle{
  min-height:34px!important;
  height:34px!important;
  border-radius:7px!important;
  padding:7px 10px!important;
}

/* cartões/painéis */
.panel,.kpi,.drebox,.card,.boleto-card,.alert-item{
  background:var(--v73-panel)!important;
  border:1px solid var(--v73-line)!important;
  box-shadow:var(--v73-shadow)!important;
  border-radius:13px!important;
}
.panel{
  padding:16px!important;
  margin-top:14px!important;
}
.panel h2,.panel h3,.drebox h3{letter-spacing:-.02em}
.panel h3,.drebox h3{font-size:15px!important}
.sub{font-size:11px!important;color:var(--v73-muted)!important}

/* banner do dashboard igual à referência */
#page-dashboard .dashboard-command-panel{
  margin-top:0!important;
  padding:25px 26px!important;
  min-height:170px;
  border:0!important;
  border-radius:14px!important;
  background:linear-gradient(115deg,#2f3b33 0%,#243229 70%,#8b5e3c 100%)!important;
  color:#fff!important;
  box-shadow:0 9px 20px rgba(236,91,12,.17)!important;
}
#page-dashboard .dashboard-command-panel .sub,
#page-dashboard .dashboard-command-panel label,
#page-dashboard .dashboard-command-panel small{
  color:rgba(255,255,255,.86)!important;
}
#page-dashboard .dashboard-command-panel h3{
  color:#fff!important;
  font-size:24px!important;
  margin:3px 0 0!important;
}
#page-dashboard .dashboard-user-avatar-shell{
  border-color:rgba(255,255,255,.65)!important;
  background:rgba(255,255,255,.16)!important;
}
#page-dashboard .dashboard-user-avatar-fallback{color:#fff!important}
.dashboard-command-head{align-items:center!important}
.dashboard-period-controls{min-width:280px!important}
.dashboard-period-row{
  justify-content:flex-end;
  gap:7px!important;
}
.dashboard-period-row select,
.dashboard-period-row .btn{
  min-height:34px!important;
  height:34px!important;
  border:0!important;
  border-radius:6px!important;
  font-size:10.5px!important;
  background:#fff!important;
  color:#34363d!important;
}
.dashboard-command-actions{
  margin-top:20px!important;
  gap:10px!important;
}
.dashboard-command-actions .btn{
  min-height:36px!important;
  padding:8px 14px!important;
  border:0!important;
  background:#fff!important;
  color:#222!important;
  font-size:11px!important;
  font-weight:800!important;
}
.dashboard-command-actions .btn.primary{color:#139543!important}

/* KPI desktop com tamanho uniforme */
.dashboard-extended-kpis{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  margin-top:18px!important;
}
.dashboard-extended-kpis .kpi,
.kpis .kpi{
  min-height:110px!important;
  padding:16px!important;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.kpi small{
  font-size:9px!important;
  line-height:1.25!important;
  letter-spacing:.025em;
  text-transform:uppercase;
  font-weight:700;
  color:#69707d!important;
}
.kpi b{
  font-size:23px!important;
  line-height:1.15!important;
  margin-top:4px!important;
  letter-spacing:-.035em;
}
.kpi .sub,.kpi span{
  font-size:9.5px!important;
  margin-top:8px!important;
}

/* ações rápidas alinhadas */
.dashboard-quick-actions-panel{padding:14px 16px!important}
.dashboard-quick-actions{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}
.dashboard-quick-actions .btn{
  min-height:50px!important;
  border-radius:9px!important;
  border-color:#e1e3e9!important;
  font-size:11px!important;
  font-weight:700!important;
  box-shadow:none!important;
}

/* botões e formulários */
.btn{
  border-radius:8px!important;
  min-height:36px;
  font-size:11px!important;
  font-weight:650!important;
  padding:8px 11px!important;
  border-color:#dfe1e7!important;
}
.btn.primary{
  background:#17181c!important;
  border-color:#17181c!important;
}
.field label{
  font-size:10px!important;
  margin-bottom:5px!important;
}
.field input,.field select,textarea{
  min-height:38px!important;
  border-radius:8px!important;
  border-color:#dfe1e7!important;
  font-size:11px!important;
  padding:8px 10px!important;
}
table{font-size:11px}
th,td{padding:9px 10px!important;font-size:10.5px!important}
th{font-size:9px!important;text-transform:uppercase;letter-spacing:.025em}
.formgrid{gap:10px!important}
.filters{gap:9px!important}

/* páginas internas: limite visual confortável sem desperdiçar tela */
.main>section:not(#page-dashboard){
  width:100%;
  max-width:1500px;
}
.section-head-inline{align-items:center!important}

/* login no mesmo acabamento */
.login{background:#f4f5f8!important}
.loginbox{
  border-radius:15px!important;
  box-shadow:0 16px 40px rgba(25,30,45,.12)!important;
}

/* ---------------- MODO NOTURNO ---------------- */
body.dark-mode,
.dark-mode body{
  --v73-bg:#101114;
  --v73-panel:#181a1f;
  --v73-line:#2b2e35;
  --v73-text:#f4f4f5;
  --v73-muted:#a4a8b1;
  --v73-shadow:0 2px 8px rgba(0,0,0,.24);
  background:var(--v73-bg)!important;
  color:var(--v73-text)!important;
}
.dark-mode .app,
.dark-mode .main{
  background:var(--v73-bg)!important;
}
.dark-mode .side{
  background:linear-gradient(180deg,#18191d 0%,#101114 100%)!important;
  border-right:1px solid #292b31!important;
}
.dark-mode .side .nav button.active{
  background:#fff!important;
  color:#111!important;
}
.dark-mode .side .selectbox{
  background:#212329!important;
  border-color:#343740!important;
}
.dark-mode .top{
  background:#17191d!important;
  border-bottom-color:#292c32!important;
  color:#f4f4f5!important;
}
.dark-mode .panel,
.dark-mode .kpi,
.dark-mode .drebox,
.dark-mode .card,
.dark-mode .boleto-card,
.dark-mode .alert-item{
  background:var(--v73-panel)!important;
  border-color:var(--v73-line)!important;
  color:#f4f4f5!important;
  box-shadow:var(--v73-shadow)!important;
}
.dark-mode #page-dashboard .dashboard-command-panel{
  background:linear-gradient(115deg,#2a2c32 0%,#202228 100%)!important;
  border:1px solid #343740!important;
  box-shadow:0 8px 22px rgba(0,0,0,.24)!important;
}
.dark-mode #page-dashboard .dashboard-command-panel::before{
  content:'';
  position:absolute;
}
.dark-mode .kpi small,
.dark-mode .sub,
.dark-mode small,
.dark-mode label{color:#aeb2ba!important}
.dark-mode input,
.dark-mode select,
.dark-mode textarea{
  background:#212329!important;
  border-color:#363942!important;
  color:#fff!important;
}
.dark-mode .dashboard-quick-actions .btn,
.dark-mode .btn:not(.primary):not(.danger){
  background:#22252b!important;
  color:#f5f5f5!important;
  border-color:#343740!important;
}
.dark-mode table thead th{background:#1e2025!important;color:#c6c9cf!important}

/* responsivo sem mexer em funções */
@media(max-width:1200px){
  .app{grid-template-columns:190px minmax(0,1fr)!important}
  .main{padding:20px!important}
  .top{margin:-20px -20px 20px!important;padding:8px 20px!important}
  .dashboard-extended-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .main{padding:16px!important}
  .top{margin:-16px -16px 16px!important;padding:8px 16px!important}
  #page-dashboard .dashboard-command-panel{padding:18px!important}
  #page-dashboard .dashboard-command-panel h3{font-size:20px!important}
  .dashboard-period-controls{min-width:0!important}
}
@media(max-width:760px){
  .app{grid-template-columns:1fr!important}
  .side{position:fixed!important;height:100vh!important}
  .main{padding:14px!important}
  .top{margin:-14px -14px 14px!important;padding:8px 14px!important}
}
@media(max-width:560px){
  .dashboard-extended-kpis,
  .dashboard-quick-actions{grid-template-columns:1fr!important}
  #page-dashboard .dashboard-command-panel{min-height:auto}
  .dashboard-command-head{display:block!important}
  .dashboard-period-row{justify-content:flex-start}
}


/* =========================================================
   V75 — DESIGN MAIS FIEL À REFERÊNCIA
   Apenas visual: fonte, cores, tamanhos, alinhamento.
   ========================================================= */
:root{
  --ref-orange:#2f3b33;
  --ref-orange-2:#8b5e3c;
  --ref-orange-3:#243229;
  --ref-page:#f7f7fb;
  --ref-white:#ffffff;
  --ref-text:#171717;
  --ref-muted:#626979;
  --ref-border:#e5e7ec;
  --ref-shadow:0 2px 7px rgba(25,30,45,.10);
}

/* fonte padrão: sem aparência pesada */
html,body,button,input,select,textarea,table{
  font-family:Arial,Helvetica,sans-serif!important;
}
body{font-size:14px!important;font-weight:400!important}
button,input,select,textarea{font-weight:400!important}
h1,h2,h3,h4,h5,h6{font-weight:600!important}
b,strong{font-weight:600!important}
.sub,small,label,td,th{font-weight:400!important}

/* estrutura igual ao painel de referência */
body{background:var(--ref-page)!important;color:var(--ref-text)!important}
.app{
  grid-template-columns:198px minmax(0,1fr)!important;
  background:var(--ref-page)!important;
}
.side{
  width:198px!important;
  padding:7px 7px 12px!important;
  background:linear-gradient(180deg,#2f3b33 0%,#18231d 100%)!important;
  border:0!important;
}
.main{
  width:100%!important;
  max-width:none!important;
  padding:24px 26px 34px!important;
  background:var(--ref-page)!important;
}

/* menu lateral */
.brand{height:48px!important;min-height:48px!important;padding:2px 8px 6px!important;margin:0 0 4px!important}
.brand img{width:120px!important;height:46px!important;object-fit:contain!important;filter:brightness(0) invert(1)}
.side .selectbox{
  height:34px!important;min-height:34px!important;
  border:1px solid rgba(255,255,255,.34)!important;
  border-radius:7px!important;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:400!important;
  padding:6px 8px!important;
}
.side .nav{gap:0!important}
.side .nav button{
  height:31px!important;min-height:31px!important;
  padding:5px 8px!important;
  margin:1px 0!important;
  border-radius:7px!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:400!important;
  gap:7px!important;
}
.side .nav button.active{
  background:#fff!important;
  color:#18231d!important;
  font-weight:600!important;
  box-shadow:none!important;
}
.side .nav button:hover{background:rgba(255,255,255,.14)!important}
.side .nav-icon-modern{
  width:15px!important;min-width:15px!important;
  font-size:12px!important;
  font-weight:400!important;
}

/* topo branco */
.top{
  min-height:56px!important;
  margin:-24px -26px 24px!important;
  padding:8px 26px!important;
  background:#fff!important;
  border:0!important;
  border-bottom:1px solid #e5e7eb!important;
  border-radius:0!important;
  box-shadow:0 1px 4px rgba(0,0,0,.05)!important;
}
.top h1{font-size:15px!important;font-weight:500!important}
.top .sub{font-size:10px!important;color:#667085!important}
.topactions{gap:7px!important}
.topactions .btn,.night-toggle{
  height:34px!important;min-height:34px!important;
  padding:6px 10px!important;
  border-radius:7px!important;
  font-size:11px!important;
  font-weight:400!important;
}

/* banner laranja */
#page-dashboard .dashboard-command-panel{
  min-height:171px!important;
  margin-top:0!important;
  padding:27px 26px!important;
  border:0!important;
  border-radius:14px!important;
  background:linear-gradient(112deg,#fa5d0a 0%,#f36a05 62%,#e98308 100%)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(239,95,12,.16)!important;
}
#page-dashboard .dashboard-command-panel h3{
  margin:3px 0 0!important;
  color:#fff!important;
  font-size:24px!important;
  line-height:1.15!important;
  font-weight:600!important;
}
#page-dashboard .dashboard-command-panel .sub,
#page-dashboard .dashboard-command-panel small,
#page-dashboard .dashboard-command-panel label{
  color:rgba(255,255,255,.92)!important;
  font-weight:400!important;
}
.dashboard-command-head{align-items:center!important}
.dashboard-command-actions{margin-top:22px!important;gap:10px!important}
.dashboard-command-actions .btn{
  height:36px!important;min-height:36px!important;
  padding:7px 14px!important;
  border:0!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#272727!important;
  font-size:11px!important;
  font-weight:500!important;
}
.dashboard-command-actions .btn.primary{background:#fff!important;color:#169b45!important}
.dashboard-period-controls{min-width:300px!important}
.dashboard-period-row{justify-content:flex-end!important;gap:7px!important}
.dashboard-period-row select,.dashboard-period-row .btn{
  height:34px!important;min-height:34px!important;
  border:0!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#3f4652!important;
  font-size:10px!important;
  font-weight:400!important;
}

/* cards — mesmos tons claros da referência */
.dashboard-extended-kpis{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  margin-top:18px!important;
}
.dashboard-extended-kpis .kpi,.kpis .kpi{
  position:relative;
  min-height:110px!important;
  padding:16px!important;
  overflow:hidden;
  background:#fff!important;
  border:1px solid #ececf1!important;
  border-radius:13px!important;
  box-shadow:var(--ref-shadow)!important;
}
.dashboard-extended-kpis .kpi:nth-child(4n+1)::after{background:#eef7ff}
.dashboard-extended-kpis .kpi:nth-child(4n+2)::after{background:#eefcf5}
.dashboard-extended-kpis .kpi:nth-child(4n+3)::after{background:#fff1f3}
.dashboard-extended-kpis .kpi:nth-child(4n+4)::after{background:#fff8ec}
.dashboard-extended-kpis .kpi::after{
  content:"";
  position:absolute;
  width:72px;height:72px;
  right:-20px;top:-24px;
  border-radius:50%;
  opacity:.85;
  pointer-events:none;
}
.kpi small{
  color:#596273!important;
  font-size:9px!important;
  font-weight:400!important;
  letter-spacing:.02em!important;
}
.kpi b{
  color:#111!important;
  font-size:24px!important;
  line-height:1.1!important;
  font-weight:600!important;
  letter-spacing:-.02em!important;
}
.kpi .sub,.kpi span{
  color:#596273!important;
  font-size:10px!important;
  font-weight:400!important;
}

/* cores de números semelhantes à referência */
.dashboard-extended-kpis .kpi:nth-child(4n+2) b{color:#00a66a!important}
.dashboard-extended-kpis .kpi:nth-child(4n+3) b{color:#ef1748!important}
.dashboard-extended-kpis .kpi:nth-child(4n+4) b{color:#ef5b00!important}

/* painéis e ações rápidas */
.panel,.drebox,.card,.boleto-card,.alert-item{
  background:#fff!important;
  border:1px solid #e8e9ee!important;
  border-radius:13px!important;
  box-shadow:0 2px 6px rgba(25,30,45,.07)!important;
}
.panel{padding:16px!important;margin-top:14px!important}
.panel h2{font-size:17px!important;font-weight:600!important}
.panel h3,.drebox h3{font-size:15px!important;font-weight:600!important}
.dashboard-quick-actions-panel{padding:14px 16px!important}
.dashboard-quick-actions{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}
.dashboard-quick-actions .btn{
  height:54px!important;min-height:54px!important;
  background:#fff!important;
  border:1px solid #dfe2e8!important;
  border-radius:9px!important;
  color:#171717!important;
  font-size:11px!important;
  font-weight:400!important;
  box-shadow:none!important;
}

/* formulários/tabelas: fonte e tamanho normais */
.btn{
  min-height:36px!important;
  border-radius:8px!important;
  padding:7px 11px!important;
  font-size:11px!important;
  font-weight:400!important;
}
.btn.primary{font-weight:500!important}
.field label{font-size:11px!important;font-weight:400!important}
.field input,.field select,textarea{
  min-height:38px!important;
  border-radius:8px!important;
  font-size:12px!important;
  font-weight:400!important;
}
table{font-size:11px!important}
th{font-size:10px!important;font-weight:500!important}
td{font-size:11px!important;font-weight:400!important}

/* MODO NOTURNO — mesmas proporções, apenas paleta escura */
body.dark-mode,.dark-mode body{
  background:#101114!important;
  color:#f4f4f5!important;
}
.dark-mode .app,.dark-mode .main{background:#101114!important}
.dark-mode .side{
  background:linear-gradient(180deg,#191a1e 0%,#101114 100%)!important;
  border-right:1px solid #292c31!important;
}
.dark-mode .side .nav button.active{background:#fff!important;color:#111!important}
.dark-mode .top{
  background:#17191d!important;
  border-bottom-color:#292c32!important;
}
.dark-mode .panel,.dark-mode .kpi,.dark-mode .drebox,.dark-mode .card,
.dark-mode .boleto-card,.dark-mode .alert-item{
  background:#181a1f!important;
  border-color:#2b2e35!important;
  color:#f4f4f5!important;
  box-shadow:0 2px 8px rgba(0,0,0,.22)!important;
}
.dark-mode #page-dashboard .dashboard-command-panel{
  background:linear-gradient(112deg,#27292f 0%,#1d1f24 100%)!important;
  border:1px solid #343740!important;
}
.dark-mode .dashboard-extended-kpis .kpi::after{opacity:.08}
.dark-mode .kpi b{color:#fff!important}
.dark-mode .kpi small,.dark-mode .kpi .sub,.dark-mode .kpi span,
.dark-mode .sub,.dark-mode small,.dark-mode label{color:#aeb2bb!important}
.dark-mode input,.dark-mode select,.dark-mode textarea{
  background:#212329!important;
  color:#fff!important;
  border-color:#363942!important;
}
.dark-mode .dashboard-quick-actions .btn,
.dark-mode .btn:not(.primary):not(.danger){
  background:#22252b!important;
  color:#fff!important;
  border-color:#343740!important;
}

/* desktop intermediário */
@media(max-width:1200px){
  .app{grid-template-columns:190px minmax(0,1fr)!important}
  .side{width:190px!important}
  .dashboard-extended-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .app{grid-template-columns:1fr!important}
}


/* ===== V76 - dashboard exclusivamente empresarial ===== */
.dashboard-company-only-badge{
  position:absolute;
  top:26px;
  right:26px;
  min-height:26px;
  padding:6px 10px;
  border-radius:6px;
  background:rgba(255,255,255,.20);
  color:#fff;
  font-size:10px;
  font-weight:500;
  display:inline-flex;
  align-items:center;
  gap:5px;
}
#page-dashboard .dashboard-command-panel,
#page-dashboardexec .dashboard-command-panel{
  position:relative;
}
#page-dashboard .dashboard-command-head,
#page-dashboardexec .dashboard-command-head{
  padding-right:120px;
}
#page-dashboard .dashboard-period-controls,
#page-dashboardexec .dashboard-period-controls{
  margin-top:48px;
}
#page-dashboard .dashboard-command-actions,
#page-dashboardexec .dashboard-command-actions{
  margin-top:-36px!important;
}
.business-switcher,
.business-switcher-clean,
.business-switcher-wide,
.unit-switcher,
.company-unit-switcher{
  display:none!important;
}
@media(max-width:900px){
  .dashboard-company-only-badge{
    top:18px;
    right:18px;
  }
  #page-dashboard .dashboard-command-head,
  #page-dashboardexec .dashboard-command-head{
    padding-right:0;
  }
  #page-dashboard .dashboard-period-controls,
  #page-dashboardexec .dashboard-period-controls{
    margin-top:60px;
  }
  #page-dashboard .dashboard-command-actions,
  #page-dashboardexec .dashboard-command-actions{
    margin-top:16px!important;
  }
}


/* ===== V77 - Login A Fornalha inspirado na referência ===== */
.login-split{
  min-height:100vh!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 510px!important;
  padding:0!important;
  background:#fff!important;
  place-items:stretch!important;
}
.login-visual{
  position:relative;
  min-height:100vh;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 16%,rgba(255,132,40,.17) 0 1px,transparent 2px),
    linear-gradient(110deg,#fff1e6 0%,#fff9f4 46%,#ffffff 100%);
}
.login-visual::before,
.login-visual::after{
  content:"";
  position:absolute;
  border:1px solid rgba(247,91,12,.14);
  border-radius:50%;
}
.login-visual::before{width:230px;height:230px;left:50px;top:45px}
.login-visual::after{width:190px;height:190px;right:-45px;top:10px}
.login-visual-bg{
  position:absolute;
  inset:0;
  background-image:radial-gradient(rgba(245,91,8,.18) 1px,transparent 1px);
  background-size:12px 12px;
  mask-image:linear-gradient(to right,transparent 20%,rgba(0,0,0,.25) 55%,transparent 75%);
  opacity:.35;
}
.login-visual-content{
  position:relative;
  z-index:2;
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:60px 7vw;
}
.login-showcase-copy{
  max-width:480px;
  margin-bottom:34px;
}
.login-showcase-kicker{
  font-size:11px;
  letter-spacing:.08em;
  color:#e65308;
  font-weight:700;
}
.login-showcase-copy h2{
  margin:8px 0 7px;
  font-size:34px;
  line-height:1.05;
  font-weight:600!important;
  color:#171717;
}
.login-showcase-copy p{
  margin:0;
  max-width:430px;
  color:#69707d;
  font-size:14px;
  line-height:1.5;
}
.device-stage{
  position:relative;
  width:min(640px,100%);
  height:330px;
}
.device-laptop{
  position:absolute;
  left:60px;
  top:10px;
  width:500px;
}
.device-laptop-screen{
  width:100%;
  height:275px;
  border:8px solid #161616;
  border-radius:16px 16px 9px 9px;
  background:#f7f7fb;
  display:grid;
  grid-template-columns:78px 1fr;
  overflow:hidden;
  box-shadow:0 18px 35px rgba(0,0,0,.18);
}
.device-mini-sidebar{
  background:linear-gradient(180deg,#2f3b33,#18231d);
}
.device-mini-main{
  padding:13px;
}
.device-mini-top{
  height:21px;
  background:#fff;
  border-radius:4px;
  margin-bottom:11px;
}
.device-mini-hero{
  height:76px;
  background:linear-gradient(110deg,#2f3b33,#8b5e3c);
  border-radius:8px;
  margin-bottom:11px;
}
.device-mini-cards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:7px;
}
.device-mini-cards span{
  height:53px;
  background:#fff;
  border:1px solid #e7e8ed;
  border-radius:7px;
  box-shadow:0 2px 4px rgba(0,0,0,.06);
}
.device-laptop-base{
  width:540px;
  height:18px;
  margin-left:-20px;
  background:linear-gradient(#b8b9bc,#85878a);
  border-radius:0 0 50% 50%;
  box-shadow:0 7px 8px rgba(0,0,0,.18);
}
.device-phone{
  position:absolute;
  left:0;
  bottom:0;
  width:120px;
  height:240px;
  border:7px solid #161616;
  border-radius:24px;
  background:#f7f7fb;
  padding:9px 7px;
  box-shadow:0 15px 30px rgba(0,0,0,.17);
}
.device-phone-top{height:15px;background:#fff;border-radius:4px;margin-bottom:7px}
.device-phone-hero{height:55px;background:linear-gradient(110deg,#2f3b33,#8b5e3c);border-radius:7px;margin-bottom:8px}
.device-phone-card{height:39px;background:#fff;border:1px solid #e7e8ed;border-radius:7px;margin-bottom:7px}

/* lado direito */
.login-form-side{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:42px;
  background:#fff;
}
.loginbox-reference{
  width:100%!important;
  max-width:390px!important;
  padding:28px 32px 30px!important;
  border:1.5px solid #ff6a13!important;
  border-radius:22px!important;
  box-shadow:0 16px 35px rgba(40,44,56,.10)!important;
  background:#fff!important;
}
.login-brand-lockup{
  text-align:center;
  margin-bottom:10px;
}
.login-brand-logo{
  height:68px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.login-brand-logo img{
  max-width:180px;
  max-height:68px;
  object-fit:contain;
  filter:none!important;
}
.login-brand-name{
  font-size:13px;
  font-weight:700;
  letter-spacing:.06em;
  color:#171717;
  margin-top:5px;
}
.login-online-title{
  margin-bottom:24px!important;
}
.login-online-title h1{
  margin:0 0 4px!important;
  font-size:28px!important;
  font-weight:600!important;
  color:#171717!important;
}
.login-online-title p{
  margin:0!important;
  font-size:13px!important;
  color:#667085!important;
}
.loginbox-reference .field{
  margin:0 0 15px!important;
}
.loginbox-reference .field label{
  font-size:12px!important;
  color:#111!important;
  margin-bottom:7px!important;
}
.login-input-wrap{
  position:relative;
  display:flex;
  align-items:center;
}
.login-input-icon{
  position:absolute;
  left:13px;
  z-index:2;
  color:#9aa0aa;
  font-size:13px;
}
.login-input-wrap input{
  width:100%;
  height:46px!important;
  padding:10px 42px!important;
  background:#f0f5fd!important;
  border:1px solid #d9e0eb!important;
  border-radius:10px!important;
  font-size:12px!important;
}
.login-password-label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.login-forgot-inline{
  border:0;
  background:transparent;
  color:#f15a0a;
  font-size:11px;
  padding:0;
}
.password-eye{
  right:9px!important;
}
.login-main-btn{
  width:100%!important;
  height:46px!important;
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:4px;
  border:0!important;
  border-radius:10px!important;
  background:linear-gradient(90deg,#2f3b33,#8b5e3c)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(255,100,8,.22)!important;
  font-size:13px!important;
  font-weight:600!important;
}
.login-create-row{
  display:flex;
  justify-content:center;
  gap:4px;
  margin-top:22px;
  color:#6e7380;
  font-size:12px;
}
.login-create-link{
  border:0;
  background:transparent;
  padding:0;
  color:#f15a0a;
  font-size:12px;
  font-weight:600;
}
.login-cloud-note{
  margin-top:18px!important;
  border:0!important;
  background:transparent!important;
  color:#858b96!important;
  font-size:10px!important;
}
.login-demo-btn{
  margin-top:8px!important;
  width:100%!important;
  background:#fff!important;
}

/* dark login */
.dark-mode .login-split,
.dark-mode .login-form-side{background:#111318!important}
.dark-mode .login-visual{
  background:linear-gradient(110deg,#18191e 0%,#131419 100%)!important;
}
.dark-mode .login-showcase-copy h2,
.dark-mode .login-brand-name,
.dark-mode .login-online-title h1,
.dark-mode .loginbox-reference .field label{color:#f4f4f5!important}
.dark-mode .login-showcase-copy p,
.dark-mode .login-online-title p{color:#aeb2bb!important}
.dark-mode .loginbox-reference{
  background:#181a1f!important;
  border-color:#ff6a13!important;
}
.dark-mode .login-input-wrap input{
  background:#21252c!important;
  border-color:#343941!important;
}
.dark-mode .login-brand-logo img{
  filter:brightness(0) invert(1)!important;
}

@media(max-width:980px){
  .login-split{grid-template-columns:1fr!important}
  .login-visual{display:none}
  .login-form-side{padding:24px}
}
@media(max-width:520px){
  .login-form-side{padding:12px}
  .loginbox-reference{padding:24px 20px!important;border-radius:16px!important}
}


/* V78 - membros online */
#partnerModeNote{
  line-height:1.45;
}
#teamMembersList .team-member-row,
#pendingInvitesList .team-member-row{
  align-items:center;
}


/* ===== V79 - login e sistema totalmente separados ===== */
#authScreen{
  display:none!important;
  min-height:100vh!important;
  width:100%!important;
}
#appScreen{
  display:none!important;
  min-height:100vh!important;
  width:100%!important;
}
body.auth-visible #authScreen{
  display:grid!important;
}
body.auth-visible #appScreen{
  display:none!important;
}
body.app-visible #authScreen{
  display:none!important;
}
body.app-visible #appScreen{
  display:grid!important;
}
body.auth-visible{
  overflow:auto!important;
  background:#fff!important;
}
body.app-visible{
  overflow:auto!important;
}


/* V81 - estado online real */
body.app-visible .realtime-badge[data-status="online"]{
  opacity:1!important;
}


/* ===== V83 - correção do cabeçalho do Dashboard ===== */
.dashboard-command-panel{
  position:relative!important;
  width:100%!important;
  min-height:170px!important;
  margin:0 0 18px!important;
  padding:26px 26px 24px!important;
  border:0!important;
  border-radius:14px!important;
  background:linear-gradient(112deg,#fa5d0a 0%,#f36a05 62%,#e98308 100%)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(239,95,12,.16)!important;
  overflow:hidden!important;
}
.dashboard-command-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:24px!important;
  padding:0!important;
}
.dashboard-user-head{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-width:0!important;
}
.dashboard-user-text{
  min-width:0!important;
}
.dashboard-user-avatar-shell{
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  border-radius:50%!important;
  border:1px solid rgba(255,255,255,.65)!important;
  background:rgba(255,255,255,.16)!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.dashboard-user-avatar-img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.dashboard-user-avatar-fallback{
  width:100%!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#fff!important;
  font-size:20px!important;
  font-weight:600!important;
}
#dashboardTodayLabel{
  display:block!important;
  margin-bottom:5px!important;
  color:rgba(255,255,255,.92)!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:400!important;
}
#dashboardGreeting{
  margin:0!important;
  color:#fff!important;
  font-size:24px!important;
  line-height:1.15!important;
  font-weight:600!important;
}
.dashboard-command-actions{
  display:flex!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin:22px 0 0!important;
}
.dashboard-command-actions .btn{
  min-height:36px!important;
  height:36px!important;
  padding:7px 14px!important;
  border:0!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#252525!important;
  font-size:11px!important;
  font-weight:500!important;
}
.dashboard-command-actions .btn.primary{
  color:#159a45!important;
}
.dashboard-period-controls{
  position:absolute!important;
  right:26px!important;
  bottom:24px!important;
  min-width:300px!important;
  margin:0!important;
  text-align:left!important;
}
.dashboard-period-controls>label{
  display:block!important;
  margin-bottom:7px!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:500!important;
}
.dashboard-period-row{
  display:flex!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
}
.dashboard-period-row select,
.dashboard-period-row .btn{
  min-height:34px!important;
  height:34px!important;
  padding:6px 10px!important;
  border:0!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#3f4652!important;
  font-size:10.5px!important;
  font-weight:400!important;
}
.dashboard-company-only-badge{
  position:absolute!important;
  top:25px!important;
  right:26px!important;
  min-height:26px!important;
  padding:6px 10px!important;
  border-radius:6px!important;
  background:rgba(255,255,255,.20)!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:500!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  z-index:2!important;
}

/* remove regras antigas que empurravam o período e ações */
#page-dashboard .dashboard-period-controls,
#page-dashboardexec .dashboard-period-controls{
  margin-top:0!important;
}
#page-dashboard .dashboard-command-actions,
#page-dashboardexec .dashboard-command-actions{
  margin-top:22px!important;
}

/* dark mantém a estrutura e troca apenas a paleta */
.dark-mode .dashboard-command-panel{
  background:linear-gradient(112deg,#27292f 0%,#1d1f24 100%)!important;
  border:1px solid #343740!important;
  box-shadow:0 8px 22px rgba(0,0,0,.24)!important;
}

/* responsivo */
@media(max-width:900px){
  .dashboard-command-panel{
    min-height:auto!important;
    padding:20px!important;
  }
  .dashboard-command-head{
    display:block!important;
  }
  .dashboard-company-only-badge{
    top:18px!important;
    right:18px!important;
  }
  .dashboard-period-controls{
    position:static!important;
    margin-top:22px!important;
    min-width:0!important;
  }
  .dashboard-period-row{
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
  }
  #dashboardGreeting{
    font-size:21px!important;
  }
}
@media(max-width:560px){
  .dashboard-user-avatar-shell{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
  }
  .dashboard-command-actions .btn{
    flex:1 1 140px!important;
  }
}


/* ===== V85 - remover seletor UNIDADE / Minha Empresa ===== */
.business-switcher,
.business-switcher-clean,
.business-switcher-wide,
.unit-switcher,
.company-unit-switcher,
.sidebar-unit,
.sidebar-unit-selector,
.sidebar-unit-block,
[data-unit-switcher],
[data-business-unit-switcher]{
  display:none!important;
}


/* ===== V86 - Login estilo Organize com identidade A Fornalha ===== */
.login-organize-style{
  min-height:100vh!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.12fr) minmax(420px,.88fr)!important;
  background:#f7f8fb!important;
  padding:0!important;
}
body.auth-visible .login-organize-style{
  display:grid!important;
}
.organize-login-intro{
  min-height:100vh;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.18) 0 1px,transparent 2px),
    linear-gradient(145deg,#fb6410 0%,#e94f07 55%,#d83e05 100%);
  color:#fff;
}
.organize-login-intro::before{
  content:"";
  position:absolute;
  width:340px;
  height:340px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  left:-120px;
  top:90px;
}
.organize-login-intro::after{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:50%;
  right:-90px;
  bottom:30px;
}
.organize-login-intro-inner{
  position:relative;
  z-index:2;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:56px 7vw;
}
.organize-brand-area{
  position:absolute;
  top:30px;
  left:7vw;
  display:flex;
  align-items:center;
  gap:14px;
}
.organize-company-logo{
  width:84px;
  height:58px;
  object-fit:contain;
  filter:brightness(0) invert(1);
}
.organize-brand-area h2{
  margin:0 0 3px;
  font-size:18px!important;
  font-weight:600!important;
  color:#fff!important;
}
.organize-brand-area span{
  font-size:10px;
  color:rgba(255,255,255,.82);
}
.organize-login-copy{
  max-width:590px;
}
.organize-kicker{
  display:block;
  margin-bottom:12px;
  font-size:10px;
  letter-spacing:.10em;
  font-weight:600;
  color:rgba(255,255,255,.82);
}
.organize-login-copy h1{
  margin:0 0 14px;
  font-size:42px!important;
  line-height:1.05;
  font-weight:600!important;
  color:#fff!important;
  letter-spacing:-.025em;
}
.organize-login-copy p{
  max-width:560px;
  margin:0;
  font-size:14px;
  line-height:1.6;
  color:rgba(255,255,255,.90);
}
.organize-feature-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,230px));
  gap:10px;
  margin-top:30px;
}
.organize-feature-card{
  display:flex;
  align-items:center;
  gap:11px;
  min-height:66px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:11px;
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(3px);
}
.organize-feature-icon{
  width:34px;
  height:34px;
  min-width:34px;
  border-radius:9px;
  background:rgba(255,255,255,.16);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  color:#fff;
}
.organize-feature-card b{
  display:block;
  margin-bottom:2px;
  font-size:11px;
  font-weight:600!important;
  color:#fff;
}
.organize-feature-card small{
  font-size:9.5px!important;
  color:rgba(255,255,255,.75)!important;
}
.organize-cloud-status{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:28px;
  font-size:10px;
  color:rgba(255,255,255,.80);
}
.organize-cloud-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#b9ffbd;
  box-shadow:0 0 0 4px rgba(185,255,189,.12);
}

/* lado do acesso */
.organize-login-access{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:42px;
  background:#fff;
}
.organize-login-box{
  width:100%!important;
  max-width:390px!important;
  padding:30px!important;
  border:1px solid #eceef2!important;
  border-radius:17px!important;
  background:#fff!important;
  box-shadow:0 14px 38px rgba(25,30,45,.10)!important;
}
.organize-login-mobile-brand{display:none}
.organize-login-box .login-online-title{
  text-align:left!important;
  margin-bottom:24px!important;
}
.organize-login-box .login-online-title h1{
  margin:0 0 6px!important;
  font-size:28px!important;
  color:#171717!important;
  font-weight:600!important;
}
.organize-login-box .login-online-title p{
  margin:0!important;
  color:#717784!important;
  font-size:12px!important;
  line-height:1.45;
}
.organize-login-box .field{
  margin-bottom:15px!important;
}
.organize-login-box .field label{
  font-size:11px!important;
  color:#222!important;
  font-weight:500!important;
}
.organize-login-box .login-input-wrap input{
  height:46px!important;
  border:1px solid #dfe3ea!important;
  border-radius:9px!important;
  background:#f7f9fc!important;
  font-size:12px!important;
}
.organize-login-main-btn{
  width:100%!important;
  height:46px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  margin-top:5px!important;
  border:0!important;
  border-radius:9px!important;
  background:linear-gradient(90deg,#f75d0a,#ef7608)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:600!important;
  box-shadow:0 8px 18px rgba(242,93,10,.20)!important;
}
.organize-login-box .login-create-row{
  margin-top:22px!important;
  font-size:11px!important;
}
.organize-login-box .login-create-link{
  color:#ef5b0a!important;
}

/* Modo noturno */
.dark-mode .login-organize-style,
.dark-mode .organize-login-access{
  background:#111318!important;
}
.dark-mode .organize-login-intro{
  background:linear-gradient(145deg,#23252b 0%,#191b20 55%,#121316 100%)!important;
}
.dark-mode .organize-login-box{
  background:#181a1f!important;
  border-color:#2d3037!important;
}
.dark-mode .organize-login-box .login-online-title h1,
.dark-mode .organize-login-box .field label{
  color:#f4f4f5!important;
}
.dark-mode .organize-login-box .login-online-title p{
  color:#aeb2bb!important;
}
.dark-mode .organize-login-box .login-input-wrap input{
  background:#21242a!important;
  border-color:#343841!important;
}

@media(max-width:980px){
  .login-organize-style{
    grid-template-columns:1fr!important;
  }
  .organize-login-intro{
    display:none!important;
  }
  .organize-login-access{
    padding:22px;
  }
  .organize-login-mobile-brand{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:7px;
    margin-bottom:22px;
  }
  .organize-login-mobile-brand img{
    width:120px;
    max-height:70px;
    object-fit:contain;
  }
  .organize-login-mobile-brand b{
    font-size:12px;
    letter-spacing:.04em;
  }
}
@media(max-width:520px){
  .organize-login-access{padding:12px}
  .organize-login-box{
    padding:24px 20px!important;
    border-radius:14px!important;
  }
}


/* V90 - somente claro/noturno */
#accountThemePanel .btn{
  display:inline-flex;
  align-items:center;
  gap:7px;
}



/* =========================================================
   V98 — TIPOGRAFIA + RESPONSIVIDADE
   Somente apresentação. Não altera regras, dados ou Supabase.
   ========================================================= */

:root{
  --ui-font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --ui-text: clamp(.875rem, .84rem + .12vw, .95rem);
  --ui-small: clamp(.75rem, .72rem + .08vw, .82rem);
  --ui-title: clamp(1.25rem, 1.05rem + .65vw, 1.75rem);
  --ui-section: clamp(1rem, .94rem + .2vw, 1.15rem);
  --ui-radius: 12px;
  --ui-gap: clamp(12px, 1.2vw, 20px);
  --ui-pad: clamp(14px, 1.4vw, 22px);
  --ui-control-h: 42px;
}

html{
  font-size:16px;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  overflow-x:hidden;
}

body,
button,
input,
select,
textarea{
  font-family:var(--ui-font);
}

body{
  font-size:var(--ui-text);
  line-height:1.45;
  overflow-x:hidden;
}

h1,h2,h3,h4,h5,h6{
  line-height:1.2;
  letter-spacing:-.015em;
}

h1,.page-title{font-size:var(--ui-title);font-weight:600}
h2{font-size:clamp(1.1rem,1rem + .35vw,1.4rem);font-weight:600}
h3,.panel h3{font-size:var(--ui-section);font-weight:600}
h4,h5,h6{font-weight:600}

p,.sub,.muted,small{
  line-height:1.45;
}
small,.sub,.muted{
  font-size:var(--ui-small);
}

label{
  font-size:.82rem;
  font-weight:500;
}

button,.btn,input,select,textarea{
  font-size:.875rem;
}

button,.btn,input,select{
  min-height:var(--ui-control-h);
}

input,select,textarea{
  max-width:100%;
}

button,.btn{
  line-height:1.2;
  font-weight:500;
}

button:focus-visible,
.btn:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible{
  outline:2px solid currentColor;
  outline-offset:2px;
}

/* Conteúdo e proporções */
main,
.main,
.content,
.main-content,
.page-content{
  min-width:0;
}

.page,
.page-content{
  width:100%;
  max-width:1440px;
  margin-inline:auto;
}

.panel,.card,.kpi{
  min-width:0;
}

.panel{
  padding:var(--ui-pad);
}

.grid,.form-grid,.kpi-grid,.cards-grid{
  gap:var(--ui-gap);
}

table{
  width:100%;
  font-size:.84rem;
  border-collapse:collapse;
}

th{
  font-weight:600;
  white-space:nowrap;
}

td,th{
  vertical-align:middle;
}

.table-wrap,
.table-responsive{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}

img,svg,canvas{
  max-width:100%;
}

/* Modais seguros */
.modal,
.modal-box,
.modal-card,
.dialog{
  max-width:min(680px, calc(100vw - 32px));
}

.modal-content,
.modal-body{
  max-height:calc(100dvh - 110px);
  overflow-y:auto;
  overscroll-behavior:contain;
}

/* Evita estouro de texto */
.card,.panel,.kpi,td,th,.nav-item,.btn{
  overflow-wrap:anywhere;
}

/* Desktop grande */
@media (min-width:1440px){
  :root{--ui-pad:20px;--ui-gap:18px}
  .page,.page-content{max-width:1480px}
}

/* Desktop / notebook */
@media (min-width:1024px) and (max-width:1439px){
  :root{--ui-pad:18px;--ui-gap:16px}
  .page,.page-content{max-width:1240px}
}

/* Tablet */
@media (min-width:768px) and (max-width:1023px){
  :root{
    --ui-control-h:44px;
    --ui-pad:16px;
    --ui-gap:14px;
  }

  .kpi-grid,
  .cards-grid,
  .dashboard-grid,
  .grid-4{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .form-grid,
  .grid-3{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .modal,
  .modal-box,
  .modal-card,
  .dialog{
    width:min(92vw,680px);
  }

  .sidebar{
    max-width:min(320px,82vw);
  }
}

/* Mobile */
@media (max-width:767px){
  :root{
    --ui-control-h:46px;
    --ui-pad:14px;
    --ui-gap:12px;
  }

  body{font-size:.875rem}

  .page,
  .page-content,
  .content,
  .main-content{
    width:100%;
    max-width:100%;
    padding-inline:12px;
  }

  .panel,.card,.kpi{
    border-radius:10px;
  }

  .grid,
  .form-grid,
  .grid-2,
  .grid-3,
  .grid-4,
  .dashboard-grid,
  .cards-grid{
    grid-template-columns:1fr !important;
  }

  .kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .section-head,
  .section-head-inline,
  .page-head,
  .toolbar{
    gap:10px;
    flex-wrap:wrap;
  }

  .toolbar > *,
  .form-actions > .btn,
  .modal-actions > .btn{
    max-width:100%;
  }

  input,select,textarea{
    width:100%;
  }

  .modal,
  .modal-box,
  .modal-card,
  .dialog{
    width:calc(100vw - 20px) !important;
    max-width:calc(100vw - 20px) !important;
    max-height:calc(100dvh - 20px);
    margin:10px;
  }

  .modal-content,
  .modal-body{
    max-height:calc(100dvh - 100px);
  }

  table{
    min-width:640px;
    font-size:.8rem;
  }

  .sidebar{
    width:min(86vw,310px);
    max-width:86vw;
  }

  .nav-item,
  .sidebar button,
  .sidebar a{
    min-height:44px;
  }

  .btn,
  button{
    min-height:44px;
  }
}

/* Mobile pequeno */
@media (max-width:480px){
  :root{
    --ui-pad:12px;
    --ui-gap:10px;
  }

  .page,
  .page-content,
  .content,
  .main-content{
    padding-inline:10px;
  }

  .kpi-grid{
    grid-template-columns:1fr !important;
  }

  h1,.page-title{
    font-size:1.25rem;
  }

  .panel{
    padding:12px;
  }

  .section-head-inline > .btn,
  .section-head > .btn{
    width:100%;
  }

  .modal-actions,
  .form-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }

  .modal-actions .btn,
  .form-actions .btn{
    width:100%;
  }
}

/* Acessibilidade: menos movimento */
@media (prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    scroll-behavior:auto !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}



/* =========================================================
   V101 — MENU LATERAL FIXO E FUNDO CONTÍNUO
   Corrige faixa branca e desalinhamento ao rolar.
   ========================================================= */

/* Estrutura principal */
.app{
  min-height:100vh!important;
  align-items:stretch!important;
}

/* Menu lateral sempre ocupa a altura inteira da viewport */
.side,
.sidebar{
  position:sticky!important;
  top:0!important;
  align-self:start!important;
  height:100vh!important;
  min-height:100vh!important;
  max-height:100vh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:linear-gradient(180deg,#2f3b33 0%,#18231d 100%)!important;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.45) transparent;
}

/* Fundo laranja continua durante toda a rolagem do próprio menu */
.side::before,
.sidebar::before{
  content:"";
  position:absolute;
  inset:0;
  min-height:100%;
  background:linear-gradient(180deg,#2f3b33 0%,#18231d 100%);
  z-index:-1;
}

/* Garante que o conteúdo lateral não gere espaço branco */
.side > *,
.sidebar > *{
  position:relative;
  z-index:1;
}

/* Evita que o fundo do container pai apareça abaixo */
.app,
body.app-visible,
body.app-visible #appScreen{
  background:#f7f7fb!important;
}

#appScreen.app{
  min-height:100vh!important;
}

/* scrollbar mais discreta */
.side::-webkit-scrollbar,
.sidebar::-webkit-scrollbar{
  width:6px;
}
.side::-webkit-scrollbar-track,
.sidebar::-webkit-scrollbar-track{
  background:transparent;
}
.side::-webkit-scrollbar-thumb,
.sidebar::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.38);
  border-radius:999px;
}

/* Desktop: menu lateral fixo enquanto conteúdo principal rola */
@media (min-width:768px){
  .side,
  .sidebar{
    position:sticky!important;
    top:0!important;
  }
}

/* Mobile: mantém comportamento de gaveta sem quebrar */
@media (max-width:767px){
  .side,
  .sidebar{
    position:fixed!important;
    top:0!important;
    left:0;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
  }
}

/* Modo noturno */
.dark-mode .side,
.dark-mode .sidebar,
.dark-mode .side::before,
.dark-mode .sidebar::before{
  background:linear-gradient(180deg,#191a1e 0%,#101114 100%)!important;
}



/* =========================================================
   V102 — MENU FIXO DE VERDADE NO DESKTOP
   Somente o conteúdo principal rola.
   ========================================================= */

@media (min-width:768px){

  /* tira o sidebar do fluxo da página */
  #appScreen.app{
    display:block!important;
    min-height:100vh!important;
    width:100%!important;
  }

  #appScreen > .side{
    position:fixed!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    width:198px!important;
    height:100vh!important;
    min-height:100vh!important;
    max-height:100vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    z-index:1000!important;
    margin:0!important;
    transform:none!important;
    background:linear-gradient(180deg,#2f3b33 0%,#18231d 100%)!important;
  }

  /* conteúdo começa exatamente depois do menu */
  #appScreen > .main{
    display:block!important;
    width:calc(100% - 198px)!important;
    max-width:none!important;
    min-width:0!important;
    min-height:100vh!important;
    margin-left:198px!important;
    box-sizing:border-box!important;
  }

  /* impede qualquer regra antiga de sticky/grid de interferir */
  #appScreen > .side{
    align-self:auto!important;
  }
}

/* notebook/tablet horizontal: mesma lógica, largura um pouco menor */
@media (min-width:768px) and (max-width:1200px){
  #appScreen > .side{
    width:190px!important;
  }
  #appScreen > .main{
    width:calc(100% - 190px)!important;
    margin-left:190px!important;
  }
}

/* mobile continua como menu gaveta, sem deslocar o conteúdo */
@media (max-width:767px){
  #appScreen.app{
    display:block!important;
  }

  #appScreen > .side{
    position:fixed!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    height:100dvh!important;
    max-height:100dvh!important;
    z-index:3000!important;
    overflow-y:auto!important;
  }

  #appScreen > .main{
    width:100%!important;
    margin-left:0!important;
  }
}

/* fundo contínuo mesmo se o conteúdo interno for menor */
#appScreen > .side{
  background-color:#8b5e3c!important;
  background-image:linear-gradient(180deg,#2f3b33 0%,#18231d 100%)!important;
  background-repeat:no-repeat!important;
  background-attachment:local!important;
}

/* modo noturno */
.dark-mode #appScreen > .side{
  background-color:#101114!important;
  background-image:linear-gradient(180deg,#191a1e 0%,#101114 100%)!important;
}



/* V104 — somente controles de período; não altera layout geral */
.dashboard-period-controls{
  min-width:250px;
}
.dashboard-period-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
}
#dashboardMonthFilter{
  width:132px;
  min-width:132px;
}
#dashboardYearFilter{
  width:92px;
  min-width:92px;
}
#dashboardMonthFilter,
#dashboardYearFilter{
  height:38px;
  padding:0 10px;
  font-size:13px;
  line-height:1.2;
  color:#222;
  background:#fff;
}
@media (max-width:767px){
  .dashboard-period-controls{
    min-width:0;
    width:100%;
  }
  .dashboard-period-row{
    width:100%;
  }
  #dashboardMonthFilter{
    flex:1 1 auto;
    width:auto;
    min-width:0;
  }
  #dashboardYearFilter{
    flex:0 0 92px;
  }
}



/* =========================================================
   V105 — CORREÇÃO RAIZ DO LAYOUT
   Resolve conflito de especificidade que mantinha #appScreen em grid.
   ========================================================= */

@media (min-width:768px){

  /* Esta regra precisa ser MAIS específica que:
     body.app-visible #appScreen { display:grid!important; } */
  body.app-visible #appScreen.app{
    display:block!important;
    width:100vw!important;
    max-width:100vw!important;
    min-width:100vw!important;
    min-height:100vh!important;
    overflow:visible!important;
  }

  body.app-visible #appScreen.app > .side{
    position:fixed!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    width:198px!important;
    height:100vh!important;
    min-height:100vh!important;
    max-height:100vh!important;
    margin:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    z-index:1000!important;
    background:linear-gradient(180deg,#2f3b33 0%,#18231d 100%)!important;
  }

  body.app-visible #appScreen.app > .main{
    display:block!important;
    position:relative!important;
    width:calc(100vw - 198px)!important;
    max-width:calc(100vw - 198px)!important;
    min-width:0!important;
    margin:0 0 0 198px!important;
    padding-left:26px!important;
    padding-right:26px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  body.app-visible #appScreen.app > .main > .top,
  body.app-visible #appScreen.app > .main > section{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  body.app-visible #page-dashboardexec{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  body.app-visible #page-dashboardexec .dashboard-command-panel,
  body.app-visible #page-dashboardexec .dashboard-extended-kpis,
  body.app-visible #page-dashboardexec .dashboard-quick-actions-panel{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
}

/* Notebook/tablet horizontal */
@media (min-width:768px) and (max-width:1200px){
  body.app-visible #appScreen.app > .side{
    width:190px!important;
  }
  body.app-visible #appScreen.app > .main{
    width:calc(100vw - 190px)!important;
    max-width:calc(100vw - 190px)!important;
    margin-left:190px!important;
  }
}

/* Remoção definitiva da área UNIDADE / Minha Empresa */
#unitSelect{
  display:none!important;
}
.side > div[style*="font-size:10px"][style*="margin-left:4px"]{
  display:none!important;
}

/* Modo noturno */
.dark-mode body.app-visible #appScreen.app > .side,
body.dark-mode.app-visible #appScreen.app > .side{
  background:linear-gradient(180deg,#191a1e 0%,#101114 100%)!important;
}



/* V106 — período funcional */
.dashboard-period-row{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
}
#dashboardMonthFilter{
  width:132px!important;
  min-width:132px!important;
}
#dashboardYearFilter{
  width:90px!important;
  min-width:90px!important;
}
.dashboard-custom-period-btn{
  width:auto!important;
  min-width:105px!important;
  white-space:nowrap!important;
}
.dashboard-period-active{
  display:block;
  color:rgba(255,255,255,.88)!important;
  margin:2px 0 7px!important;
  font-size:10px!important;
}
@media(max-width:767px){
  .dashboard-period-row{
    flex-wrap:wrap!important;
  }
  #dashboardMonthFilter{flex:1 1 130px!important}
  #dashboardYearFilter{flex:0 0 90px!important}
  .dashboard-custom-period-btn{flex:1 1 120px!important}
}



/* =========================================================
   V107 — BOLETOS E PAGAMENTOS
   ========================================================= */
.boleto-page-v107{
  padding:0!important;
}

.boleto-page-head-v107{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}
.boleto-title-row-v107{
  display:flex;
  align-items:center;
  gap:10px;
}
.boleto-title-row-v107 h2{
  margin:0;
  font-size:24px;
  font-weight:600;
}
.boleto-title-icon-v107{
  width:26px;
  height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #ff6a12;
  border-radius:4px;
  color:#f15b0a;
  font-size:15px;
}
.boleto-page-head-v107 p{
  margin:5px 0 0;
  color:#677080;
  font-size:13px;
}
.boleto-new-btn-v107{
  border:0!important;
  background:linear-gradient(90deg,#f45b0a,#d94705)!important;
  color:#fff!important;
  padding:10px 16px!important;
  border-radius:8px!important;
  font-weight:500!important;
  box-shadow:0 6px 14px rgba(231,82,8,.18);
}

.boleto-summary-grid-v107{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:18px;
}
.boleto-summary-card-v107{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:68px;
  padding:12px 14px;
  border:1px solid #eceef2;
  border-radius:8px;
  background:#fff;
  box-shadow:0 2px 5px rgba(20,25,35,.07);
}
.boleto-summary-card-v107 small{
  display:block;
  color:#5d6673;
  font-size:11px;
  margin-bottom:2px;
}
.boleto-summary-card-v107 b{
  display:block;
  font-size:18px;
  font-weight:600;
  color:#111827;
}
.boleto-summary-icon-v107{
  width:38px;
  height:38px;
  min-width:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:7px;
  font-size:18px;
}
.boleto-summary-icon-v107.pendente{background:#dbeafe;color:#2563eb}
.boleto-summary-icon-v107.pago{background:#dcfce7;color:#16a34a}
.boleto-summary-icon-v107.vencido{background:#fee2e2;color:#ef4444}
.boleto-summary-icon-v107.total{background:#eee9df;color:#8b5e3c}

.boleto-filter-panel-v107{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  padding:12px;
  margin-bottom:18px;
  background:#fff;
  border:1px solid #eceef2;
  border-radius:8px;
  box-shadow:0 2px 5px rgba(20,25,35,.06);
}
.boleto-filter-btn-v107{
  border:0;
  background:#f5f6fa;
  color:#2c3440;
  min-height:34px;
  padding:7px 13px;
  border-radius:7px;
  font-size:12px;
  font-weight:400;
}
.boleto-filter-btn-v107.active{
  background:#f45b0a;
  color:#fff;
}

.boleto-cards-grid-v107{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.boleto-card-v107{
  position:relative;
  padding:18px 20px;
  min-width:0;
  background:#fff;
  border:1px solid #e8ebef;
  border-left:3px solid #f59e0b;
  border-radius:8px;
  box-shadow:0 2px 6px rgba(20,25,35,.08);
}
.boleto-card-v107.pago{border-left-color:#22c55e}
.boleto-card-v107.vencido{border-left-color:#ef4444}
.boleto-card-v107.pendente{border-left-color:#f59e0b}
.boleto-card-top-v107{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.boleto-card-top-v107 h3{
  margin:0 0 5px;
  font-size:14px;
  font-weight:600;
  color:#111827;
}
.boleto-category-v107{
  color:#414b59;
  font-size:11px;
  text-transform:uppercase;
}
.boleto-status-pill-v107{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:3px 8px;
  border-radius:999px;
  font-size:9px;
  white-space:nowrap;
}
.boleto-status-pill-v107.pago{background:#dcfce7;color:#15803d}
.boleto-status-pill-v107.vencido{background:#fee2e2;color:#b91c1c}
.boleto-status-pill-v107.pendente{background:#fef3c7;color:#92400e}
.boleto-amount-v107{
  margin-top:13px;
  font-size:20px;
  font-weight:600;
  color:#111827;
}
.boleto-due-v107{
  margin-top:8px;
  color:#1f2937;
  font-size:11px;
}
.boleto-card-actions-v107{
  display:flex;
  align-items:center;
  gap:7px;
  padding-top:13px;
  margin-top:13px;
  border-top:1px solid #e5e7eb;
}
.boleto-card-actions-v107 button{
  width:38px;
  min-width:38px;
  height:28px;
  min-height:28px;
  padding:0;
  border:0;
  border-radius:6px;
  color:#fff;
  font-size:13px;
}
.boleto-action-edit-v107{background:#2563eb}
.boleto-action-pay-v107{background:#16a34a}
.boleto-action-delete-v107{background:#dc2626}
.boleto-empty-v107{
  grid-column:1/-1;
  padding:28px;
  text-align:center;
  background:#fff;
  border:1px dashed #d7dbe2;
  border-radius:8px;
  color:#687180;
}

/* modo noturno */
.dark-mode .boleto-summary-card-v107,
.dark-mode .boleto-filter-panel-v107,
.dark-mode .boleto-card-v107,
.dark-mode .boleto-empty-v107{
  background:#181a1f!important;
  border-color:#30333a!important;
}
.dark-mode .boleto-summary-card-v107 b,
.dark-mode .boleto-card-top-v107 h3,
.dark-mode .boleto-amount-v107,
.dark-mode .boleto-due-v107{
  color:#f4f4f5!important;
}
.dark-mode .boleto-page-head-v107 p,
.dark-mode .boleto-summary-card-v107 small,
.dark-mode .boleto-category-v107{
  color:#aeb2bb!important;
}
.dark-mode .boleto-filter-btn-v107{
  background:#24272e;
  color:#e4e4e7;
}
.dark-mode .boleto-filter-btn-v107.active{
  background:#f45b0a;
  color:#fff;
}

/* tablet */
@media(max-width:1023px){
  .boleto-summary-grid-v107{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* mobile */
@media(max-width:767px){
  .boleto-page-head-v107{
    flex-direction:column;
    align-items:stretch;
  }
  .boleto-new-btn-v107{
    width:100%;
  }
  .boleto-summary-grid-v107{
    grid-template-columns:1fr 1fr;
  }
  .boleto-cards-grid-v107{
    grid-template-columns:1fr;
  }
}
@media(max-width:480px){
  .boleto-summary-grid-v107{
    grid-template-columns:1fr;
  }
  .boleto-title-row-v107 h2{
    font-size:20px;
  }
}



/* =========================================================
   V109 — RESPONSIVIDADE PROFISSIONAL + PWA
   ========================================================= */

*{box-sizing:border-box}
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{min-width:0}
#appScreen,.main,.page,.panel,.card,.kpi{min-width:0}

/* controls */
input,select,textarea,button,.btn{
  max-width:100%;
}
input,select,button,.btn{
  min-height:42px;
}
textarea{min-height:96px}

/* desktop */
@media (min-width:1200px){
  body.app-visible #appScreen.app > .side{
    width:198px!important;
  }
  body.app-visible #appScreen.app > .main{
    width:calc(100vw - 198px)!important;
    max-width:calc(100vw - 198px)!important;
    margin-left:198px!important;
    padding:20px 26px 34px!important;
  }
  .cards,
  .dashboard-extended-kpis{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}

/* notebook / tablet landscape */
@media (min-width:900px) and (max-width:1199px){
  body.app-visible #appScreen.app > .side{
    width:184px!important;
  }
  body.app-visible #appScreen.app > .main{
    width:calc(100vw - 184px)!important;
    max-width:calc(100vw - 184px)!important;
    margin-left:184px!important;
    padding:18px 18px 28px!important;
  }

  .dashboard-extended-kpis,
  .cards,
  .boleto-summary-grid-v107{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .boleto-cards-grid-v107{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .filters{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .form-grid,.grid-3,.grid-4{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* TABLET portrait: drawer navigation + full content */
@media (min-width:600px) and (max-width:899px){
  body.app-visible #appScreen.app{
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }

  body.app-visible #appScreen.app > .side{
    position:fixed!important;
    top:0!important;
    left:0!important;
    width:min(320px,72vw)!important;
    height:100dvh!important;
    z-index:3000!important;
    transform:translateX(-105%)!important;
    transition:transform .22s ease!important;
    box-shadow:8px 0 25px rgba(0,0,0,.16)!important;
  }
  body.app-visible #appScreen.app > .side.mobile-open{
    transform:translateX(0)!important;
  }

  body.app-visible #appScreen.app > .main{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    padding:16px 18px 28px!important;
  }

  .mobile-menu-btn{
    display:inline-flex!important;
  }

  .top{
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:10px!important;
  }
  .top > div:first-child{
    min-width:0!important;
    flex:1 1 260px!important;
  }

  .dashboard-command-panel{
    min-height:auto!important;
  }
  .dashboard-command-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:12px!important;
  }
  .dashboard-period-controls{
    position:static!important;
    grid-column:1/-1!important;
    min-width:0!important;
    margin-top:14px!important;
  }
  .dashboard-period-row{
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
  }

  .dashboard-extended-kpis,
  .cards,
  .boleto-summary-grid-v107{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .boleto-cards-grid-v107{
    grid-template-columns:1fr!important;
  }
  .filters,
  .form-grid,
  .grid-2,.grid-3,.grid-4{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  table{
    min-width:720px;
  }
  .panel > div[style*="overflow:auto"],
  .table-wrap,.table-responsive{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
  }
}

/* MOBILE */
@media (max-width:599px){
  body.app-visible #appScreen.app{
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }

  body.app-visible #appScreen.app > .side{
    position:fixed!important;
    top:0!important;
    left:0!important;
    width:min(310px,86vw)!important;
    height:100dvh!important;
    z-index:3000!important;
    transform:translateX(-105%)!important;
    transition:transform .22s ease!important;
    box-shadow:8px 0 25px rgba(0,0,0,.18)!important;
  }
  body.app-visible #appScreen.app > .side.mobile-open{
    transform:translateX(0)!important;
  }

  body.app-visible #appScreen.app > .main{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    padding:12px 12px 24px!important;
  }

  .mobile-menu-btn{
    display:inline-flex!important;
  }

  .top{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:8px!important;
  }
  .top h1{
    font-size:20px!important;
  }

  .dashboard-command-panel{
    min-height:auto!important;
    padding:18px 16px!important;
  }
  .dashboard-command-head{
    display:block!important;
  }
  .dashboard-company-only-badge{
    position:absolute!important;
    top:16px!important;
    right:16px!important;
  }
  .dashboard-period-controls{
    position:static!important;
    width:100%!important;
    min-width:0!important;
    margin-top:18px!important;
  }
  .dashboard-period-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 90px!important;
    gap:8px!important;
  }
  .dashboard-custom-period-btn{
    grid-column:1/-1!important;
    width:100%!important;
  }
  #dashboardMonthFilter,
  #dashboardYearFilter{
    width:100%!important;
    min-width:0!important;
  }
  .dashboard-command-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    margin-top:16px!important;
  }
  .dashboard-command-actions .btn{
    width:100%!important;
  }

  .dashboard-extended-kpis,
  .cards,
  .boleto-summary-grid-v107,
  .boleto-cards-grid-v107,
  .filters,
  .form-grid,
  .grid-2,.grid-3,.grid-4{
    grid-template-columns:1fr!important;
  }

  .panel{
    padding:13px!important;
  }
  .section-head,.section-head-inline{
    flex-wrap:wrap!important;
    gap:10px!important;
  }

  .modalbg{
    padding:8px!important;
    align-items:flex-start!important;
    overflow-y:auto!important;
  }
  .modal,.modalbox,.modal-box,.modal-card{
    width:100%!important;
    max-width:100%!important;
    max-height:calc(100dvh - 16px)!important;
    margin:0!important;
    overflow-y:auto!important;
  }

  table{
    min-width:680px;
  }
  .panel > div[style*="overflow:auto"],
  .table-wrap,.table-responsive{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
  }

  .boleto-page-head-v107{
    flex-direction:column!important;
  }
  .boleto-new-btn-v107{
    width:100%!important;
  }
}

/* tiny phones */
@media (max-width:390px){
  body.app-visible #appScreen.app > .main{
    padding:10px 9px 20px!important;
  }
  .dashboard-command-actions{
    grid-template-columns:1fr!important;
  }
  .top .btn,
  .top button{
    font-size:12px!important;
  }
}

/* install button */
.install-app-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.install-app-btn.hidden{
  display:none!important;
}

/* accessibility */
@media (prefers-reduced-motion:reduce){
  *{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}


.mobile-menu-btn{display:none}
.mobile-menu-overlay-v109{
  position:fixed;
  inset:0;
  z-index:2990;
  background:rgba(15,18,24,.45);
  backdrop-filter:blur(1px);
}
@media(min-width:900px){
  .mobile-menu-overlay-v109{display:none!important}
}


/* V113 — cadastro de boleto corrigido */
.bill-modal-v113{
  width:min(680px,calc(100vw - 28px))!important;
  max-width:680px!important;
}
.bill-modal-head-v113{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
}
.bill-modal-head-v113 h2{margin:0}
.bill-modal-head-v113 p{
  margin:4px 0 0;
  color:#6b7280;
  font-size:12px;
}
.bill-modal-close-v113{
  width:34px;
  min-width:34px;
  height:34px;
  min-height:34px;
  padding:0;
  border:0;
  border-radius:8px;
  background:#f3f4f6;
  color:#374151;
  font-size:21px;
  line-height:1;
}
.bill-formgrid-v113{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
.bill-field-full-v113{grid-column:1/-1}
.bill-barcode-row-v113{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}
.bill-modal-actions-v113{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:18px;
}
.dark-mode .bill-modal-head-v113 p{color:#aeb2bb}
.dark-mode .bill-modal-close-v113{
  background:#24272e;
  color:#f4f4f5;
}
@media(max-width:599px){
  .bill-formgrid-v113{grid-template-columns:1fr!important}
  .bill-field-full-v113{grid-column:auto}
  .bill-barcode-row-v113{grid-template-columns:1fr!important}
  .bill-barcode-row-v113 .btn{width:100%}
  .bill-modal-actions-v113{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .bill-modal-actions-v113 .btn{width:100%}
}



/* V114 — conta vinculada ao boleto */
.boleto-account-v114{
  margin-top:6px;
  color:#4b5563;
  font-size:11px;
}
.dark-mode .boleto-account-v114{
  color:#aeb2bb!important;
}


.supplier-list-v115{display:grid;gap:10px}.supplier-row-v115{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid #e7e9ee;border-radius:10px;background:#fff}.supplier-main-v115 b{display:block;font-size:14px;margin-bottom:3px}.supplier-main-v115 small{color:#6b7280}.supplier-row-actions-v115{display:flex;gap:8px}.supplier-empty-v115{padding:24px;text-align:center;color:#6b7280}.supplier-modal-v115{width:min(680px,calc(100vw - 28px))!important}.supplier-modal-head-v115{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.supplier-modal-head-v115 h2{margin:0}.supplier-modal-head-v115 p{margin:4px 0 0;color:#6b7280;font-size:12px}.supplier-close-v115{width:34px;height:34px;min-width:34px;min-height:34px;padding:0;border:0;border-radius:8px;font-size:20px}.supplier-formgrid-v115{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}.supplier-field-full-v115{grid-column:1/-1}.supplier-actions-v115{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}@media(max-width:599px){.supplier-row-v115{flex-direction:column;align-items:stretch}.supplier-row-actions-v115{display:grid;grid-template-columns:1fr 1fr}.supplier-formgrid-v115{grid-template-columns:1fr!important}.supplier-field-full-v115{grid-column:auto}}


.account-page-v116{padding:0!important}.account-info-banner-v116{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:15px 18px;border:1px solid #fdc88d;border-radius:10px;background:linear-gradient(90deg,#fff7ed,#fffdf4);margin-bottom:20px}.account-info-icon-v116{width:34px;height:34px;border-radius:8px;background:#fff0df;color:#f05b0a;display:flex;align-items:center;justify-content:center;font-size:18px}.account-info-copy-v116 h2{margin:1px 0 6px;font-size:15px;font-weight:600}.account-info-copy-v116 p{margin:0;font-size:11px;line-height:1.55;color:#596271}.account-tutorial-btn-v116{border-color:#ff9a50!important;color:#ee5a0b!important;background:#fff!important;min-height:30px!important;padding:5px 10px!important;font-size:11px!important}.account-actions-v116{display:flex;gap:10px;margin-bottom:20px}.account-new-btn-v116{background:linear-gradient(90deg,#f45b0a,#df4805)!important;border:0!important;color:#fff!important}.account-transfer-btn-v116{background:#fff!important;color:#69717d!important;border:1px solid #e4e7ec!important}.account-summary-grid-v116{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px}.account-summary-card-v116{min-height:90px;padding:14px 16px;display:flex;align-items:flex-start;gap:10px;background:#fff;border:1px solid #ebedf1;border-radius:8px;box-shadow:0 2px 6px rgba(20,25,35,.06)}.account-summary-card-v116.balance{border-left:3px solid #6366f1}.account-summary-card-v116.income{border-left:3px solid #22c55e}.account-summary-card-v116.expense{border-left:3px solid #ef4444}.account-summary-icon-v116{font-size:18px;margin-top:1px}.account-summary-card-v116.balance .account-summary-icon-v116{color:#4f46e5}.account-summary-card-v116.income .account-summary-icon-v116{color:#16a34a}.account-summary-card-v116.expense .account-summary-icon-v116{color:#dc2626}.account-summary-card-v116 small{display:block;font-size:11px;color:#4b5563;margin-bottom:4px}.account-summary-card-v116 b{display:block;font-size:20px;font-weight:600;color:#111827}.account-summary-card-v116.income b{color:#16a34a}.account-summary-card-v116.expense b{color:#dc2626}.account-summary-card-v116 span{display:block;font-size:9px;color:#6b7280;margin-top:4px}.account-list-panel-v116{padding:20px!important}.account-list-title-v116{display:flex;align-items:center;gap:8px;margin-bottom:16px}.account-list-title-v116 h3{margin:0;font-size:14px}.account-list-title-v116 span{color:#f05b0a}.account-list-v116{display:grid;gap:10px}.account-row-v116{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:13px 14px;border-radius:8px;background:#f8f9fb;border:1px solid #f0f1f4}.account-row-main-v116{display:flex;align-items:center;gap:12px;min-width:0}.account-bank-icon-v116{width:34px;height:34px;border-radius:7px;background:#dfe8ec;display:flex;align-items:center;justify-content:center;color:#44707e}.account-row-copy-v116{min-width:0}.account-row-copy-v116 b{display:block;font-size:13px;color:#111827}.account-row-copy-v116 small{display:block;font-size:10px;color:#677080;margin-top:3px}.account-row-financial-v116{text-align:right}.account-row-financial-v116 b{display:block;font-size:14px;color:#111827}.account-row-financial-v116 small{display:block;font-size:9px;margin-top:2px}.account-row-financial-v116 .in,.account-history-row-v116 .in{color:#16a34a}.account-row-financial-v116 .out,.account-history-row-v116 .out{color:#ef4444}.account-row-actions-v116{display:flex;gap:4px}.account-row-actions-v116 button{width:28px;height:28px;min-height:28px;padding:0;border:0;background:transparent;border-radius:6px;color:#374151;font-size:13px}.account-row-actions-v116 button:hover{background:#eceff3}.account-empty-v116{padding:24px;text-align:center;color:#6b7280}.account-transfer-modal-v116{width:min(640px,calc(100vw - 24px))!important}.account-history-modal-v116{width:min(720px,calc(100vw - 24px))!important}.account-modal-head-v116{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.account-modal-head-v116 h2{margin:0}.account-modal-head-v116 p{margin:4px 0 0;color:#6b7280;font-size:11px}.account-close-v116{width:34px;height:34px;min-height:34px;min-width:34px;padding:0;border:0;border-radius:8px;font-size:20px}.account-modal-actions-v116{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.account-history-list-v116{display:grid;gap:8px}.account-history-row-v116{display:flex;justify-content:space-between;gap:14px;padding:11px;border:1px solid #e7e9ee;border-radius:8px}.account-history-row-v116 b{display:block;font-size:12px}.account-history-row-v116 small{display:block;font-size:10px;color:#6b7280;margin-top:2px}.dark-mode .account-info-banner-v116{background:#191a1f;border-color:#75411f}.dark-mode .account-summary-card-v116,.dark-mode .account-row-v116,.dark-mode .account-history-row-v116{background:#181a1f;border-color:#30333a}.dark-mode .account-summary-card-v116 b,.dark-mode .account-row-copy-v116 b,.dark-mode .account-row-financial-v116 b{color:#f4f4f5}.dark-mode .account-info-copy-v116 p,.dark-mode .account-row-copy-v116 small,.dark-mode .account-summary-card-v116 small{color:#aeb2bb}@media(max-width:899px){.account-summary-grid-v116{grid-template-columns:1fr 1fr}.account-summary-card-v116:last-child{grid-column:1/-1}}@media(max-width:599px){.account-info-banner-v116{grid-template-columns:auto 1fr}.account-tutorial-btn-v116{grid-column:1/-1;width:100%}.account-actions-v116{display:grid;grid-template-columns:1fr 1fr}.account-actions-v116 .btn{width:100%}.account-summary-grid-v116{grid-template-columns:1fr}.account-summary-card-v116:last-child{grid-column:auto}.account-row-v116{grid-template-columns:1fr}.account-row-financial-v116{text-align:left}.account-row-actions-v116{justify-content:flex-start}.account-modal-actions-v116{display:grid;grid-template-columns:1fr 1fr}.account-modal-actions-v116 .btn{width:100%}}



/* =========================================================
   V117 — DASHBOARD VISUAL POR CATEGORIA
   ========================================================= */
.dashboard-analytics-v117{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin:18px 0;
}
.dashboard-chart-card-v117{
  min-width:0;
  background:#fff;
  border:1px solid #e8ebf0;
  border-radius:16px;
  padding:20px;
  box-shadow:0 5px 16px rgba(31,41,55,.07);
}
.dashboard-chart-card-v117.top-expenses-v117{
  grid-column:1/-1;
}
.dashboard-chart-title-v117{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-bottom:14px;
}
.dashboard-chart-title-v117 h3{
  margin:1px 0 2px;
  font-size:13px;
  font-weight:600;
  color:#101828;
}
.dashboard-chart-title-v117 small{
  color:#667085;
  font-size:10px;
}
.dashboard-chart-title-v117 small b{
  color:#16a34a;
}
.dashboard-chart-icon-v117{
  width:28px;
  height:28px;
  min-width:28px;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
}
.dashboard-chart-icon-v117.expense{
  background:#fff0df;
  color:#f16813;
}
.dashboard-chart-icon-v117.income{
  background:#dcfaee;
  color:#12a676;
}

.dashboard-donut-layout-v117{
  display:grid;
  grid-template-columns:minmax(210px,.85fr) minmax(240px,1.15fr);
  align-items:center;
  gap:18px;
  min-height:240px;
}
.dashboard-donut-wrap-v117{
  position:relative;
  height:230px;
  min-width:0;
}
.dashboard-donut-wrap-v117 canvas{
  width:100%!important;
  height:100%!important;
}
.dashboard-donut-center-v117{
  position:absolute;
  inset:50% auto auto 50%;
  transform:translate(-50%,-50%);
  width:110px;
  text-align:center;
  pointer-events:none;
}
.dashboard-donut-center-v117 small{
  display:block;
  color:#98a2b3;
  font-size:9px;
  margin-bottom:4px;
}
.dashboard-donut-center-v117 b{
  display:block;
  color:#101828;
  font-size:16px;
  line-height:1.15;
}
.dashboard-category-legend-v117{
  display:grid;
  gap:7px;
  max-height:225px;
  overflow-y:auto;
  padding-right:5px;
}
.dashboard-legend-row-v117{
  display:grid;
  grid-template-columns:9px minmax(80px,1fr) auto 46px;
  align-items:center;
  gap:7px;
  min-height:24px;
  font-size:9.5px;
}
.dashboard-legend-color-v117{
  width:8px;
  height:8px;
  border-radius:50%;
}
.dashboard-legend-name-v117{
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:#344054;
}
.dashboard-legend-row-v117 b{
  font-size:9.5px;
  color:#101828;
  font-weight:600;
}
.dashboard-legend-row-v117 small{
  padding:3px 5px;
  border-radius:5px;
  background:#f2f4f7;
  color:#667085;
  font-size:8.5px;
  text-align:center;
}
.dashboard-bar-wrap-v117{
  height:245px;
  min-width:0;
}
.dashboard-topbar-wrap-v117{
  height:280px;
  min-width:0;
}
.dashboard-bar-wrap-v117 canvas,
.dashboard-topbar-wrap-v117 canvas{
  width:100%!important;
  height:100%!important;
}
.dashboard-chart-empty-v117{
  color:#98a2b3;
  padding:18px 0;
  font-size:11px;
}

/* modo noturno */
.dark-mode .dashboard-chart-card-v117{
  background:#181a1f!important;
  border-color:#30333a!important;
}
.dark-mode .dashboard-chart-title-v117 h3,
.dark-mode .dashboard-donut-center-v117 b,
.dark-mode .dashboard-legend-row-v117 b{
  color:#f4f4f5!important;
}
.dark-mode .dashboard-chart-title-v117 small,
.dark-mode .dashboard-legend-name-v117{
  color:#aeb2bb!important;
}
.dark-mode .dashboard-legend-row-v117 small{
  background:#252830!important;
  color:#aeb2bb!important;
}

/* tablet */
@media(max-width:1023px){
  .dashboard-analytics-v117{
    grid-template-columns:1fr;
  }
  .dashboard-chart-card-v117.top-expenses-v117{
    grid-column:auto;
  }
  .dashboard-donut-layout-v117{
    grid-template-columns:minmax(190px,.8fr) minmax(220px,1.2fr);
  }
}

/* mobile */
@media(max-width:599px){
  .dashboard-analytics-v117{
    gap:12px;
    margin:14px 0;
  }
  .dashboard-chart-card-v117{
    padding:14px;
    border-radius:12px;
  }
  .dashboard-donut-layout-v117{
    grid-template-columns:1fr;
  }
  .dashboard-donut-wrap-v117{
    height:220px;
  }
  .dashboard-category-legend-v117{
    max-height:230px;
  }
  .dashboard-bar-wrap-v117{
    height:260px;
  }
  .dashboard-topbar-wrap-v117{
    height:280px;
  }
  .dashboard-legend-row-v117{
    grid-template-columns:9px minmax(90px,1fr) auto 44px;
  }
}



/* =========================================================
   V118 — MOBILE/TABLET COMPLETO + PWA
   ========================================================= */
html,body{
  max-width:100%;
  overflow-x:hidden;
}

.mobile-bottom-nav-v118{
  display:none;
}

/* TABLET E MOBILE */
@media (max-width:899px){

  body.app-visible #appScreen.app{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  body.app-visible #appScreen.app > .side{
    display:block!important;
    position:fixed!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    width:min(330px,84vw)!important;
    max-width:84vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    z-index:4000!important;
    transform:translateX(-105%)!important;
    transition:transform .22s ease!important;
    box-shadow:12px 0 28px rgba(0,0,0,.22)!important;
  }

  body.app-visible #appScreen.app > .side.mobile-open{
    transform:translateX(0)!important;
  }

  body.app-visible #appScreen.app > .main{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    padding:12px 12px 90px!important;
  }

  .mobile-menu-btn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:46px!important;
    height:42px!important;
    padding:0 12px!important;
    position:relative!important;
    z-index:10!important;
  }

  .mobile-overlay{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:3900!important;
    background:rgba(15,23,42,.48)!important;
    opacity:0!important;
    pointer-events:none!important;
    transition:opacity .2s ease!important;
  }

  .mobile-overlay.open{
    opacity:1!important;
    pointer-events:auto!important;
  }

  body.mobile-menu-open{
    overflow:hidden!important;
  }

  /* Mostra TODAS as opções da navegação */
  #appScreen .side .nav{
    display:flex!important;
    flex-direction:column!important;
    gap:2px!important;
    padding-bottom:30px!important;
  }

  #appScreen .side .nav button,
  #appScreen .side .nav .employee-nav-btn{
    display:flex!important;
    width:100%!important;
    min-height:46px!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex-shrink:0!important;
  }

  #appScreen .side .nav-section-title{
    display:block!important;
    margin-top:14px!important;
    margin-bottom:4px!important;
  }

  /* Dashboard */
  .dashboard-command-head,
  .dashboard-command-panel,
  .dashboard-period-controls,
  .dashboard-period-row{
    min-width:0!important;
    max-width:100%!important;
  }

  .dashboard-command-head{
    display:block!important;
  }

  .dashboard-company-only-badge{
    position:static!important;
    display:inline-flex!important;
    margin:8px 0!important;
  }

  .dashboard-period-controls{
    position:static!important;
    width:100%!important;
    margin-top:12px!important;
  }

  .dashboard-period-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 92px!important;
    gap:8px!important;
  }

  .dashboard-period-row .dashboard-custom-period-btn{
    grid-column:1/-1!important;
    width:100%!important;
  }

  #dashboardMonthFilter,
  #dashboardYearFilter{
    width:100%!important;
    min-width:0!important;
  }

  .dashboard-command-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }

  .dashboard-command-actions .btn{
    width:100%!important;
  }

  .dashboard-extended-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .dashboard-analytics-v117{
    grid-template-columns:1fr!important;
  }

  .dashboard-chart-card-v117.top-expenses-v117{
    grid-column:auto!important;
  }

  .account-summary-grid-v116,
  .boleto-summary-grid-v107{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .boleto-cards-grid-v107{
    grid-template-columns:1fr!important;
  }

  .formgrid,
  .form-grid,
  .filters,
  .grid-2,
  .grid-3,
  .grid-4{
    grid-template-columns:1fr!important;
  }

  .modalbg{
    padding:8px!important;
    align-items:flex-start!important;
    overflow-y:auto!important;
  }

  .modal,
  .modalbox,
  .modal-box,
  .modal-card{
    width:100%!important;
    max-width:100%!important;
    max-height:calc(100dvh - 16px)!important;
    margin:0!important;
    overflow-y:auto!important;
  }

  table{
    min-width:700px;
  }

  .panel > div[style*="overflow:auto"],
  .table-wrap,
  .table-responsive{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }

  .top{
    position:sticky!important;
    top:0!important;
    z-index:1500!important;
    margin:-12px -12px 12px!important;
    padding:10px 12px!important;
    background:var(--bg,#f7f7fb)!important;
    border-bottom:1px solid rgba(0,0,0,.06)!important;
  }

  /* bottom navigation */
  .mobile-bottom-nav-v118{
    display:grid!important;
    grid-template-columns:repeat(5,1fr)!important;
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:2500!important;
    background:#fff!important;
    border-top:1px solid #e5e7eb!important;
    box-shadow:0 -5px 18px rgba(15,23,42,.08)!important;
    padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))!important;
  }

  .mobile-bottom-nav-v118 button{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px!important;
    min-width:0!important;
    min-height:50px!important;
    padding:4px!important;
    border:0!important;
    background:transparent!important;
    color:#4b5563!important;
  }

  .mobile-bottom-nav-v118 button span{
    font-size:18px!important;
    line-height:1!important;
  }

  .mobile-bottom-nav-v118 button small{
    font-size:9px!important;
    white-space:nowrap!important;
  }

  .dark-mode .mobile-bottom-nav-v118{
    background:#17191e!important;
    border-color:#2b2e35!important;
  }

  .dark-mode .mobile-bottom-nav-v118 button{
    color:#e4e4e7!important;
  }
}

/* CELULAR */
@media (max-width:599px){
  body.app-visible #appScreen.app > .main{
    padding:10px 10px 88px!important;
  }

  .dashboard-extended-kpis{
    grid-template-columns:1fr!important;
  }

  .dashboard-command-actions{
    grid-template-columns:1fr!important;
  }

  .account-summary-grid-v116,
  .boleto-summary-grid-v107{
    grid-template-columns:1fr!important;
  }

  .account-actions-v116{
    grid-template-columns:1fr!important;
  }

  .supplier-row-v115,
  .account-row-v116{
    width:100%!important;
  }

  .dashboard-donut-layout-v117{
    grid-template-columns:1fr!important;
  }

  .dashboard-donut-wrap-v117{
    height:210px!important;
  }

  .dashboard-bar-wrap-v117,
  .dashboard-topbar-wrap-v117{
    height:250px!important;
  }

  .auth-card,
  .loginbox,
  .login-card{
    width:calc(100vw - 20px)!important;
    max-width:100%!important;
  }
}



/* V119 — indicadores do Dashboard */
.dashboard-kpi-revenue-v119{
  border-left:3px solid #16a34a!important;
}
.dashboard-kpi-revenue-v119 #dashPeriodRevenue{
  color:#16a34a!important;
}

.dashboard-kpi-expense-v119{
  border-left:3px solid #dc2626!important;
}
.dashboard-kpi-expense-v119 #dashPeriodExpense{
  color:#dc2626!important;
}

.dashboard-kpi-savings-v119{
  border-left:3px solid var(--savings-color-v119,#dc2626)!important;
  background:
    linear-gradient(135deg,var(--savings-soft-v119,#fef2f2) 0%,transparent 45%),
    var(--card,#fff)!important;
}
.dashboard-kpi-savings-v119 #dashSavingsRate{
  color:var(--savings-color-v119,#dc2626)!important;
}
.dashboard-kpi-savings-v119{
  border-color:var(--savings-border-v119,#fecaca);
  border-left-color:var(--savings-color-v119,#dc2626)!important;
}

/* Com três cards removidos, deixa a grade mais equilibrada */
.dashboard-extended-kpis{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
@media(max-width:1023px){
  .dashboard-extended-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:599px){
  .dashboard-extended-kpis{
    grid-template-columns:1fr!important;
  }
}

.dark-mode .dashboard-kpi-savings-v119{
  background:#181a1f!important;
}


.settings-grid-v120{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.settings-card-v120{display:flex;align-items:flex-start;gap:12px;text-align:left;padding:16px;min-height:100px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;color:#111827}
.settings-card-v120>span{width:34px;height:34px;min-width:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#f4f4f5}
.settings-card-v120 b{display:block;font-size:13px;margin-bottom:4px}.settings-card-v120 small{display:block;color:#6b7280;font-size:10px;line-height:1.45}
.assistant-floating-v120{position:fixed;right:22px;bottom:22px;width:48px;height:48px;min-width:48px;min-height:48px;border:0;border-radius:50%;background:#111827;color:#fff;z-index:2200;box-shadow:0 8px 24px rgba(0,0,0,.18);font-size:19px}
.dark-mode .settings-card-v120{background:#181a1f;border-color:#30333a;color:#f4f4f5}.dark-mode .settings-card-v120 small{color:#aeb2bb}
@media(max-width:599px){.settings-grid-v120{grid-template-columns:1fr}.assistant-floating-v120{right:14px;bottom:76px}}
.dashboard-attention-v121{margin:18px 0;padding:16px;border:1px solid #e7e9ee;border-radius:14px;background:#fff;box-shadow:0 3px 12px rgba(15,23,42,.05)}.dashboard-attention-head-v121{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.dashboard-attention-head-v121 h3{margin:0 0 3px;font-size:14px}.dashboard-attention-head-v121 small{color:#6b7280;font-size:10px}.dashboard-attention-head-v121>span{font-size:9px;padding:5px 8px;border-radius:999px;background:#f4f4f5;color:#52525b}.dashboard-attention-list-v121{display:grid;gap:8px}.attention-item-v121{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;text-align:left;padding:11px 12px;border:1px solid #eceef2;border-radius:10px;background:#fafafa}.attention-item-v121 b{display:block;font-size:11px;color:#111827}.attention-item-v121 small{display:block;font-size:9.5px;color:#6b7280;margin-top:2px}.attention-item-v121 em{font-style:normal;font-size:18px;color:#9ca3af}.attention-dot-v121{width:8px;height:8px;border-radius:50%}.attention-item-v121.danger .attention-dot-v121{background:#ef4444}.attention-item-v121.warn .attention-dot-v121{background:#f59e0b}.attention-item-v121.info .attention-dot-v121{background:#3b82f6}.attention-empty-v121{padding:14px;text-align:center;color:#6b7280;font-size:10px}.dark-mode .dashboard-attention-v121,.dark-mode .attention-item-v121{background:#181a1f;border-color:#30333a}.dark-mode .attention-item-v121 b{color:#f4f4f5}.dark-mode .attention-item-v121 small{color:#aeb2bb}.global-search-wrap-v122{position:relative;display:flex;align-items:center;gap:6px;width:min(280px,28vw);min-width:180px;border:1px solid #e4e7ec;border-radius:9px;background:#fff;padding:0 9px}.global-search-wrap-v122 span{color:#98a2b3;font-size:14px}.global-search-wrap-v122 input{width:100%;min-height:38px;border:0!important;outline:0!important;background:transparent!important;padding:0!important;box-shadow:none!important}.global-search-panel-v122{position:fixed;top:72px;right:24px;width:min(440px,calc(100vw - 28px));max-height:65vh;overflow:auto;z-index:5000;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 18px 45px rgba(15,23,42,.18)}.global-search-panel-head-v122{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid #eee}.global-search-panel-head-v122 b{font-size:12px}.global-search-panel-head-v122 button{border:0;background:transparent;font-size:18px}.global-search-result-v122{width:100%;display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 13px;border:0;border-bottom:1px solid #f1f2f4;background:#fff;text-align:left}.global-search-result-v122>span{font-size:8.5px;padding:4px 5px;border-radius:5px;background:#f4f4f5;color:#52525b;text-align:center}.global-search-result-v122 b{display:block;font-size:11px}.global-search-result-v122 small{display:block;font-size:9px;color:#6b7280;margin-top:2px}.global-search-result-v122 em{font-style:normal;color:#9ca3af}.global-search-empty-v122{padding:20px;text-align:center;color:#6b7280;font-size:10px}.dark-mode .global-search-wrap-v122,.dark-mode .global-search-panel-v122,.dark-mode .global-search-result-v122{background:#181a1f;border-color:#30333a;color:#f4f4f5}@media(max-width:899px){.global-search-wrap-v122{order:10;width:100%!important;min-width:0!important}.global-search-panel-v122{top:70px;left:10px;right:10px;width:auto}}.calendar-summary-v123{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.calendar-stat-v123{padding:13px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.calendar-stat-v123 small{display:block;font-size:9px;color:#6b7280}.calendar-stat-v123 b{display:block;font-size:16px;margin-top:4px}.calendar-stat-v123.income b{color:#16a34a}.calendar-stat-v123.expense b{color:#dc2626}.calendar-list-v123{display:grid;gap:7px}.calendar-row-v123{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:10px 12px;border:1px solid #eceef2;border-radius:9px;background:#fff;text-align:left}.calendar-date-v123{width:38px;height:38px;border-radius:8px;background:#f4f4f5;display:flex;flex-direction:column;align-items:center;justify-content:center}.calendar-date-v123 b{font-size:13px;line-height:1}.calendar-date-v123 small{font-size:8px;color:#6b7280}.calendar-row-v123>div:nth-child(2)>span{display:block;font-size:8.5px;color:#6b7280}.calendar-row-v123>div:nth-child(2)>b{display:block;font-size:11px;margin-top:2px}.calendar-row-v123 strong{font-size:11px}.calendar-row-v123.entrada strong{color:#16a34a}.calendar-row-v123.saida strong{color:#dc2626}.calendar-empty-v123{padding:24px;text-align:center;color:#6b7280;font-size:10px}.dark-mode .calendar-stat-v123,.dark-mode .calendar-row-v123{background:#181a1f;border-color:#30333a}@media(max-width:899px){.calendar-summary-v123{grid-template-columns:1fr 1fr}}@media(max-width:599px){.calendar-summary-v123{grid-template-columns:1fr}.calendar-row-v123{grid-template-columns:42px minmax(0,1fr)}.calendar-row-v123 strong{grid-column:2}}.supplier-card-v124{padding:15px;border:1px solid #e7e9ee;border-radius:12px;background:#fff}.supplier-card-head-v124{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.supplier-card-head-v124>div:first-child>b{display:block;font-size:13px}.supplier-card-head-v124>div:first-child>small{display:block;color:#6b7280;font-size:9.5px;margin-top:3px}.supplier-metrics-v124{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:13px}.supplier-metrics-v124>div{padding:9px;border-radius:8px;background:#f8f9fb}.supplier-metrics-v124 small{display:block;font-size:8.5px;color:#6b7280}.supplier-metrics-v124 b{display:block;font-size:11px;margin-top:3px}.supplier-metrics-v124 b.warn{color:#dc2626}.supplier-history-btn-v124{margin-top:10px;border:0;background:transparent;color:#f05b0a;padding:0;font-size:9.5px}.dark-mode .supplier-card-v124,.dark-mode .supplier-metrics-v124>div{background:#181a1f;border-color:#30333a}.dark-mode .supplier-metrics-v124>div{background:#23262d}@media(max-width:700px){.supplier-card-head-v124{flex-direction:column}.supplier-metrics-v124{grid-template-columns:1fr 1fr}}@media(max-width:420px){.supplier-metrics-v124{grid-template-columns:1fr}}

.closing-actions-v125{display:flex;gap:8px;align-items:center}
.closing-kpis-v125{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.closing-kpi-v125{padding:14px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.closing-kpi-v125 small{display:block;font-size:9px;color:#6b7280}.closing-kpi-v125 b{display:block;font-size:18px;margin-top:4px}.closing-kpi-v125.income b{color:#16a34a}.closing-kpi-v125.expense b{color:#dc2626}
.closing-grid-v125{display:grid;grid-template-columns:1fr 1fr;gap:14px}.closing-line-v125{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #eee;font-size:11px}.closing-line-v125:last-child{border-bottom:0}.closing-pending-v125{padding:8px 0;font-size:10px;color:#b45309}.closing-ok-v125{padding:10px;border-radius:8px;background:#f0fdf4;color:#166534;font-size:10px}.closing-history-row-v125{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #eee}.closing-history-row-v125 b{display:block;font-size:11px}.closing-history-row-v125 small{display:block;color:#6b7280;font-size:9px;margin-top:2px}.closing-history-row-v125>div:last-child{display:flex;gap:12px;align-items:center;font-size:10px}.closing-history-row-v125 strong{font-size:11px}.dark-mode .closing-kpi-v125{background:#181a1f;border-color:#30333a}@media(max-width:899px){.closing-kpis-v125{grid-template-columns:1fr 1fr}.closing-grid-v125{grid-template-columns:1fr}}@media(max-width:599px){.closing-actions-v125{display:grid;grid-template-columns:1fr}.closing-kpis-v125{grid-template-columns:1fr}.closing-history-row-v125{flex-direction:column}.closing-history-row-v125>div:last-child{justify-content:space-between}}



.smart-notification-v126{display:block;width:100%;text-align:left;padding:10px 12px;border:0;border-bottom:1px solid #eee;background:#fff}.smart-notification-v126 b{display:block;font-size:10.5px}.smart-notification-v126 small{display:block;font-size:9px;color:#6b7280;margin-top:2px}.smart-notification-v126.danger{border-left:3px solid #ef4444}.smart-notification-v126.warn{border-left:3px solid #f59e0b}.smart-notification-v126.info{border-left:3px solid #3b82f6}.dark-mode .smart-notification-v126{background:#181a1f;border-bottom-color:#30333a}.dark-mode .smart-notification-v126 small{color:#aeb2bb}



.analysis-hub-v127{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.analysis-hub-v127 button{display:flex;gap:12px;align-items:flex-start;text-align:left;padding:16px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.analysis-hub-v127 button>span{width:34px;height:34px;min-width:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#f4f4f5}.analysis-hub-v127 b{display:block;font-size:12px}.analysis-hub-v127 small{display:block;font-size:9.5px;color:#6b7280;margin-top:3px}.dark-mode .analysis-hub-v127 button{background:#181a1f;border-color:#30333a}@media(max-width:599px){.analysis-hub-v127{grid-template-columns:1fr}}



/* V128 — interface mais enxuta */
#page-dashboardexec .dre:has(#execRecentTransactions){grid-template-columns:1fr!important}
#page-dashboardexec .dre:has(#execRecentTransactions) .drebox{width:100%}



.dashboard-month-compare-v130{margin:18px 0;padding:16px;border:1px solid #e7e9ee;border-radius:14px;background:#fff}
.dashboard-month-compare-head-v130 h3{margin:0;font-size:14px}.dashboard-month-compare-head-v130 small{font-size:9.5px;color:#6b7280}
.month-compare-grid-v130{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.month-compare-card-v130{padding:13px;border:1px solid #e5e7eb;border-radius:10px;background:#fafafa}
.month-compare-card-v130 small{display:block;font-size:9px;color:#6b7280}.month-compare-card-v130 b{display:block;font-size:17px;margin:4px 0}.month-compare-card-v130 span{display:block;font-size:9px;font-weight:600}.month-compare-card-v130 em{display:block;font-style:normal;font-size:8.5px;color:#6b7280;margin-top:5px}
.month-compare-card-v130.good span{color:#16a34a}.month-compare-card-v130.bad span{color:#dc2626}.month-compare-card-v130.neutral span{color:#6b7280}
.dark-mode .dashboard-month-compare-v130,.dark-mode .month-compare-card-v130{background:#181a1f;border-color:#30333a}
@media(max-width:700px){.month-compare-grid-v130{grid-template-columns:1fr}}



.budget-intelligence-v131{margin-bottom:14px;padding:16px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.budget-deviation-grid-v131{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.budget-deviation-card-v131{padding:12px;border:1px solid #e5e7eb;border-radius:10px;background:#fafafa}.budget-deviation-card-v131 b{display:block;font-size:11px}.budget-deviation-card-v131 small{display:block;font-size:9px;color:#6b7280;margin-top:2px}
.budget-deviation-bar-v131{height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin:9px 0}.budget-deviation-bar-v131 span{display:block;height:100%}
.budget-deviation-card-v131.good .budget-deviation-bar-v131 span{background:#22c55e}.budget-deviation-card-v131.warn .budget-deviation-bar-v131 span{background:#f59e0b}.budget-deviation-card-v131.bad .budget-deviation-bar-v131 span{background:#ef4444}
.budget-deviation-foot-v131{display:flex;justify-content:space-between;gap:10px;font-size:9px}.budget-deviation-card-v131.good .budget-deviation-foot-v131 span{color:#16a34a}.budget-deviation-card-v131.warn .budget-deviation-foot-v131 span{color:#b45309}.budget-deviation-card-v131.bad .budget-deviation-foot-v131 span{color:#dc2626}
.dark-mode .budget-intelligence-v131,.dark-mode .budget-deviation-card-v131{background:#181a1f;border-color:#30333a}@media(max-width:700px){.budget-deviation-grid-v131{grid-template-columns:1fr}}



.cash-warning-v132{display:flex;gap:12px;align-items:flex-start;margin:18px 0;padding:14px 16px;border-radius:12px;border:1px solid #e5e7eb;background:#fff}.cash-warning-icon-v132{width:34px;height:34px;min-width:34px;border-radius:9px;display:flex;align-items:center;justify-content:center}.cash-warning-v132 h3{margin:0 0 3px;font-size:13px}.cash-warning-v132 #cashWarningTextV132{font-size:10px;color:#6b7280;line-height:1.45}.cash-warning-v132.good{border-left:4px solid #22c55e}.cash-warning-v132.warn{border-left:4px solid #f59e0b}.cash-warning-v132.danger{border-left:4px solid #ef4444}.cash-warning-v132.good .cash-warning-icon-v132{background:#dcfce7;color:#16a34a}.cash-warning-v132.warn .cash-warning-icon-v132{background:#fef3c7;color:#b45309}.cash-warning-v132.danger .cash-warning-icon-v132{background:#fee2e2;color:#dc2626}.dark-mode .cash-warning-v132{background:#181a1f;border-color:#30333a}



.preventive-panel-v133{margin-top:14px}.preventive-alerts-v133{display:grid;gap:8px;margin-top:12px}.preventive-alert-v133{padding:11px 12px;border:1px solid #e5e7eb;border-radius:9px;background:#fafafa}.preventive-alert-v133 b{display:block;font-size:10.5px}.preventive-alert-v133 small{display:block;font-size:9px;color:#6b7280;margin-top:3px}.preventive-alert-v133.warn{border-left:3px solid #f59e0b}.preventive-alert-v133.danger{border-left:3px solid #ef4444}.preventive-ok-v133{padding:12px;border-radius:9px;background:#f0fdf4;color:#166534;font-size:10px}.dark-mode .preventive-alert-v133{background:#181a1f;border-color:#30333a}



.executive-auto-v135{margin-top:14px}.executive-auto-kpis-v135{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0}.executive-auto-kpis-v135>div{padding:11px;border-radius:9px;background:#f8f9fb}.executive-auto-kpis-v135 small{display:block;font-size:8.5px;color:#6b7280}.executive-auto-kpis-v135 b{display:block;font-size:13px;margin-top:3px}.executive-auto-kpis-v135 b.good{color:#16a34a}.executive-auto-kpis-v135 b.bad{color:#dc2626}.executive-auto-insights-v135{display:grid;grid-template-columns:1fr 1fr;gap:8px}.executive-insight-v135{display:grid;grid-template-columns:8px 1fr;gap:8px;align-items:start;padding:10px;border:1px solid #e5e7eb;border-radius:9px}.executive-insight-v135>span{width:8px;height:8px;border-radius:50%;margin-top:3px}.executive-insight-v135.good>span{background:#22c55e}.executive-insight-v135.warn>span{background:#f59e0b}.executive-insight-v135.bad>span{background:#ef4444}.executive-insight-v135 b{display:block;font-size:10.5px}.executive-insight-v135 small{display:block;font-size:9px;color:#6b7280;margin-top:2px}.dark-mode .executive-auto-kpis-v135>div,.dark-mode .executive-insight-v135{background:#181a1f;border-color:#30333a}@media(max-width:800px){.executive-auto-kpis-v135{grid-template-columns:1fr 1fr}.executive-auto-insights-v135{grid-template-columns:1fr}}@media(max-width:450px){.executive-auto-kpis-v135{grid-template-columns:1fr}}


.trend-panel-v136{margin-top:14px}.trend-chart-wrap-v136{height:300px;margin-top:12px}.trend-chart-wrap-v136 canvas{width:100%!important;height:100%!important}@media(max-width:599px){.trend-chart-wrap-v136{height:260px}}

/* V532.31 — Relatórios consistentes, resumidos e sem painéis repetidos */
#page-analises{display:grid;gap:14px}
#page-analises.hidden{display:none!important}
.reports-hero-v53231{background:linear-gradient(135deg,#133b2d,#1f5a43);color:#fff;overflow:hidden;position:relative}
.reports-hero-v53231:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-95px;top:-125px;background:rgba(193,122,50,.18);pointer-events:none}
.reports-head-v53231{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;position:relative;z-index:1}
.reports-head-v53231 h2{margin:4px 0 2px;font-size:24px}.reports-head-v53231 .sub{color:rgba(255,255,255,.74)}
.reports-kicker-v53231{font-size:9px;font-weight:800;letter-spacing:.18em;color:#e8b677}
.reports-period-v53231{min-width:260px}.reports-period-v53231 label{display:block;font-size:9px;font-weight:700;margin-bottom:5px;color:rgba(255,255,255,.72)}
.reports-period-v53231>div{display:flex;gap:7px}.reports-period-v53231 input{min-width:0;flex:1;border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:9px 11px;background:rgba(255,255,255,.1);color:#fff;color-scheme:dark}
.reports-period-v53231 .btn{background:#fff;border-color:#fff;color:#153d2f}
.reports-hero-v53231 .analysis-hub-v127{grid-template-columns:repeat(5,minmax(0,1fr));position:relative;z-index:1}
.reports-hero-v53231 .analysis-hub-v127 button{min-width:0;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff;padding:12px}
.reports-hero-v53231 .analysis-hub-v127 button:hover{background:rgba(255,255,255,.14)}
.reports-hero-v53231 .analysis-hub-v127 button>span{background:rgba(255,255,255,.12);color:#f2b56e}
.reports-hero-v53231 .analysis-hub-v127 small{color:rgba(255,255,255,.68)}
.reports-status-v53231{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12);font-size:9px;color:rgba(255,255,255,.72);position:relative;z-index:1}
.reports-quality-v53231{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid}.reports-quality-v53231 b{font-size:10px;white-space:nowrap}.reports-quality-v53231 span{font-size:9.5px}
.reports-quality-v53231.good{background:#edf8f1;border-color:#bddfc9;color:#24623f}.reports-quality-v53231.warn{background:#fff7e8;border-color:#ecd39d;color:#8a5a12}
.dark-mode .reports-quality-v53231.good{background:#153527;border-color:#286144;color:#bfe6cc}.dark-mode .reports-quality-v53231.warn{background:#3b2b14;border-color:#725423;color:#f2d49b}
.reports-kpis-v53231{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.reports-kpis-v53231 article{padding:15px;border:1px solid #e5e7eb;border-radius:13px;background:#fbfbfa;display:flex;flex-direction:column;gap:5px;min-width:0}
.reports-kpis-v53231 small{font-size:9px;color:#667085}.reports-kpis-v53231 b{font-size:17px;overflow-wrap:anywhere}.reports-kpis-v53231 span{font-size:8.5px}#page-analises .good{color:#208455!important}#page-analises .bad{color:#c2413b!important}#page-analises .muted{color:#858b96!important}
.reports-summary-grid-v53231{display:grid;grid-template-columns:1.35fr .9fr;gap:12px;margin-top:12px}.reports-summary-grid-v53231>div{padding:14px;border:1px solid #ececec;border-radius:13px}.reports-summary-grid-v53231 h4,.reports-concentration-grid-v53231 h4{margin:0 0 10px;font-size:10px}
.reports-decisions-v53231{display:grid;gap:8px}.reports-decision-v53231{display:flex;gap:9px;align-items:flex-start}.reports-decision-v53231>span{width:8px;height:8px;border-radius:50%;margin-top:3px;background:#77808f}.reports-decision-v53231.good>span{background:#208455}.reports-decision-v53231.warn>span{background:#d39032}.reports-decision-v53231.bad>span{background:#c2413b}.reports-decision-v53231 b,.reports-decision-v53231 small{display:block}.reports-decision-v53231 b{font-size:9.5px}.reports-decision-v53231 small{font-size:8.5px;color:#667085;margin-top:2px}
.reports-sources-v53231{display:grid;gap:7px}.reports-sources-v53231>div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #eee;padding-bottom:6px;font-size:9px}.reports-sources-v53231>div:last-child{border:0;padding-bottom:0}
.reports-trend-v53231 .trend-chart-wrap-v136{height:285px}.reports-trend-table-v53231{display:none}.reports-trend-table-v53231>div{display:grid;grid-template-columns:1fr repeat(3,1.3fr);gap:8px;padding:8px 4px;border-bottom:1px solid #eee;font-size:8.5px;text-align:right}.reports-trend-table-v53231>div>*:first-child{text-align:left}.reports-trend-table-v53231.show{display:block}
.reports-details-v53231{padding:0!important}.reports-details-v53231>summary{list-style:none;cursor:pointer;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.reports-details-v53231>summary::-webkit-details-marker{display:none}.reports-details-v53231>summary span b,.reports-details-v53231>summary span small{display:block}.reports-details-v53231>summary span b{font-size:12px}.reports-details-v53231>summary span small{font-size:9px;color:#667085;margin-top:3px}.reports-details-v53231>summary i{font-style:normal;transition:transform .2s}.reports-details-v53231[open]>summary i{transform:rotate(180deg)}
.reports-concentration-grid-v53231{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0 18px 18px;border-top:1px solid #eee}.reports-concentration-grid-v53231>div{padding-top:15px;min-width:0}
.reports-bar-row-v53231{display:grid;grid-template-columns:minmax(110px,1.2fr) minmax(80px,2fr) 44px;align-items:center;gap:9px;margin:9px 0}.reports-bar-row-v53231 b,.reports-bar-row-v53231 small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reports-bar-row-v53231 b{font-size:9px}.reports-bar-row-v53231 small{font-size:8px;color:#667085;margin-top:2px}.reports-bar-row-v53231 strong{font-size:8.5px;text-align:right}.reports-bar-v53231{height:7px;background:#eceeea;border-radius:99px;overflow:hidden}.reports-bar-v53231 span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1e694c,#c17a32)}
.reports-recurring-summary-v53231{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 18px 14px;border-top:1px solid #eee;padding-top:15px}.reports-recurring-summary-v53231 article{padding:12px;border-radius:11px;background:#f7f7f4}.reports-recurring-summary-v53231 small,.reports-recurring-summary-v53231 b{display:block}.reports-recurring-summary-v53231 small{font-size:8.5px;color:#667085}.reports-recurring-summary-v53231 b{font-size:14px;margin-top:4px}
.reports-list-v53231{padding:0 18px 18px}.reports-list-v53231>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #eee}.reports-list-v53231 span b,.reports-list-v53231 span small{display:block}.reports-list-v53231 span b{font-size:9.5px}.reports-list-v53231 span small{font-size:8px;color:#667085;margin-top:2px}.reports-list-v53231 strong{font-size:9px;white-space:nowrap}.reports-empty-v53231{font-size:9px;color:#667085;padding:10px 0}
.dark-mode .reports-kpis-v53231 article,.dark-mode .reports-summary-grid-v53231>div{background:#191c1b;border-color:#343836}.dark-mode .reports-details-v53231>summary,.dark-mode .reports-concentration-grid-v53231,.dark-mode .reports-recurring-summary-v53231,.dark-mode .reports-list-v53231>div,.dark-mode .reports-sources-v53231>div{border-color:#343836}.dark-mode .reports-recurring-summary-v53231 article{background:#191c1b}.dark-mode .reports-bar-v53231{background:#343836}
@media(max-width:980px){.reports-hero-v53231 .analysis-hub-v127{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-kpis-v53231{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.reports-head-v53231{display:block}.reports-period-v53231{min-width:0;margin-top:14px}.reports-hero-v53231 .analysis-hub-v127{grid-template-columns:1fr}.reports-hero-v53231 .analysis-hub-v127 button{padding:10px 12px}.reports-kpis-v53231,.reports-summary-grid-v53231,.reports-concentration-grid-v53231,.reports-recurring-summary-v53231{grid-template-columns:1fr}.reports-quality-v53231{align-items:flex-start;flex-direction:column;gap:4px}.reports-quality-v53231 b{white-space:normal}.reports-trend-v53231 .trend-chart-wrap-v136{height:235px}.reports-bar-row-v53231{grid-template-columns:minmax(95px,1fr) minmax(65px,1.2fr) 40px}}

/* V532.32 — contraste seguro em superfícies verde-escuras */
/* Ponto de Equilíbrio: os valores em <b> recebiam novamente a cor escura global. */
#page-pontoequilibrio .be-formula-example-v53227,
#page-pontoequilibrio .be-formula-example-v53227 :is(b,strong,span,small,em){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Fechamento da DRE: todas as colunas da linha verde permanecem legíveis. */
#page-resultados .dre-row.final,
#page-resultados .dre-row.final :is(span,b,strong,small,em){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Heróis financeiros: protege títulos e textos sem recolorir menus ou campos claros internos. */
#page-dashboardexec .dashboard-command-panel :is(#dashboardGreeting,#dashboardTodayLabel),
#page-dashboardexec #k347Dashboard .k347-hero :is(.k347-kicker,h1,p),
#page-analises .reports-hero-v53231 :is(.reports-kicker-v53231,h2,.sub,.reports-status-v53231),
.k5322-total :is(small,b,strong,span){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#page-dashboardexec .dashboard-command-panel #dashboardTodayLabel,
#page-analises .reports-hero-v53231 .sub,
#page-analises .reports-hero-v53231 .reports-status-v53231{color:rgba(255,255,255,.76)!important;-webkit-text-fill-color:rgba(255,255,255,.76)!important}

/* No celular o cabeçalho é verde; qualquer título/subtítulo eventualmente exibido fica branco. */
@media(max-width:767px){
  body.app-visible #appScreen.app>.main>.top.top-v158 :is(#title,.top-page-meta-v158 h1,.top-user-copy-v158 b){
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }
  body.app-visible #appScreen.app>.main>.top.top-v158 :is(#subtitle,.top-page-meta-v158 .sub,.top-user-copy-v158 small){
    color:rgba(255,255,255,.74)!important;
    -webkit-text-fill-color:rgba(255,255,255,.74)!important;
  }
}


.supplier-risk-v137{display:grid;gap:9px;margin-top:12px}.supplier-risk-row-v137{display:grid;grid-template-columns:minmax(150px,1fr) minmax(120px,1fr) 56px;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #eee}.supplier-risk-row-v137 b{display:block;font-size:10.5px}.supplier-risk-row-v137 small{display:block;font-size:8.5px;color:#6b7280;margin-top:2px}.supplier-risk-meter-v137{height:8px;border-radius:999px;background:#e5e7eb;overflow:hidden}.supplier-risk-meter-v137 span{display:block;height:100%}.supplier-risk-row-v137.low .supplier-risk-meter-v137 span{background:#22c55e}.supplier-risk-row-v137.medium .supplier-risk-meter-v137 span{background:#f59e0b}.supplier-risk-row-v137.high .supplier-risk-meter-v137 span{background:#ef4444}.supplier-risk-row-v137 strong{text-align:right;font-size:10px}.supplier-risk-note-v137{padding:10px;border-radius:8px;font-size:9.5px}.supplier-risk-note-v137.good{background:#f0fdf4;color:#166534}.supplier-risk-note-v137.warn{background:#fffbeb;color:#92400e}.supplier-risk-note-v137.danger{background:#fef2f2;color:#991b1b}@media(max-width:600px){.supplier-risk-row-v137{grid-template-columns:1fr 60px}.supplier-risk-meter-v137{grid-column:1/-1}}



.data-quality-panel-v138{margin-top:14px}.data-quality-v138{display:grid;gap:8px;margin-top:12px}.data-quality-row-v138{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:9px;background:#fff;text-align:left}.data-quality-row-v138 b{display:block;font-size:10.5px}.data-quality-row-v138 small{display:block;font-size:8.5px;color:#6b7280;margin-top:2px}.data-quality-row-v138 strong{min-width:28px;height:28px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:10px}.data-quality-row-v138.warn strong{background:#fef3c7;color:#92400e}.data-quality-row-v138.info strong{background:#dbeafe;color:#1d4ed8}.data-quality-ok-v138{padding:12px;border-radius:9px;background:#f0fdf4;color:#166534;font-size:10px}.dark-mode .data-quality-row-v138{background:#181a1f;border-color:#30333a}



.employee-cost-panel-v140{margin-top:14px}.employee-cost-summary-v140{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0}.employee-cost-summary-v140>div{padding:11px;border-radius:9px;background:#f8f9fb}.employee-cost-summary-v140 small{display:block;font-size:8.5px;color:#6b7280}.employee-cost-summary-v140 b{display:block;font-size:13px;margin-top:3px}.employee-cost-list-v140{display:grid;gap:8px}.employee-cost-row-v140{display:grid;grid-template-columns:minmax(130px,1.4fr) repeat(4,minmax(90px,1fr));gap:10px;align-items:center;padding:10px;border:1px solid #e5e7eb;border-radius:9px}.employee-cost-row-v140>div:first-child b{display:block;font-size:10.5px}.employee-cost-row-v140>div:first-child small{display:block;color:#6b7280;font-size:8.5px}.employee-cost-row-v140>div:not(:first-child) small{display:block;font-size:8px;color:#6b7280}.employee-cost-row-v140>div:not(:first-child) b,.employee-cost-row-v140 strong{font-size:10px}.employee-cost-row-v140 strong{color:#111827}.dark-mode .employee-cost-summary-v140>div,.dark-mode .employee-cost-row-v140{background:#181a1f;border-color:#30333a}@media(max-width:900px){.employee-cost-summary-v140{grid-template-columns:1fr 1fr}.employee-cost-row-v140{grid-template-columns:1fr 1fr}}@media(max-width:500px){.employee-cost-summary-v140{grid-template-columns:1fr}.employee-cost-row-v140{grid-template-columns:1fr}}



.recurrence-panel-v141{margin-top:14px}.recurrence-summary-v141{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}.recurrence-summary-v141>div{padding:11px;border-radius:9px;background:#f8f9fb}.recurrence-summary-v141 small{display:block;font-size:8.5px;color:#6b7280}.recurrence-summary-v141 b{display:block;font-size:13px;margin-top:3px}.recurrence-list-v141{display:grid;gap:7px}.recurrence-row-v141{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #eee}.recurrence-row-v141 b{display:block;font-size:10.5px}.recurrence-row-v141 small{display:block;font-size:8.5px;color:#6b7280;margin-top:2px}.recurrence-row-v141 strong{font-size:10.5px;color:#dc2626}.dark-mode .recurrence-summary-v141>div{background:#181a1f}@media(max-width:600px){.recurrence-summary-v141{grid-template-columns:1fr}.recurrence-row-v141{align-items:flex-start;flex-direction:column}}



.reconciliation-audit-v142{margin-top:14px}.reconciliation-ok-v142{padding:11px;border-radius:8px;background:#f0fdf4;color:#166534;font-size:10px;margin-top:12px}.reconciliation-count-v142{font-size:9.5px;color:#b45309;margin:10px 0}.reconciliation-row-v142{display:flex;justify-content:space-between;gap:12px;width:100%;padding:9px 0;border:0;border-bottom:1px solid #eee;background:transparent;text-align:left}.reconciliation-row-v142 b{display:block;font-size:10.5px}.reconciliation-row-v142 small{display:block;font-size:8.5px;color:#6b7280;margin-top:2px}.reconciliation-row-v142 strong{font-size:10px}



.spend-concentration-v143{margin-top:14px}.spend-concentration-summary-v143{padding:12px;border-radius:9px;background:#f8f9fb;margin:12px 0}.spend-concentration-summary-v143 small{display:block;font-size:8.5px;color:#6b7280}.spend-concentration-summary-v143 b{display:block;font-size:18px;margin:3px 0}.spend-concentration-summary-v143 span{font-size:9px;color:#6b7280}.spend-concentration-row-v143{display:grid;grid-template-columns:minmax(120px,1fr) minmax(100px,1fr) 54px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #eee}.spend-concentration-row-v143 b{display:block;font-size:10.5px}.spend-concentration-row-v143 small{display:block;font-size:8.5px;color:#6b7280}.spend-concentration-bar-v143{height:8px;border-radius:999px;background:#e5e7eb;overflow:hidden}.spend-concentration-bar-v143 span{display:block;height:100%;background:#8b5e3c}.spend-concentration-row-v143 strong{text-align:right;font-size:9.5px}.dark-mode .spend-concentration-summary-v143{background:#181a1f}@media(max-width:600px){.spend-concentration-row-v143{grid-template-columns:1fr 50px}.spend-concentration-bar-v143{grid-column:1/-1}}


.manual-backup-v148{margin-top:14px}.backup-status-v148{margin-top:10px;padding:10px;border-radius:8px;background:#f8f9fb;color:#6b7280;font-size:9.5px}.dark-mode .backup-status-v148{background:#181a1f;color:#aeb2bb}

.tx-modal-v150{width:min(760px,calc(100vw - 28px))!important;max-width:760px!important}.tx-modal-head-v150{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}.tx-modal-head-v150 h2{margin:0}.tx-modal-head-v150 p{margin:4px 0 0;font-size:10px;color:#6b7280}.tx-modal-close-v150{width:34px;height:34px;min-width:34px;min-height:34px;padding:0;border:0;border-radius:8px;font-size:20px}.tx-formgrid-v150{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.tx-field-full-v150{grid-column:1/-1}.tx-extra-v150{padding:10px 12px;border:1px solid #e5e7eb;border-radius:9px;background:#fafafa}.tx-check-v150{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;cursor:pointer}.tx-check-v150 input{width:auto!important;min-height:auto!important}.tx-extra-grid-v150{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.tx-modal-actions-v150{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.dark-mode .tx-modal-head-v150 p{color:#aeb2bb}.dark-mode .tx-extra-v150{background:#181a1f;border-color:#30333a}@media(max-width:599px){.tx-formgrid-v150{grid-template-columns:1fr!important}.tx-field-full-v150{grid-column:auto}.tx-extra-grid-v150{grid-template-columns:1fr}.tx-modal-actions-v150{display:grid;grid-template-columns:1fr 1fr}.tx-modal-actions-v150 .btn{width:100%}}


/* V151 — contraste dos botões no Dashboard em modo noturno */
.dark-mode #page-dashboardexec .dashboard-command-actions{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}
.dark-mode #page-dashboardexec .dashboard-command-actions .btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  visibility:visible!important;
  opacity:1!important;
  background:#24272e!important;
  color:#f4f4f5!important;
  border:1px solid #3f444d!important;
  box-shadow:none!important;
}
.dark-mode #page-dashboardexec .dashboard-command-actions .btn.primary{
  background:#173d27!important;
  color:#58d68d!important;
  border-color:#28623e!important;
}
.dark-mode #page-dashboardexec .dashboard-command-actions .btn:hover{
  background:#30343c!important;
}
.dark-mode #page-dashboardexec .dashboard-command-actions .btn.primary:hover{
  background:#1d4a30!important;
}
.dark-mode #page-dashboardexec .dashboard-quick-actions-panel .btn,
.dark-mode #page-dashboardexec .dashboard-quick-actions .btn{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  background:#24272e!important;
  color:#f4f4f5!important;
  border:1px solid #3f444d!important;
}
@media(max-width:899px){
  .dark-mode #page-dashboardexec .dashboard-command-actions{
    display:grid!important;
  }
}



/* V153 — lançamentos recentes no Dashboard */
.recent-tx-v153{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid #eceef2;
}
.recent-tx-v153:last-child{border-bottom:0}
.recent-tx-main-v153{display:flex;align-items:center;gap:9px;min-width:0}
.recent-tx-main-v153 b{display:block;font-size:10.5px}
.recent-tx-main-v153 small{display:block;font-size:8.5px;color:#6b7280;margin-top:2px}
.recent-tx-icon-v153{
  width:28px;height:28px;min-width:28px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;font-size:12px;
}
.recent-tx-icon-v153.income{background:#dcfce7;color:#16a34a}
.recent-tx-icon-v153.expense{background:#fee2e2;color:#dc2626}
.recent-tx-value-v153{font-size:10.5px;font-weight:600}
.recent-tx-value-v153.income{color:#16a34a}
.recent-tx-value-v153.expense{color:#dc2626}
.dark-mode .recent-tx-v153{border-color:#30333a}
.dark-mode .recent-tx-main-v153 small{color:#aeb2bb}



/* V154 — Dashboard independente e gráficos logo abaixo dos indicadores */
#page-dashboardexec .dashboard-analytics-v117{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  margin-top:18px!important;
  margin-bottom:18px!important;
}
#page-dashboardexec .dashboard-chart-card-v117{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  min-height:280px!important;
}
#page-dashboardexec #dashExpenseDonutV117,
#page-dashboardexec #dashRevenueBarV117,
#page-dashboardexec #dashTopExpensesBarV117{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
#page-dashboardexec #dashboardMonthFilter,
#page-dashboardexec #dashboardYearFilter{
  color:#3f4652!important;
  background:#fff!important;
  -webkit-text-fill-color:#3f4652!important;
  opacity:1!important;
}
.dark-mode #page-dashboardexec #dashboardMonthFilter,
.dark-mode #page-dashboardexec #dashboardYearFilter{
  color:#111827!important;
  background:#fff!important;
  -webkit-text-fill-color:#111827!important;
}



/* V155 — Saldo do Período */
.dashboard-kpi-period-balance-v155{
  border-left:3px solid #7c3aed!important;
}
.period-balance-head-v155{
  display:grid;
  grid-template-columns:28px minmax(0,1fr) 28px;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
}
.period-balance-icon-v155{
  width:28px;height:28px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  background:#f2eafe;color:#7c3aed;font-size:13px;
}
.period-balance-head-v155 small{
  margin:0!important;
}
.period-balance-eye-v155{
  width:28px;height:28px;min-width:28px;min-height:28px;
  border:0;background:transparent;color:#98a2b3;padding:0;
}
.dashboard-kpi-period-balance-v155 #dashPeriodBalanceV155{
  font-size:26px!important;
  line-height:1.1;
  margin-bottom:7px;
}
.period-balance-status-v155{
  display:inline-flex!important;
  width:max-content;
  padding:4px 8px;
  border-radius:999px;
  font-size:9px!important;
  font-weight:600;
}
.period-balance-status-v155.positive{background:#dcfce7;color:#15803d!important}
.period-balance-status-v155.negative{background:#fee2e2;color:#b91c1c!important}
.period-balance-status-v155.neutral{background:#f3f4f6;color:#6b7280!important}

/* Dashboard period controls are protected and always visible */
#page-dashboardexec #dashboardMonthFilter,
#page-dashboardexec #dashboardYearFilter{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  min-width:130px!important;
}
#page-dashboardexec .dashboard-period-row{
  display:flex!important;
  gap:8px!important;
  align-items:center!important;
  flex-wrap:wrap!important;
}

.dark-mode .dashboard-kpi-period-balance-v155 .period-balance-icon-v155{
  background:#30234a;color:#c4b5fd;
}
.dark-mode .period-balance-status-v155.neutral{
  background:#27272a;color:#d4d4d8!important;
}

@media(max-width:899px){
  #page-dashboardexec .dashboard-period-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 110px!important;
  }
  #page-dashboardexec #dashboardMonthFilter,
  #page-dashboardexec #dashboardYearFilter{
    min-width:0!important;
    width:100%!important;
  }
}
@media(max-width:599px){
  #page-dashboardexec .dashboard-period-row{
    grid-template-columns:1fr 100px!important;
  }
}



/* =========================================================
   V156 — MODAL NOVA RECEITA / NOVA DESPESA
   ========================================================= */
.tx-modal-v156{
  width:min(680px,calc(100vw - 24px))!important;
  max-width:680px!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:16px!important;
  background:#fff!important;
}

.tx-modal-header-v156{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:0 24px;
  background:linear-gradient(90deg,#ff720d,#ef5705);
  color:#fff;
}
.tx-modal-header-v156.expense,
.tx-modal-header-v156.revenue{
  background:linear-gradient(90deg,#ff720d,#ef5705);
}
.tx-modal-title-v156{
  display:flex;
  align-items:center;
  gap:10px;
}
.tx-modal-title-v156 h2{
  margin:0!important;
  font-size:23px!important;
  font-weight:700!important;
  color:#fff!important;
}
.tx-modal-title-icon-v156{font-size:23px}
.tx-modal-x-v156{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#fff!important;
  font-size:28px!important;
  line-height:1!important;
}

.tx-modal-body-v156{padding:26px 24px 22px}
.tx-main-grid-v156{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.tx-modal-v156 .field label,
.tx-label-v156{
  display:block;
  margin-bottom:8px;
  color:#475467;
  font-size:14px;
  font-weight:500;
}
.tx-modal-v156 input,
.tx-modal-v156 select,
.tx-modal-v156 textarea{
  width:100%;
  min-height:46px;
  border:1px solid #cfd6e2!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#344054!important;
  font-size:15px!important;
  box-shadow:none!important;
}
.tx-modal-v156 textarea{min-height:78px;padding:10px 12px}
.tx-modal-v156 input:focus,
.tx-modal-v156 select:focus,
.tx-modal-v156 textarea:focus{
  border-color:#ff720d!important;
  box-shadow:0 0 0 3px rgba(255,114,13,.10)!important;
  outline:0!important;
}

.money-input-wrap-v156,
.icon-input-wrap-v156{
  min-height:46px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 12px;
  border:1px solid #cfd6e2;
  border-radius:8px;
  background:#fff;
}
.money-input-wrap-v156>span,
.icon-input-wrap-v156>span{
  flex:0 0 auto;
  color:#98a2b3;
  font-size:16px;
}
.money-input-wrap-v156 input,
.icon-input-wrap-v156 input,
.icon-input-wrap-v156 select{
  min-height:44px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.money-input-wrap-v156:focus-within,
.icon-input-wrap-v156:focus-within{
  border-color:#ff720d;
  box-shadow:0 0 0 3px rgba(255,114,13,.10);
}

.tx-section-v156{margin-bottom:22px}
.payment-method-grid-v156{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.payment-method-v156{
  min-height:84px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:0!important;
  border-radius:12px!important;
  background:#f2f3f6!important;
  color:#344054!important;
  font-size:14px!important;
}
.payment-method-v156 span{font-size:20px}
.payment-method-v156.active{
  background:linear-gradient(135deg,#ff7516,#f2570b)!important;
  color:#fff!important;
  box-shadow:0 10px 20px rgba(241,91,13,.22)!important;
}

.tx-status-block-v156{margin:22px 0}
.tx-radio-line-v156{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:18px;
}
.tx-radio-line-v156 label{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
  font-size:15px!important;
  color:#475467!important;
  cursor:pointer;
}
.tx-radio-line-v156 input{
  width:16px!important;
  height:16px!important;
  min-height:16px!important;
  margin:0!important;
}

.tx-account-full-v156{margin-top:18px}

.tx-more-v156{
  margin-top:16px;
  padding-top:4px;
}
.tx-more-toggle-v156{
  min-height:36px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#667085!important;
  font-size:12px!important;
}
.tx-more-toggle-v156:hover{color:#f05b0a!important}
.tx-extra-v156{
  margin-top:12px;
  padding:12px;
  border:1px solid #e4e7ec;
  border-radius:10px;
  background:#fafafa;
}
.tx-check-v156{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
}
.tx-check-v156 input{
  width:16px!important;
  height:16px!important;
  min-height:16px!important;
}

.tx-modal-actions-v156{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:26px;
}
.tx-cancel-v156,
.tx-submit-v156{
  min-height:50px!important;
  border-radius:8px!important;
  font-size:16px!important;
  font-weight:700!important;
}
.tx-cancel-v156{
  border:1px solid #cfd6e2!important;
  background:#fff!important;
  color:#475467!important;
}
.tx-submit-v156{
  border:0!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(0,0,0,.12)!important;
}
.tx-submit-v156.revenue{
  background:linear-gradient(90deg,#21c662,#16b84f)!important;
}
.tx-submit-v156.expense{
  background:linear-gradient(90deg,#f44343,#e92323)!important;
}

/* Dark mode */
.dark-mode .tx-modal-v156{background:#17191f!important}
.dark-mode .tx-modal-body-v156{background:#17191f!important}
.dark-mode .tx-modal-v156 .field label,
.dark-mode .tx-label-v156{color:#d4d4d8!important}
.dark-mode .tx-modal-v156 input,
.dark-mode .tx-modal-v156 select,
.dark-mode .tx-modal-v156 textarea,
.dark-mode .money-input-wrap-v156,
.dark-mode .icon-input-wrap-v156{
  background:#20232a!important;
  color:#f4f4f5!important;
  border-color:#3a3e47!important;
}
.dark-mode .payment-method-v156{background:#24272e!important;color:#e4e4e7!important}
.dark-mode .payment-method-v156.active{
  background:linear-gradient(135deg,#ff7516,#f2570b)!important;
  color:#fff!important;
}
.dark-mode .tx-radio-line-v156 label{color:#e4e4e7!important}
.dark-mode .tx-extra-v156{background:#20232a!important;border-color:#3a3e47!important}
.dark-mode .tx-cancel-v156{background:#20232a!important;color:#e4e4e7!important;border-color:#3a3e47!important}

/* Mobile */
@media(max-width:599px){
  .tx-modal-v156{
    width:calc(100vw - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
    overflow-y:auto!important;
    border-radius:14px!important;
  }
  .tx-modal-header-v156{
    min-height:62px;
    padding:0 16px;
  }
  .tx-modal-title-v156 h2{font-size:19px!important}
  .tx-modal-body-v156{padding:18px 16px 16px}
  .tx-main-grid-v156{grid-template-columns:1fr;gap:14px}
  .payment-method-grid-v156{grid-template-columns:1fr 1fr}
  .payment-method-v156{min-height:72px;font-size:12px!important}
  .tx-radio-line-v156{gap:12px}
  .tx-radio-line-v156 label{font-size:13px!important}
  .tx-modal-actions-v156{grid-template-columns:1fr 1fr;gap:8px}
  .tx-cancel-v156,.tx-submit-v156{font-size:14px!important}
}



/* V157 — exclusão de categorias */
.category-section-v157{margin-bottom:18px}
.category-section-v157 h4{margin:0 0 8px;font-size:12px}
.category-list-v157{display:flex;flex-wrap:wrap;gap:7px}
.category-chip-v157{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  padding:7px 8px 7px 10px;
  border:1px solid #ddd;
  border-radius:9px;
  background:#fff;
}
.category-chip-v157>span{font-size:10px}
.category-delete-v157{
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  min-height:24px!important;
  padding:0!important;
  border:0!important;
  border-radius:6px!important;
  background:#fee2e2!important;
  color:#b91c1c!important;
  font-size:16px!important;
  line-height:1!important;
}
.category-delete-v157:hover{
  background:#fecaca!important;
}
.dark-mode .category-chip-v157{
  background:#181a1f;
  border-color:#30333a;
  color:#f4f4f5;
}
.dark-mode .category-delete-v157{
  background:#3f1d1d!important;
  color:#fca5a5!important;
}



/* V158 — Topo, menu e configurações */
body.app-visible #appScreen.app > .main > .top.top-v158{
  position:sticky!important;top:0!important;z-index:1900!important;
  width:calc(100% + 52px)!important;max-width:none!important;min-height:72px!important;
  margin:-24px -26px 20px!important;padding:0 26px!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;
  background:#fff!important;border-bottom:1px solid #e7e9ee!important;box-shadow:0 2px 8px rgba(15,23,42,.06)!important;
}
.top-user-v158{display:flex;align-items:center;gap:11px;min-width:180px}
.top-user-avatar-btn-v158{padding:0!important;border:0!important;background:transparent!important}
.top-user-avatar-v158{width:38px;height:38px;min-width:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#2f3b33;color:#fff;font-size:14px;font-weight:600}
.top-user-avatar-v158 img{width:100%;height:100%;object-fit:cover}
.top-user-copy-v158 b{display:block;font-size:12px;font-weight:500;color:#344054}
.top-user-copy-v158 small{display:block;margin-top:2px;font-size:9px;color:#667085}
.top-page-meta-v158{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}
.top-actions-v158{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.top-search-v158{width:min(310px,25vw)!important}
.top-icon-v158,.top-exit-v158{height:40px!important;min-height:40px!important;border:1px solid #e4e7ec!important;border-radius:9px!important;background:#fff!important;color:#344054!important}
.top-icon-v158{width:42px!important;min-width:42px!important;padding:0!important;position:relative}
.top-exit-v158{display:flex!important;align-items:center!important;gap:6px!important;padding:0 14px!important;font-size:12px!important}
.top-notification-v158 .notification-unread{position:absolute!important;top:-7px!important;right:-7px!important}
.top-online-v158{min-height:36px;display:inline-flex;align-items:center}
.dark-mode #appScreen.app > .main > .top.top-v158{background:#17191f!important;border-color:#30333a!important}
.dark-mode .top-user-copy-v158 b{color:#f4f4f5!important}
.dark-mode .top-user-copy-v158 small{color:#aeb2bb!important}
.dark-mode .top-icon-v158,.dark-mode .top-exit-v158{background:#20232a!important;border-color:#3a3e47!important;color:#f4f4f5!important}

@media(min-width:768px){
  body.app-visible #appScreen.app > .side{width:238px!important;min-width:238px!important;max-width:238px!important;padding:8px 8px 0!important;display:flex!important;flex-direction:column!important}
  body.app-visible #appScreen.app > .main{width:calc(100vw - 238px)!important;max-width:calc(100vw - 238px)!important;margin-left:238px!important}
  body.app-visible #appScreen.app > .side nav{flex:1 1 auto!important;overflow-y:auto!important;padding-bottom:10px!important}
  body.app-visible #appScreen.app > .side .brand{min-height:52px!important;margin-bottom:5px!important}
  body.app-visible #appScreen.app > .side .brand img{width:128px!important;height:50px!important}
  body.app-visible #appScreen.app > .side .nav-section-title{margin:9px 8px 4px!important;padding:0!important;font-size:8px!important;line-height:1.2!important;letter-spacing:.04em!important;opacity:.62!important}
  body.app-visible #appScreen.app > .side nav button[data-page]{min-height:34px!important;margin:1px 2px!important;padding:0 10px!important;border-radius:8px!important;gap:9px!important;font-size:11px!important}
  body.app-visible #appScreen.app > .side nav button[data-page] .nav-icon-modern{width:18px!important;min-width:18px!important;font-size:12px!important}
  body.app-visible #appScreen.app > .side nav button[data-page] .nav-label-modern{font-size:11px!important;font-weight:500!important}
}
.side-footer-v158{flex:0 0 auto;margin:0 -8px;padding:9px 8px;border-top:1px solid rgba(255,255,255,.15);background:rgba(0,0,0,.06)}
.side-company-v158{width:100%;min-height:50px!important;padding:5px 6px!important;display:grid!important;grid-template-columns:36px minmax(0,1fr) 16px!important;align-items:center!important;gap:9px!important;border:0!important;background:transparent!important;color:#fff!important;text-align:left!important}
.side-company-logo-v158{width:34px;height:34px;border-radius:50%;overflow:hidden;border:1px solid rgba(255,255,255,.42)}
.side-company-logo-v158 img{width:100%;height:100%;object-fit:cover}
.side-company-text-v158 b{display:block;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px!important;font-weight:600!important}
.side-company-text-v158 small{display:block;margin-top:2px;font-size:8px!important;color:rgba(255,255,255,.70)!important}
.side-company-arrow-v158{font-size:18px;opacity:.6}

.settings-v158{max-width:1100px;margin:0 auto}
.settings-head-v158{margin-bottom:16px}
.settings-head-v158 h2{margin:0;font-size:20px;font-weight:600;color:#101828}
.settings-head-v158 p{margin:4px 0 0;font-size:9.5px;color:#667085}
.settings-grid-v158{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.settings-item-v158{min-height:88px!important;padding:14px 15px!important;display:grid!important;grid-template-columns:38px minmax(0,1fr) 18px!important;align-items:center!important;gap:11px!important;border:1px solid #e4e7ec!important;border-radius:12px!important;background:#fff!important;color:#101828!important;text-align:left!important;box-shadow:0 2px 8px rgba(15,23,42,.04)!important}
.settings-item-icon-v158{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#eee9df;color:#f05b0b;font-size:14px}
.settings-item-copy-v158 b{display:block;font-size:11px;font-weight:600}
.settings-item-copy-v158 small{display:block;margin-top:3px;font-size:8.5px;line-height:1.4;color:#667085}
.settings-item-arrow-v158{font-size:18px;color:#98a2b3}
.settings-secondary-grid-v158{display:grid;grid-template-columns:1fr;gap:12px;margin-top:14px}
.settings-panel-v158{margin:0!important}
.dark-mode .settings-head-v158 h2{color:#f4f4f5}
.dark-mode .settings-head-v158 p{color:#aeb2bb}
.dark-mode .settings-item-v158{background:#181a1f!important;border-color:#30333a!important;color:#f4f4f5!important}
.dark-mode .settings-item-copy-v158 small{color:#aeb2bb!important}

@media(min-width:768px) and (max-width:1023px){
  body.app-visible #appScreen.app > .side{width:210px!important;min-width:210px!important;max-width:210px!important}
  body.app-visible #appScreen.app > .main{width:calc(100vw - 210px)!important;max-width:calc(100vw - 210px)!important;margin-left:210px!important}
  .top-search-v158{width:220px!important}
}
@media(max-width:767px){
  body.app-visible #appScreen.app > .main > .top.top-v158{position:sticky!important;width:100%!important;min-height:62px!important;margin:0 0 12px!important;padding:8px 10px!important;gap:8px!important}
  .top-user-v158{min-width:0;flex:1}
  .top-user-avatar-v158{width:34px;height:34px;min-width:34px}
  .top-user-copy-v158 b{font-size:10.5px}
  .top-user-copy-v158 small{display:none}
  .top-actions-v158{gap:5px}
  .top-search-v158{display:none!important}
  .top-online-v158{display:none!important}
  .top-exit-v158{width:40px!important;min-width:40px!important;padding:0!important;justify-content:center!important}
  .top-exit-v158 span{display:none}
  .settings-grid-v158{grid-template-columns:1fr}
  .side-footer-v158{margin-top:auto}
}



/* V159 — Menu com tipografia legível e ícones profissionais */
body.app-visible #appScreen.app > .side nav button[data-page]{
  min-height:39px!important;
  padding:0 11px!important;
  gap:10px!important;
}
body.app-visible #appScreen.app > .side nav button[data-page] .nav-label-modern{
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:600!important;
  letter-spacing:-.01em!important;
}
body.app-visible #appScreen.app > .side .nav-section-title{
  margin:12px 9px 5px!important;
  font-size:9.5px!important;
  line-height:1.25!important;
  font-weight:700!important;
  letter-spacing:.04em!important;
}
body.app-visible #appScreen.app > .side nav button[data-page] .nav-icon-modern{
  width:20px!important;
  min-width:20px!important;
  height:20px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:0!important;
}
body.app-visible #appScreen.app > .side nav button[data-page] .nav-icon-modern svg{
  width:17px!important;
  height:17px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.side-company-text-v158 b{font-size:12px!important}
.side-company-text-v158 small{font-size:9.5px!important}
@media(min-width:768px) and (max-width:1023px){
  body.app-visible #appScreen.app > .side nav button[data-page] .nav-label-modern{font-size:12.5px!important}
}
@media(max-width:767px){
  body.app-visible #appScreen.app > .side nav button[data-page]{
    min-height:42px!important;
  }
  body.app-visible #appScreen.app > .side nav button[data-page] .nav-label-modern{
    font-size:13.5px!important;
  }
}


.recovery-panel-v160{margin-top:14px}
.recovery-info-v160{margin-top:10px;padding:10px;border-radius:8px;background:#f0fdf4;color:#166534;font-size:9.5px}
.dark-mode .recovery-info-v160{background:#16251c;color:#86efac}


/* V161 — Uma única entrada de Configurações no rodapé */
.side-footer-v158{
  padding:11px 9px!important;
}
.side-company-v158{
  min-height:64px!important;
  padding:7px 8px!important;
  grid-template-columns:46px minmax(0,1fr) 18px!important;
  gap:11px!important;
}
.side-company-logo-v158{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
}
.side-company-text-v158 b{
  max-width:150px!important;
  font-size:13.5px!important;
  line-height:1.15!important;
  font-weight:700!important;
}
.side-company-text-v158 small{
  margin-top:3px!important;
  font-size:10.5px!important;
  line-height:1.15!important;
}
.side-company-arrow-v158{
  font-size:22px!important;
}
@media(max-width:767px){
  .side-company-v158{min-height:68px!important}
  .side-company-logo-v158{width:46px!important;height:46px!important;min-width:46px!important}
  .side-company-text-v158 b{font-size:14px!important}
  .side-company-text-v158 small{font-size:11px!important}
}



/* V162 — blindagem visual do período */
#page-dashboardexec #dashboardMonthFilter,
#page-dashboardexec #dashboardYearFilter{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  min-width:116px!important;
  height:36px!important;
  min-height:36px!important;
  padding:0 30px 0 10px!important;
  color:#2f3541!important;
  background-color:#fff!important;
  -webkit-text-fill-color:#2f3541!important;
  border:1px solid rgba(0,0,0,.08)!important;
}
#page-dashboardexec #dashboardMonthFilter option,
#page-dashboardexec #dashboardYearFilter option{
  color:#111827!important;
  background:#fff!important;
}
.dark-mode #page-dashboardexec #dashboardMonthFilter,
.dark-mode #page-dashboardexec #dashboardYearFilter{
  color:#111827!important;
  background-color:#fff!important;
  -webkit-text-fill-color:#111827!important;
}



.optional-v163{font-size:10px;font-weight:400;color:#98a2b3}
.account-help-v163{display:block;margin-top:5px;color:#667085;font-size:9px;line-height:1.35}
.dark-mode .optional-v163,.dark-mode .account-help-v163{color:#aeb2bb!important}



.mobile-app-nav-v172,.mobile-sheet-v172,.mobile-sheet-overlay-v172{display:none}

@media(max-width:1023px){
 html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
 body.app-visible{padding:0!important;background:#f5f5f7!important}
 body.app-visible #appScreen.app{display:block!important;width:100%!important;max-width:100%!important;min-height:100dvh!important}
 body.app-visible #appScreen.app>.side,body.app-visible #mobileOverlay,body.app-visible #mobileMenuBtn,body.app-visible #mobileFab{display:none!important}
 body.app-visible #appScreen.app>.main{width:100%!important;max-width:100%!important;margin:0!important;padding:0 10px 96px!important;overflow:visible!important}
 body.app-visible #appScreen.app>.main>.top.top-v158{
   position:sticky!important;top:0!important;z-index:1500!important;width:calc(100% + 20px)!important;min-height:58px!important;
   margin:0 -10px 10px!important;padding:7px 12px!important;background:rgba(255,255,255,.97)!important;
   backdrop-filter:blur(14px)!important;border-bottom:1px solid #ececf0!important;box-shadow:none!important
 }
 .top-user-v158{min-width:0!important;flex:1!important}
 .top-user-avatar-v158{width:34px!important;height:34px!important;min-width:34px!important;border-radius:10px!important}
 .top-user-copy-v158 b{font-size:12px!important;font-weight:600!important}.top-user-copy-v158 small{display:block!important;font-size:8px!important}
 .top-actions-v158{gap:5px!important}.top-search-v158,.top-online-v158,.top-exit-v158,#installAppBtn{display:none!important}
 .top-icon-v158{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;border-radius:10px!important}

 #page-dashboardexec{width:100%!important;max-width:100%!important}
 #page-dashboardexec .dashboard-command-panel{
   margin:0 0 12px!important;padding:18px 14px 14px!important;border-radius:16px!important;
   background:linear-gradient(135deg,#ff6608,#f58200)!important;box-shadow:0 7px 18px rgba(235,94,0,.18)!important
 }
 #page-dashboardexec .dashboard-command-head{display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important;align-items:start!important}
 #page-dashboardexec #dashboardTodayLabel{color:#fff!important;opacity:.92!important;font-size:8px!important;font-weight:700!important;text-transform:uppercase!important}
 #page-dashboardexec .dashboard-user-head{margin-top:5px!important}
 #page-dashboardexec .dashboard-user-avatar-shell{display:none!important}
 #page-dashboardexec #dashboardGreeting{color:#fff!important;font-size:20px!important;line-height:1.2!important;font-weight:700!important;margin:2px 0!important}
 #page-dashboardexec .dashboard-company-only-badge{font-size:8px!important;padding:6px 8px!important;border-radius:7px!important;background:rgba(255,255,255,.18)!important;color:#fff!important;border:1px solid rgba(255,255,255,.22)!important}
 #page-dashboardexec .dashboard-period-controls{grid-column:1/-1!important;width:100%!important;margin-top:4px!important}
 #page-dashboardexec .dashboard-period-controls label{display:block!important;color:#fff!important;font-size:9px!important;margin-bottom:4px!important}
 #page-dashboardexec #dashboardPeriodLabel{display:none!important}
 #page-dashboardexec .dashboard-period-row{display:grid!important;grid-template-columns:minmax(0,1fr) 76px 38px!important;gap:6px!important;width:100%!important}
 #page-dashboardexec #dashboardMonthFilter,#page-dashboardexec #dashboardYearFilter{
   width:100%!important;min-width:0!important;height:36px!important;min-height:36px!important;border:0!important;border-radius:7px!important;
   font-size:10px!important;padding:0 9px!important;background:#fff!important
 }
 #page-dashboardexec .dashboard-custom-period-btn{
   width:38px!important;min-width:38px!important;height:36px!important;padding:0!important;overflow:hidden!important;font-size:0!important;
   border:0!important;border-radius:7px!important;background:#fff!important;color:#f05b0a!important
 }
 #page-dashboardexec .dashboard-custom-period-btn::before{content:'□';font-size:15px!important}
 #page-dashboardexec .dashboard-command-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:10px!important}
 #page-dashboardexec .dashboard-command-actions .btn{width:100%!important;min-height:38px!important;margin:0!important;border:0!important;border-radius:8px!important;font-size:10px!important;font-weight:600!important;background:#fff!important}
 #page-dashboardexec .dashboard-command-actions .btn.primary{color:#16a34a!important}
 #page-dashboardexec .dashboard-command-actions .btn:not(.primary){color:#dc2626!important}

 #page-dashboardexec .dashboard-extended-kpis{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin:0!important}
 #page-dashboardexec .dashboard-extended-kpis>.kpi{width:100%!important;min-height:105px!important;padding:16px!important;border-radius:14px!important;box-shadow:0 2px 7px rgba(15,23,42,.09)!important}
 #page-dashboardexec .dashboard-extended-kpis>.kpi small{font-size:9px!important}
 #page-dashboardexec .dashboard-extended-kpis>.kpi>b{font-size:23px!important;line-height:1.1!important;margin-top:8px!important}
 #page-dashboardexec .dashboard-extended-kpis>.kpi .sub{font-size:8.5px!important;margin-top:7px!important}
 #page-dashboardexec #dashPeriodBalanceV155{display:block!important;font-size:25px!important;margin-top:10px!important}

 #page-dashboardexec .dashboard-analytics-v117{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:10px!important}
 #page-dashboardexec .dashboard-chart-card-v117{width:100%!important;min-width:0!important;min-height:330px!important;padding:14px!important;border-radius:14px!important;overflow:hidden!important}
 #page-dashboardexec .dashboard-chart-card-v117 canvas{max-width:100%!important}

 .main>section:not(#page-dashboardexec){width:100%!important;max-width:100%!important}
 .panel,.card,.kpi{max-width:100%!important}.grid,.grid2,.grid3,.grid4{grid-template-columns:1fr!important}
 .table-wrap,.table-responsive{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}

 .mobile-app-nav-v172{
   position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:2500!important;height:70px!important;
   padding:6px max(10px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-right))!important;
   display:grid!important;grid-template-columns:1fr 1fr 64px 1fr 1fr!important;align-items:end!important;gap:2px!important;
   background:rgba(255,255,255,.98)!important;border-top:1px solid #e8e8ec!important;box-shadow:0 -4px 18px rgba(15,23,42,.08)!important;backdrop-filter:blur(16px)!important
 }
 .mobile-nav-item-v172{height:54px!important;padding:4px 2px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;border:0!important;background:transparent!important;color:#5f636b!important;font-size:8px!important;font-weight:500!important}
 .mobile-nav-item-v172.active{color:#ed5d0b!important}
 .mobile-nav-icon-v172{width:22px!important;height:22px!important;display:flex!important;align-items:center!important;justify-content:center!important}
 .mobile-nav-icon-v172 svg{width:18px!important;height:18px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
 .mobile-nav-plus-wrap-v172{align-self:start!important;justify-self:center!important;width:58px!important;height:58px!important;margin-top:-20px!important;padding:0!important;border:5px solid #f5f5f7!important;border-radius:50%!important;background:transparent!important}
 .mobile-nav-plus-v172{width:48px!important;height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;background:linear-gradient(135deg,#ff690b,#f45505)!important;color:#fff!important;font-size:27px!important;box-shadow:0 6px 16px rgba(239,91,11,.34)!important}

 .mobile-sheet-overlay-v172{position:fixed!important;inset:0!important;z-index:2700!important;display:block!important;visibility:hidden!important;opacity:0!important;background:rgba(16,24,40,.38)!important;transition:opacity .2s ease,visibility .2s ease!important}
 .mobile-sheet-overlay-v172.open{visibility:visible!important;opacity:1!important}
 .mobile-sheet-v172{
   position:fixed!important;left:8px!important;right:8px!important;bottom:8px!important;z-index:2800!important;display:block!important;
   max-height:min(74dvh,620px)!important;padding:8px 14px calc(18px + env(safe-area-inset-bottom))!important;overflow-y:auto!important;
   border-radius:20px!important;background:#fff!important;box-shadow:0 16px 50px rgba(15,23,42,.25)!important;
   transform:translateY(calc(100% + 30px))!important;visibility:hidden!important;transition:transform .24s ease,visibility .24s ease!important
 }
 .mobile-sheet-v172.open{transform:translateY(0)!important;visibility:visible!important}
 .mobile-sheet-handle-v172{width:38px!important;height:4px!important;margin:2px auto 10px!important;border-radius:999px!important;background:#d8d8dd!important}
 .mobile-sheet-head-v172{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:2px 2px 12px!important}
 .mobile-sheet-head-v172 b{display:block!important;font-size:16px!important}.mobile-sheet-head-v172 small{display:block!important;margin-top:2px!important;color:#777b85!important;font-size:9px!important}
 .mobile-sheet-head-v172>button{width:34px!important;height:34px!important;min-width:34px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#f2f3f5!important;color:#555!important;font-size:20px!important}
 .mobile-quick-grid-v172{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
 .mobile-quick-grid-v172>button{min-height:126px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:5px!important;padding:16px!important;border:0!important;border-radius:14px!important;text-align:left!important}
 .mobile-quick-grid-v172>button>span{width:36px!important;height:36px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:10px!important;font-size:22px!important}
 .mobile-quick-grid-v172>button b{font-size:12px!important}.mobile-quick-grid-v172>button small{font-size:8.5px!important}
 .mobile-quick-revenue-v172{background:#ecfdf3!important;color:#08783e!important}.mobile-quick-revenue-v172>span{background:#d1fae5!important}
 .mobile-quick-expense-v172{background:#fff1f2!important;color:#be123c!important}.mobile-quick-expense-v172>span{background:#ffe4e6!important}

 .mobile-more-grid-v172{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
 .mobile-more-grid-v172>button{min-height:82px!important;padding:12px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:7px!important;border:1px solid #ececf0!important;border-radius:12px!important;background:#fff!important;color:#252832!important;text-align:left!important}
 .mobile-more-grid-v172>button>span{width:30px!important;height:30px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:8px!important;background:#fff3ea!important;color:#f05b0a!important;font-size:14px!important}
 .mobile-more-grid-v172>button b{font-size:10px!important}
 body.mobile-sheet-open-v172{overflow:hidden!important}

 .modalbg{padding:8px!important;align-items:flex-end!important}
 .modal,.tx-modal-v156{width:100%!important;max-width:100%!important;max-height:94dvh!important;margin:0!important;border-radius:18px 18px 12px 12px!important;overflow-y:auto!important}
 .tx-main-grid-v156{grid-template-columns:1fr!important}
}

@media(max-width:599px){
 body.app-visible #appScreen.app>.main{padding-left:8px!important;padding-right:8px!important}
 #page-dashboardexec .dashboard-command-panel{padding:15px 12px 12px!important}
 #page-dashboardexec #dashboardGreeting{font-size:18px!important}
 #page-dashboardexec .dashboard-extended-kpis>.kpi>b{font-size:21px!important}
 #page-dashboardexec .dashboard-chart-card-v117{min-height:300px!important}
}

@media(min-width:768px) and (max-width:1023px){
 body.app-visible #appScreen.app>.main{max-width:900px!important;margin:0 auto!important;padding-left:18px!important;padding-right:18px!important}
 body.app-visible #appScreen.app>.main>.top.top-v158{width:calc(100% + 36px)!important;margin-left:-18px!important;margin-right:-18px!important;padding-left:20px!important;padding-right:20px!important}
 #page-dashboardexec .dashboard-command-panel{padding:20px!important}
 #page-dashboardexec .dashboard-extended-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 #page-dashboardexec .dashboard-chart-card-v117{min-height:390px!important}
 .mobile-more-grid-v172{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .mobile-sheet-v172{left:50%!important;right:auto!important;width:min(680px,calc(100vw - 32px))!important;transform:translate(-50%,calc(100% + 30px))!important}
 .mobile-sheet-v172.open{transform:translate(-50%,0)!important}
}

@media(max-width:1023px){
 .dark-mode body.app-visible{background:#101216!important}
 .dark-mode body.app-visible #appScreen.app>.main>.top.top-v158,.dark-mode .mobile-app-nav-v172,.dark-mode .mobile-sheet-v172{background:#17191f!important;border-color:#2d3037!important}
 .dark-mode .mobile-nav-item-v172{color:#aeb2bb!important}.dark-mode .mobile-nav-item-v172.active{color:#ff7a22!important}
 .dark-mode .mobile-nav-plus-wrap-v172{border-color:#101216!important}
 .dark-mode .mobile-sheet-head-v172 b,.dark-mode .mobile-more-grid-v172>button{color:#f5f5f6!important}
 .dark-mode .mobile-sheet-head-v172>button,.dark-mode .mobile-more-grid-v172>button{background:#20232a!important;border-color:#30343d!important}
}



.meta-page-v173{max-width:1240px;margin:0 auto}.meta-hero-v173{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-radius:16px;background:linear-gradient(135deg,#fc5c0b,#ee7b07);color:#fff;margin-bottom:14px}.meta-eyebrow-v173{font-size:9px;font-weight:800;letter-spacing:.08em;opacity:.85}.meta-hero-v173 h2{margin:4px 0 4px;font-size:22px}.meta-hero-v173 p{margin:0;max-width:650px;font-size:10px;opacity:.9}.meta-hero-actions-v173{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.meta-hero-actions-v173 .btn{background:#fff!important;border:0!important}.meta-status-v173{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border-radius:999px;font-size:9px;font-weight:700;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28)}.meta-status-v173.online{background:#dcfce7;color:#166534;border-color:#bbf7d0}.meta-status-v173.error{background:#fee2e2;color:#991b1b;border-color:#fecaca}.meta-status-v173.loading{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.meta-status-v173.pending{color:#fff}.meta-filter-v173{display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr;gap:10px;padding:12px;background:#fff;border:1px solid #e8e8ec;border-radius:12px;margin-bottom:10px}.meta-filter-v173 .field{margin:0}.meta-filter-v173 label{font-size:8.5px}.meta-filter-v173 select,.meta-filter-v173 input{height:38px!important}.meta-margin-input-v173{display:grid;grid-template-columns:1fr 34px;border:1px solid #dcdfe5;border-radius:8px;overflow:hidden}.meta-margin-input-v173 input{border:0!important;border-radius:0!important}.meta-margin-input-v173 span{display:flex;align-items:center;justify-content:center;background:#f7f7f8;font-size:11px;color:#667085}.meta-notice-v173{padding:9px 12px;border-radius:9px;background:#f5f7fa;color:#475467;font-size:9px;margin-bottom:10px}.meta-notice-v173.success{background:#ecfdf3;color:#067647}.meta-notice-v173.warn{background:#fffaeb;color:#b54708}.meta-notice-v173.error{background:#fef3f2;color:#b42318}.meta-kpis-v173{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.meta-kpi-v173{min-height:118px;padding:15px;border:1px solid #e6dfd4;border-radius:3px;background:#f7f0e5;box-shadow:0 1px 3px rgba(15,23,42,.04)}.meta-kpi-v173.featured{background:#f2e7d6}.meta-kpi-v173 small{display:block;font-size:9px;font-weight:800;letter-spacing:.08em;color:#57534e}.meta-kpi-v173 strong{display:block;margin-top:7px;font-size:24px;line-height:1.05;color:#111827}.meta-kpi-v173 em{display:block;margin-top:8px;font-size:8.5px;font-style:normal;color:#78716c}.meta-section-v173{margin-top:12px;padding:15px;border-radius:12px;background:#fff;border:1px solid #e7e8eb;box-shadow:0 2px 7px rgba(15,23,42,.04)}.meta-section-head-v173{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}.meta-section-head-v173 h3{margin:0;font-size:14px}.meta-section-head-v173 p{margin:3px 0 0;font-size:8.5px;color:#667085}.meta-table-wrap-v173{overflow-x:auto}.meta-table-v173{width:100%;border-collapse:collapse;min-width:980px}.meta-table-v173 th{padding:9px 8px;text-align:left;font-size:8px;color:#667085;border-bottom:1px solid #e8eaef;white-space:nowrap}.meta-table-v173 td{padding:10px 8px;font-size:9px;border-bottom:1px solid #f0f1f3;white-space:nowrap}.meta-table-v173 td:first-child{white-space:normal;min-width:180px}.meta-table-v173 td b{font-size:9.5px}.meta-table-v173 td small{display:block;color:#98a2b3;font-size:7.5px;margin-top:2px}.meta-row-status-v173,.meta-grade-v173{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:7.5px;font-weight:700;background:#f2f4f7;color:#475467}.meta-row-status-v173.active,.meta-grade-v173.good{background:#dcfae6;color:#067647}.meta-grade-v173.ok{background:#fef0c7;color:#b54708}.meta-grade-v173.bad{background:#fee4e2;color:#b42318}.meta-empty-v173{text-align:center!important;color:#98a2b3!important;padding:24px!important}.meta-insights-grid-v173{display:grid;grid-template-columns:1fr 1fr;gap:12px}.meta-ranking-v173{display:grid;gap:7px}.meta-rank-row-v173{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:9px;padding:8px;border-radius:9px;background:#f8f8f9}.meta-rank-row-v173>span{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:7px;background:#fff0e8;color:#e65407;font-weight:800}.meta-rank-row-v173 b{display:block;font-size:9.5px}.meta-rank-row-v173 small{font-size:7.5px;color:#667085}.meta-rank-row-v173 strong{font-size:12px;color:#087443}.meta-executive-v173{display:grid;gap:8px}.meta-executive-v173 p{margin:0;padding:9px 10px;border-radius:8px;background:#f8f8f9;font-size:9px;line-height:1.45}.meta-executive-v173 small{color:#98a2b3}.meta-setup-v173{margin-top:12px;padding:16px;border:1px solid #fed7aa;background:#fff7ed;border-radius:12px}.meta-setup-head-v173{display:flex;align-items:flex-start;justify-content:space-between}.meta-setup-head-v173 h3{margin:0;font-size:14px}.meta-setup-head-v173 p{margin:3px 0 0;font-size:8.5px;color:#9a3412}.meta-setup-head-v173 button{border:0;background:transparent;font-size:22px}.meta-setup-steps-v173{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.meta-setup-steps-v173>div{display:grid;grid-template-columns:26px 1fr;gap:8px;padding:10px;background:#fff;border-radius:8px;font-size:8.5px}.meta-setup-steps-v173 b{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f05b0a;color:#fff}.meta-security-v173{margin-top:10px;font-size:8.5px;color:#067647}.dark-mode .meta-filter-v173,.dark-mode .meta-section-v173{background:#181a1f;border-color:#30333a}.dark-mode .meta-kpi-v173{background:#27231e;border-color:#443b31}.dark-mode .meta-kpi-v173 small,.dark-mode .meta-kpi-v173 em{color:#bbb2a6}.dark-mode .meta-kpi-v173 strong{color:#fff}.dark-mode .meta-rank-row-v173,.dark-mode .meta-executive-v173 p{background:#20232a}.dark-mode .meta-setup-v173{background:#2b2118;border-color:#7c4a23}
@media(max-width:1023px){.meta-page-v173{padding-bottom:4px}.meta-hero-v173{display:block;padding:16px 14px;border-radius:14px}.meta-hero-v173 h2{font-size:19px}.meta-hero-actions-v173{justify-content:flex-start;margin-top:12px}.meta-filter-v173{grid-template-columns:1fr 1fr}.meta-kpis-v173{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.meta-kpi-v173{min-height:108px;padding:13px}.meta-kpi-v173 strong{font-size:21px}.meta-insights-grid-v173{grid-template-columns:1fr}.meta-setup-steps-v173{grid-template-columns:1fr}.meta-section-v173{padding:12px}.meta-table-wrap-v173{margin:0 -12px;padding:0 12px}.mobile-more-grid-v172>button[onclick*="metaads"]>span{background:#fff0e8!important;color:#e65407!important}}
@media(max-width:599px){.meta-filter-v173{grid-template-columns:1fr 1fr}.meta-kpis-v173{grid-template-columns:1fr 1fr}.meta-kpi-v173{min-height:102px}.meta-kpi-v173 strong{font-size:19px}.meta-hero-actions-v173 .btn{flex:1}.meta-status-v173{width:100%;justify-content:center}.meta-section-head-v173{align-items:flex-start}.meta-section-head-v173 .btn{font-size:8px!important}}


/* V174 — lucro por campanha + controle Meta */
.meta-profit-grid-v174{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.meta-profit-card-v174{border:1px solid #e7e9ee;border-radius:14px;padding:14px;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.04)}.meta-profit-card-v174.great{border-left:4px solid #16a34a}.meta-profit-card-v174.watch{border-left:4px solid #f59e0b}.meta-profit-card-v174.bad{border-left:4px solid #dc2626}.meta-profit-card-head-v174{display:flex;justify-content:space-between;gap:12px}.meta-profit-card-head-v174 small{font-size:8px;color:#667085}.meta-profit-card-head-v174 h4{margin:4px 0 0;font-size:13px}.meta-profit-roas-v174{font-size:19px;font-weight:800}.meta-profit-values-v174{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.meta-profit-values-v174 small{display:block;font-size:8px;color:#667085}.meta-profit-values-v174 b{display:block;margin-top:3px;font-size:11px}.meta-profit-values-v174 .positive,.meta-positive-v174{color:#079455}.meta-profit-values-v174 .negative,.meta-negative-v174{color:#d92d20}.meta-profit-note-v174{margin-top:12px;padding:10px 12px;border-radius:10px;background:#f8fafc;color:#475467;font-size:9px}.meta-goal-v174{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:700;white-space:nowrap}.meta-goal-v174.great{background:#ecfdf3;color:#067647}.meta-goal-v174.watch{background:#fffaeb;color:#b54708}.meta-goal-v174.bad{background:#fef3f2;color:#b42318}.meta-row-status-v174{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:700}.meta-row-status-v174.active{background:#ecfdf3;color:#067647}.meta-row-status-v174.paused{background:#f2f4f7;color:#475467}.meta-control-btn-v174{min-width:72px!important;padding:7px 9px!important;font-size:9px!important}@media(max-width:1023px){.meta-profit-grid-v174{grid-template-columns:1fr}.meta-profit-values-v174{grid-template-columns:repeat(2,minmax(0,1fr))}.meta-table-wrap-v173{overflow-x:auto!important}.meta-table-v173{min-width:1220px!important}}.dark-mode .meta-profit-card-v174{background:#181a1f;border-color:#30333a}.dark-mode .meta-profit-note-v174{background:#20232a;color:#c4c7cf}


/* V175 — Métricas executivas inspiradas no vídeo */
.meta-media-ticket-v175 strong.good{color:#16a34a!important}
.meta-media-ticket-v175 strong.warn{color:#d97706!important}
.meta-media-ticket-v175 strong.bad{color:#dc2626!important}
.meta-profile-grid-v175{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.meta-profile-grid-v175 article{min-height:104px;padding:14px;border:1px solid #ececf0;border-radius:12px;background:#fbf8f3}
.meta-profile-grid-v175 small{display:block;font-size:9px;font-weight:700;letter-spacing:.05em;color:#69707d}
.meta-profile-grid-v175 strong{display:block;margin-top:8px;font-size:24px;line-height:1;color:#16181d}
.meta-profile-grid-v175 em{display:block;margin-top:7px;font-size:9px;font-style:normal;color:#7b808a}
.meta-profile-note-v175{margin-top:10px;font-size:9px;line-height:1.45;color:#69707d}
.meta-api-badge-v175{padding:6px 9px;border-radius:999px;background:#fff3e8;color:#d85b0a;font-size:9px;font-weight:700}
.meta-decision-grid-v175{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.meta-decision-card-v175{padding:14px;border:1px solid #e7e8ec;border-radius:12px;background:#fff}
.meta-decision-card-v175 .head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.meta-decision-card-v175 h4{margin:0;font-size:11px}
.meta-decision-card-v175 .badge{white-space:nowrap;padding:5px 7px;border-radius:999px;font-size:8px;font-weight:800}
.meta-decision-card-v175 .badge.scale{background:#dcfce7;color:#15803d}
.meta-decision-card-v175 .badge.watch{background:#fef3c7;color:#b45309}
.meta-decision-card-v175 .badge.pause{background:#fee2e2;color:#b91c1c}
.meta-decision-card-v175 .metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.meta-decision-card-v175 .metrics div{padding:8px;border-radius:8px;background:#f7f7f8}
.meta-decision-card-v175 .metrics small{display:block;font-size:7.5px;color:#777d87}
.meta-decision-card-v175 .metrics b{display:block;margin-top:3px;font-size:11px}
.meta-decision-card-v175 p{margin:9px 0 0;font-size:8.5px;line-height:1.4;color:#676d77}
.meta-decision-cell-v175{font-weight:700}
.meta-decision-cell-v175.scale{color:#15803d}.meta-decision-cell-v175.watch{color:#b45309}.meta-decision-cell-v175.pause{color:#b91c1c}
@media(max-width:1023px){.meta-profile-grid-v175{grid-template-columns:repeat(2,minmax(0,1fr))}.meta-decision-grid-v175{grid-template-columns:1fr}}
.dark-mode .meta-profile-grid-v175 article,.dark-mode .meta-decision-card-v175{background:#20232a;border-color:#30343d}
.dark-mode .meta-profile-grid-v175 strong,.dark-mode .meta-decision-card-v175 h4{color:#f4f4f5}
.dark-mode .meta-decision-card-v175 .metrics div{background:#17191f}



/* =========================================================
   V176 — MODO NOTURNO CONSISTENTE
   Esta camada é deliberadamente a última do arquivo.
   ========================================================= */
:root{
  --v176-dark-bg:#0f1115;
  --v176-dark-surface:#171a20;
  --v176-dark-surface-2:#1d2027;
  --v176-dark-surface-3:#242830;
  --v176-dark-border:#303540;
  --v176-dark-text:#f5f7fa;
  --v176-dark-muted:#a7afbb;
  --v176-dark-input:#20242c;
}

html.dark-mode,
html[data-theme="dark"],
body.dark-mode,
body[data-theme="dark"]{
  background:var(--v176-dark-bg)!important;
  color:var(--v176-dark-text)!important;
  color-scheme:dark;
}

html.dark-mode body,
html[data-theme="dark"] body{
  background:var(--v176-dark-bg)!important;
  color:var(--v176-dark-text)!important;
}

/* Estrutura principal */
.dark-mode .app,
.dark-mode .main,
.dark-mode #appScreen,
.dark-mode [id^="page-"]{
  background:var(--v176-dark-bg)!important;
  color:var(--v176-dark-text)!important;
}

.dark-mode .top,
.dark-mode .top-v158{
  background:rgba(23,26,32,.98)!important;
  border-color:var(--v176-dark-border)!important;
  color:var(--v176-dark-text)!important;
}

.dark-mode .side{
  background:linear-gradient(180deg,#16191f 0%,#0d0f13 100%)!important;
  border-color:var(--v176-dark-border)!important;
}

.dark-mode .side,
.dark-mode .side *{
  color:#f2f4f7;
}

.dark-mode .side .nav button{
  color:#e4e7ec!important;
  background:transparent!important;
}

.dark-mode .side .nav button:hover{
  background:#242832!important;
}

.dark-mode .side .nav button.active{
  background:#f8fafc!important;
  color:#17191f!important;
}

/* Superfícies */
.dark-mode .panel,
.dark-mode .card,
.dark-mode .kpi,
.dark-mode .drebox,
.dark-mode .boleto-card,
.dark-mode .alert-item,
.dark-mode .dashboard-chart-card-v117,
.dark-mode .meta-section-v173,
.dark-mode .meta-kpi-v173,
.dark-mode .meta-decision-card-v175,
.dark-mode .meta-profile-v175,
.dark-mode .meta-decision-v175,
.dark-mode .account-card,
.dark-mode .supplier-card,
.dark-mode .employee-card,
.dark-mode .notification-card,
.dark-mode .closing-card,
.dark-mode .calendar-card{
  background:var(--v176-dark-surface)!important;
  border-color:var(--v176-dark-border)!important;
  color:var(--v176-dark-text)!important;
  box-shadow:0 3px 12px rgba(0,0,0,.24)!important;
}

/* Textos */
.dark-mode h1,
.dark-mode h2,
.dark-mode h3,
.dark-mode h4,
.dark-mode h5,
.dark-mode strong,
.dark-mode b{
  color:var(--v176-dark-text);
}

.dark-mode .sub,
.dark-mode small,
.dark-mode label,
.dark-mode .muted,
.dark-mode .meta-profile-note-v175,
.dark-mode .meta-section-head-v173 p,
.dark-mode .top-user-copy-v158 small{
  color:var(--v176-dark-muted)!important;
}

/* Inputs e selects */
.dark-mode input,
.dark-mode select,
.dark-mode textarea,
.dark-mode .global-search-wrap-v122,
.dark-mode .global-search-wrap-v122 input{
  background:var(--v176-dark-input)!important;
  color:var(--v176-dark-text)!important;
  border-color:#3a404c!important;
  -webkit-text-fill-color:var(--v176-dark-text)!important;
}

.dark-mode input::placeholder,
.dark-mode textarea::placeholder{
  color:#858e9b!important;
  opacity:1!important;
}

.dark-mode select option{
  background:#20242c!important;
  color:#f5f7fa!important;
}

.dark-mode input:focus,
.dark-mode select:focus,
.dark-mode textarea:focus{
  outline:2px solid rgba(176,122,80,.28)!important;
  border-color:#8b5e3c!important;
}

/* Botões — preserva cores sem deixar sumir */
.dark-mode .btn:not(.primary):not(.danger),
.dark-mode .top-icon-v158,
.dark-mode #nightModeToggle{
  background:#242830!important;
  border-color:#3a404b!important;
  color:#f5f7fa!important;
}

.dark-mode .btn:not(.primary):not(.danger):hover,
.dark-mode .top-icon-v158:hover{
  background:#2c313b!important;
}

.dark-mode .btn.primary{
  color:#fff!important;
}

.dark-mode .btn.danger{
  color:#fff!important;
}

.dark-mode #nightModeToggle span{
  color:#fff!important;
}

/* Dashboard: mantém o laranja da marca e contraste correto */
.dark-mode #page-dashboardexec .dashboard-command-panel{
  background:linear-gradient(135deg,#d94d00 0%,#a93c00 100%)!important;
  border-color:#ef6c1c!important;
  color:#fff!important;
}

.dark-mode #page-dashboardexec .dashboard-command-panel *,
.dark-mode #page-dashboardexec #dashboardGreeting,
.dark-mode #page-dashboardexec #dashboardTodayLabel,
.dark-mode #page-dashboardexec .dashboard-period-controls label{
  color:#fff!important;
}

.dark-mode #page-dashboardexec #dashboardMonthFilter,
.dark-mode #page-dashboardexec #dashboardYearFilter{
  background:#fff!important;
  color:#15171a!important;
  -webkit-text-fill-color:#15171a!important;
  border-color:rgba(255,255,255,.45)!important;
}

.dark-mode #page-dashboardexec #dashboardMonthFilter option,
.dark-mode #page-dashboardexec #dashboardYearFilter option{
  background:#fff!important;
  color:#15171a!important;
}

.dark-mode #page-dashboardexec .dashboard-custom-period-btn,
.dark-mode #page-dashboardexec .dashboard-command-actions .btn{
  background:#fff!important;
  color:#202124!important;
  border-color:#fff!important;
}

.dark-mode #page-dashboardexec .dashboard-command-actions .btn.primary{
  color:#15803d!important;
}

.dark-mode #page-dashboardexec .dashboard-command-actions .btn:not(.primary){
  color:#b91c1c!important;
}

/* Tabelas */
.dark-mode table{
  color:var(--v176-dark-text)!important;
}

.dark-mode table thead th{
  background:#20242b!important;
  color:#dfe4ea!important;
  border-color:var(--v176-dark-border)!important;
}

.dark-mode table tbody td{
  background:var(--v176-dark-surface)!important;
  color:#eef1f5!important;
  border-color:#2b3039!important;
}

.dark-mode table tbody tr:hover td{
  background:#20242c!important;
}

/* Modais */
.dark-mode .modalbg{
  background:rgba(0,0,0,.68)!important;
}

.dark-mode .modal,
.dark-mode .tx-modal-v156,
.dark-mode .modal-content{
  background:var(--v176-dark-surface)!important;
  color:var(--v176-dark-text)!important;
  border-color:var(--v176-dark-border)!important;
}

.dark-mode .tx-modal-v156 .modal-head,
.dark-mode .modal .modal-head{
  border-color:var(--v176-dark-border)!important;
}

/* Receita/despesa: cabeçalho laranja permanece */
.dark-mode .tx-modal-v156 .tx-modal-header-v156,
.dark-mode .tx-modal-v156 .modal-title{
  color:#fff!important;
}

/* Meta Ads */
.dark-mode #page-metaads,
.dark-mode #page-metaads .meta-layout-v173{
  background:var(--v176-dark-bg)!important;
  color:var(--v176-dark-text)!important;
}

.dark-mode .meta-profile-grid-v175 article{
  background:var(--v176-dark-surface-2)!important;
  border-color:var(--v176-dark-border)!important;
}

.dark-mode .meta-profile-grid-v175 strong{
  color:#fff!important;
}

.dark-mode .meta-decision-card-v175 .metrics div{
  background:var(--v176-dark-surface-2)!important;
}

.dark-mode .meta-control-btn-v174{
  border-color:#424854!important;
}

/* Mobile/tablet */
@media(max-width:1023px){
  html.dark-mode body.app-visible,
  html[data-theme="dark"] body.app-visible,
  body.dark-mode.app-visible{
    background:var(--v176-dark-bg)!important;
  }

  .dark-mode .mobile-app-nav-v172{
    background:rgba(23,26,32,.98)!important;
    border-color:var(--v176-dark-border)!important;
    box-shadow:0 -5px 20px rgba(0,0,0,.34)!important;
  }

  .dark-mode .mobile-nav-item-v172{
    color:#b6bec9!important;
  }

  .dark-mode .mobile-nav-item-v172.active{
    color:#ff7a22!important;
  }

  .dark-mode .mobile-nav-plus-wrap-v172{
    border-color:var(--v176-dark-bg)!important;
  }

  .dark-mode .mobile-sheet-v172{
    background:var(--v176-dark-surface)!important;
    color:var(--v176-dark-text)!important;
    border:1px solid var(--v176-dark-border)!important;
  }

  .dark-mode .mobile-sheet-head-v172 > button{
    background:#292e37!important;
    color:#fff!important;
  }

  .dark-mode .mobile-more-grid-v172 > button{
    background:var(--v176-dark-surface-2)!important;
    border-color:var(--v176-dark-border)!important;
    color:#fff!important;
  }

  .dark-mode .mobile-quick-revenue-v172{
    background:#10291d!important;
    color:#77e6aa!important;
  }

  .dark-mode .mobile-quick-expense-v172{
    background:#32171b!important;
    color:#f8a4ae!important;
  }
}

/* Tela de autenticação também acompanha o tema */
.dark-mode #authScreen,
.dark-mode .auth-screen,
.dark-mode .auth-shell,
.dark-mode .login-card{
  background:var(--v176-dark-bg)!important;
  color:var(--v176-dark-text)!important;
}

.dark-mode .login-card,
.dark-mode .auth-card{
  background:var(--v176-dark-surface)!important;
  border-color:var(--v176-dark-border)!important;
}

/* Scrollbar discreta */
.dark-mode *{
  scrollbar-color:#424854 #171a20;
}


.cmv-head-v178{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.cmv-head-v178 h2{margin:4px 0}.cmv-head-v178 p{margin:0;color:#6b7280;font-size:11px}.cmv-eyebrow-v178{font-size:8px;font-weight:800;color:#8b5e3c;letter-spacing:.08em}.cmv-head-actions-v178{display:flex;gap:8px;flex-wrap:wrap}
.cmv-toolbar-v178{display:grid;grid-template-columns:180px 1fr auto;gap:10px;align-items:end;padding:12px;margin-bottom:12px;border:1px solid #e6e8ec;border-radius:14px;background:#fff}.cmv-toolbar-v178 label{display:block;font-size:8px;font-weight:700;margin-bottom:4px}.cmv-toolbar-v178 input,.cmv-toolbar-v178 select{width:100%}
.cmv-summary-v178,.cmv-size-cards-v178{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.cmv-summary-v178 article,.cmv-size-card-v178{padding:14px;border:1px solid #e6e8ec;border-radius:14px;background:#fff}.cmv-summary-v178 small,.cmv-size-card-v178 small{display:block;font-size:8px;color:#747b86}.cmv-summary-v178 strong,.cmv-size-card-v178 strong{display:block;margin-top:7px;font-size:21px}.cmv-summary-v178 em{display:block;margin-top:5px;font-size:8px;font-style:normal;color:#8a9099}
.cmv-size-card-v178 .top{display:flex;justify-content:space-between;gap:8px}.cmv-size-card-v178 .top b{font-size:11px}.cmv-size-card-v178 .top span{font-size:7.5px;padding:4px 6px;border-radius:999px;background:#fff3e8;color:#d65c0a;font-weight:700}
.cmv-section-v178{padding:14px;margin-bottom:12px;border:1px solid #e6e8ec;border-radius:14px;background:#fff}.cmv-section-head-v178 h3{margin:0;font-size:13px}.cmv-section-head-v178 p{margin:3px 0 0;font-size:8px;color:#7a808a}.cmv-grid-v178{display:grid;grid-template-columns:1.25fr .75fr;gap:12px}.cmv-table-v178{min-width:1120px}
.cmv-status-v178{display:inline-flex;padding:5px 7px;border-radius:999px;font-size:8px;font-weight:800}.cmv-status-v178.good{background:#dcfce7;color:#15803d}.cmv-status-v178.warn{background:#fef3c7;color:#b45309}.cmv-status-v178.bad{background:#fee2e2;color:#b91c1c}
.cmv-ingredients-v178,.cmv-size-settings-v178{display:grid;gap:7px}.cmv-ingredient-item-v178{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:10px;border:1px solid #ececf0;border-radius:10px}.cmv-ingredient-item-v178 b{font-size:10px}.cmv-ingredient-item-v178 small{display:block;font-size:8px;color:#777}.cmv-ingredient-item-v178 .cost{font-size:9px;font-weight:700}
.cmv-size-setting-v178{padding:10px;border:1px solid #ececf0;border-radius:10px}.cmv-size-setting-v178 .head{display:flex;justify-content:space-between;align-items:center}.cmv-size-setting-v178 .fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.cmv-size-setting-v178 label{font-size:8px;color:#777}.cmv-size-setting-v178 input{width:100%}
.cmv-modal-v178{max-width:720px}.cmv-product-modal-v178{max-width:920px}.cmv-calc-preview-v178{margin-top:12px;padding:12px;border-radius:12px;background:#f5f2eb;display:grid;grid-template-columns:1fr auto;gap:3px 10px}.cmv-calc-preview-v178 strong{color:#7d5336}
.cmv-recipe-head-v178{display:flex;justify-content:space-between;align-items:center;margin:14px 0 8px}.cmv-recipe-head-v178 h4{margin:0;font-size:11px}.cmv-recipe-head-v178 p{margin:3px 0 0;font-size:8px;color:#777}.cmv-recipe-rows-v178{display:grid;gap:7px}.cmv-recipe-row-v178{display:grid;grid-template-columns:minmax(180px,1.4fr) 120px 90px 100px 36px;gap:7px;align-items:end;padding:8px;border:1px solid #ececf0;border-radius:10px}.cmv-recipe-row-v178 label{font-size:8px;color:#747b86}.cmv-recipe-row-v178 select,.cmv-recipe-row-v178 input{width:100%}.cmv-recipe-row-v178 .row-cost{height:38px;display:flex;align-items:center;font-size:9px;font-weight:700}
.cmv-product-preview-v178{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px;padding:10px;border-radius:12px;background:#f7f7f8}.cmv-product-preview-v178 div{padding:8px;background:#fff;border-radius:8px}.cmv-product-preview-v178 small{display:block;font-size:7px;color:#777}.cmv-product-preview-v178 strong{display:block;margin-top:4px;font-size:12px}
.dark-mode .cmv-toolbar-v178,.dark-mode .cmv-summary-v178 article,.dark-mode .cmv-size-card-v178,.dark-mode .cmv-section-v178,.dark-mode .cmv-product-preview-v178 div{background:#171a20!important;border-color:#303540!important}.dark-mode .cmv-product-preview-v178{background:#20242c!important}.dark-mode .cmv-ingredient-item-v178,.dark-mode .cmv-size-setting-v178,.dark-mode .cmv-recipe-row-v178{border-color:#303540!important}
@media(max-width:1023px){.cmv-summary-v178,.cmv-size-cards-v178{grid-template-columns:repeat(2,1fr)}.cmv-grid-v178{grid-template-columns:1fr}.cmv-product-preview-v178{grid-template-columns:repeat(2,1fr)}.cmv-recipe-row-v178{grid-template-columns:1fr 1fr}.cmv-head-v178{flex-direction:column}.cmv-toolbar-v178{grid-template-columns:1fr 1fr}.cmv-toolbar-v178>.btn{grid-column:1/-1}}
@media(max-width:599px){.cmv-summary-v178,.cmv-size-cards-v178,.cmv-toolbar-v178{grid-template-columns:1fr}.cmv-recipe-row-v178{grid-template-columns:1fr}.cmv-head-actions-v178{width:100%}.cmv-head-actions-v178 .btn{flex:1}}



/* =========================================================
   V179 — PADRONIZAÇÃO GLOBAL DE LAYOUT / TIPOGRAFIA
   Não altera regras de negócio. Última camada de CSS.
   ========================================================= */
:root{
  --v179-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --v179-text:#17191d;
  --v179-muted:#69707c;
  --v179-border:#dfe3e8;
  --v179-bg:#f6f7f9;
  --v179-surface:#ffffff;
  --v179-input-h:42px;
  --v179-radius:10px;
  --v179-gap-1:6px;
  --v179-gap-2:10px;
  --v179-gap-3:14px;
  --v179-gap-4:18px;
}

/* Fonte global */
html,body,button,input,select,textarea,table{
  font-family:var(--v179-font)!important;
}

body{
  font-size:14px;
  line-height:1.45;
  color:var(--v179-text);
}

/* Títulos */
h1,h2,h3,h4,h5{
  margin-top:0;
  letter-spacing:-.01em;
  color:var(--v179-text);
}
h1{font-size:26px;line-height:1.15}
h2{font-size:21px;line-height:1.2}
h3{font-size:16px;line-height:1.25}
h4{font-size:13px;line-height:1.3}
p{line-height:1.5}

/* Labels e textos auxiliares */
label{
  display:block!important;
  margin:0 0 6px!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:600!important;
  color:#48505b!important;
}
small,.sub,.muted{
  line-height:1.4;
}

/* Inputs globais */
input,
select,
textarea{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  border:1px solid var(--v179-border)!important;
  border-radius:var(--v179-radius)!important;
  background:#fff;
  color:var(--v179-text);
  font-size:14px!important;
  font-weight:400!important;
  box-shadow:none!important;
  outline:none;
}
input,select{
  min-height:var(--v179-input-h)!important;
  height:var(--v179-input-h)!important;
  padding:0 12px!important;
}
textarea{
  min-height:96px!important;
  padding:11px 12px!important;
  resize:vertical;
}
select{
  padding-right:34px!important;
}
input::placeholder,textarea::placeholder{
  color:#9aa1ab!important;
  opacity:1;
}
input:focus,select:focus,textarea:focus{
  border-color:#8b5e3c!important;
  box-shadow:0 0 0 3px rgba(176,122,80,.12)!important;
}

/* Botões */
.btn,
button.btn{
  min-height:40px!important;
  padding:0 14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  border-radius:9px!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:600!important;
  white-space:nowrap;
}
.btn.primary{
  background:#17191d!important;
  color:#fff!important;
}
.btn.danger{
  background:#ef4444!important;
  color:#fff!important;
}

/* Grids globais */
.grid2{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:start!important;
}
.grid3{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
.grid4{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}

/* Cards e painéis */
.panel,
.card,
.kpi,
.drebox,
.cmv-section-v178,
.meta-section-v173{
  border-radius:14px!important;
  box-sizing:border-box!important;
}

/* Tabelas */
.table-wrap,
.table-responsive{
  width:100%;
  max-width:100%;
  overflow:auto;
}
table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  font-size:12px!important;
}
thead th{
  padding:11px 12px!important;
  font-size:10px!important;
  line-height:1.25!important;
  font-weight:700!important;
  color:#606875!important;
  vertical-align:middle!important;
  white-space:nowrap;
}
tbody td{
  padding:11px 12px!important;
  font-size:12px!important;
  line-height:1.35!important;
  vertical-align:middle!important;
}

/* =========================================================
   MODAIS — alinhamento global
   ========================================================= */
.modalbg{
  padding:20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:auto!important;
}
.modalbg.hidden{
  display:none!important;
}
.modal{
  width:min(760px,calc(100vw - 40px))!important;
  max-width:760px!important;
  max-height:calc(100dvh - 40px)!important;
  overflow:auto!important;
  box-sizing:border-box!important;
  margin:auto!important;
  padding:0!important;
  border-radius:16px!important;
  background:#fff!important;
}
.modal .modal-head{
  position:sticky;
  top:0;
  z-index:4;
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:16px!important;
  padding:20px 20px 14px!important;
  background:inherit!important;
  border-bottom:1px solid #edf0f3!important;
}
.modal .modal-head h3{
  margin:0!important;
  font-size:18px!important;
  line-height:1.2!important;
}
.modal .modal-head p{
  margin:6px 0 0!important;
  font-size:12px!important;
  color:#737b86!important;
}
.modal > .grid2,
.modal > .grid3,
.modal > .grid4,
.modal > .cmv-calc-preview-v178,
.modal > .cmv-recipe-head-v178,
.modal > .cmv-recipe-rows-v178,
.modal > .cmv-product-preview-v178,
.modal > .modal-actions,
.modal > input[type="hidden"] + .grid2{
  margin-left:20px!important;
  margin-right:20px!important;
}
.modal > .grid2,
.modal > .grid3,
.modal > .grid4{
  margin-top:16px!important;
}
.modal-actions{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:8px!important;
  padding:16px 20px 20px!important;
  margin:16px 0 0!important;
  border-top:1px solid #edf0f3!important;
  background:inherit!important;
}
.modal-actions .btn{
  min-width:120px;
}

/* =========================================================
   CMV — correção específica do print
   ========================================================= */
.cmv-modal-v178{
  width:min(720px,calc(100vw - 40px))!important;
  max-width:720px!important;
}
.cmv-product-modal-v178{
  width:min(900px,calc(100vw - 40px))!important;
  max-width:900px!important;
}

.cmv-product-modal-v178 > .grid2{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px 16px!important;
}

.cmv-product-modal-v178 .grid2 > div,
.cmv-modal-v178 .grid2 > div{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
}

.cmv-product-modal-v178 input,
.cmv-product-modal-v178 select,
.cmv-modal-v178 input,
.cmv-modal-v178 select{
  width:100%!important;
}

.cmv-recipe-head-v178{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:12px!important;
  margin-top:18px!important;
  margin-bottom:10px!important;
}
.cmv-recipe-head-v178 h4{
  margin:0!important;
  font-size:13px!important;
}
.cmv-recipe-head-v178 p{
  margin:3px 0 0!important;
  font-size:10px!important;
  color:#7a808a!important;
}

.cmv-recipe-row-v178{
  display:grid!important;
  grid-template-columns:minmax(220px,1.5fr) 130px 90px 110px 40px!important;
  gap:8px!important;
  align-items:end!important;
  padding:10px!important;
  border-radius:10px!important;
}
.cmv-recipe-row-v178 label{
  font-size:10px!important;
}
.cmv-recipe-row-v178 .row-cost{
  min-height:42px!important;
  height:42px!important;
  display:flex!important;
  align-items:center!important;
  padding:0 10px!important;
  border:1px solid #e3e6ea!important;
  border-radius:9px!important;
  background:#f7f8fa!important;
  font-size:11px!important;
}

.cmv-product-preview-v178{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:8px!important;
  margin-top:14px!important;
  padding:10px!important;
}
.cmv-product-preview-v178 div{
  min-height:66px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.cmv-product-preview-v178 small{
  font-size:9px!important;
  font-weight:600!important;
}
.cmv-product-preview-v178 strong{
  font-size:14px!important;
  line-height:1.2!important;
}

/* CMV página */
.cmv-toolbar-v178{
  align-items:end!important;
}
.cmv-toolbar-v178 > div{
  min-width:0!important;
}
.cmv-summary-v178 article,
.cmv-size-card-v178{
  min-height:112px!important;
}
.cmv-summary-v178 strong,
.cmv-size-card-v178 strong{
  line-height:1.15!important;
}
.cmv-ingredient-item-v178{
  min-height:60px!important;
}
.cmv-size-setting-v178 .fields > div{
  min-width:0!important;
}

/* =========================================================
   Responsividade global
   ========================================================= */
@media(max-width:1023px){
  body{
    font-size:13px;
  }
  .modalbg{
    padding:12px!important;
    align-items:flex-end!important;
  }
  .modal{
    width:100%!important;
    max-width:100%!important;
    max-height:94dvh!important;
    border-radius:16px 16px 10px 10px!important;
  }
  .modal .modal-head{
    padding:16px 16px 12px!important;
  }
  .modal > .grid2,
  .modal > .grid3,
  .modal > .grid4,
  .modal > .cmv-calc-preview-v178,
  .modal > .cmv-recipe-head-v178,
  .modal > .cmv-recipe-rows-v178,
  .modal > .cmv-product-preview-v178{
    margin-left:16px!important;
    margin-right:16px!important;
  }
  .modal-actions{
    padding:14px 16px 16px!important;
  }
  .grid3,.grid4{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .cmv-product-preview-v178{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .cmv-recipe-row-v178{
    grid-template-columns:1fr 120px 90px!important;
  }
  .cmv-recipe-row-v178 > *:nth-child(4),
  .cmv-recipe-row-v178 > *:nth-child(5){
    grid-column:auto;
  }
}

@media(max-width:699px){
  h2{font-size:19px}
  h3{font-size:15px}
  .grid2,.grid3,.grid4{
    grid-template-columns:1fr!important;
  }
  .modalbg{
    padding:6px!important;
  }
  .modal{
    max-height:96dvh!important;
    border-radius:14px 14px 8px 8px!important;
  }
  .modal .modal-head{
    padding:14px 14px 10px!important;
  }
  .modal .modal-head h3{
    font-size:17px!important;
  }
  .modal > .grid2,
  .modal > .grid3,
  .modal > .grid4,
  .modal > .cmv-calc-preview-v178,
  .modal > .cmv-recipe-head-v178,
  .modal > .cmv-recipe-rows-v178,
  .modal > .cmv-product-preview-v178{
    margin-left:14px!important;
    margin-right:14px!important;
  }
  .modal-actions{
    padding:12px 14px 14px!important;
    flex-direction:column-reverse!important;
  }
  .modal-actions .btn{
    width:100%!important;
  }
  .cmv-recipe-head-v178{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .cmv-recipe-head-v178 .btn{
    width:100%!important;
  }
  .cmv-recipe-row-v178{
    grid-template-columns:1fr!important;
  }
  .cmv-product-preview-v178{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .cmv-summary-v178,
  .cmv-size-cards-v178{
    grid-template-columns:1fr!important;
  }
}

/* =========================================================
   Dark mode final
   ========================================================= */
.dark-mode input,
.dark-mode select,
.dark-mode textarea{
  background:#20242c!important;
  border-color:#3a404c!important;
  color:#f5f7fa!important;
}
.dark-mode label{
  color:#c8ced7!important;
}
.dark-mode .modal{
  background:#171a20!important;
  color:#f5f7fa!important;
}
.dark-mode .modal .modal-head,
.dark-mode .modal-actions{
  border-color:#303540!important;
}
.dark-mode .cmv-recipe-row-v178 .row-cost{
  background:#20242c!important;
  border-color:#3a404c!important;
  color:#f5f7fa!important;
}



/* =========================================================
   V180 — MOBILE REAL: MENU + TOQUE + SEM ZOOM AUTOMÁTICO
   Última camada CSS para vencer regras antigas V101/V172/V179.
   ========================================================= */
@media(max-width:1023px){

  html,body{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    -webkit-text-size-adjust:100%!important;
    text-size-adjust:100%!important;
  }

  body.app-visible,
  body.app-visible #appScreen{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  /* Evita zoom automático do Safari/iPhone ao focar campos */
  input,
  select,
  textarea{
    font-size:16px!important;
    line-height:1.25!important;
  }

  /* Evita double-tap zoom em controles */
  button,
  .btn,
  a,
  [role="button"],
  select,
  input[type="checkbox"],
  input[type="radio"]{
    touch-action:manipulation!important;
  }

  /* Topo mobile: botão do menu volta a existir */
  body.app-visible #mobileMenuBtn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    padding:0!important;
    border:1px solid #e2e5e9!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#25282e!important;
    font-size:21px!important;
    line-height:1!important;
    flex:0 0 40px!important;
    position:relative!important;
    z-index:4100!important;
  }

  body.app-visible #appScreen.app>.main>.top.top-v158{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    min-width:0!important;
  }

  .top-user-v158{
    min-width:0!important;
    overflow:hidden!important;
  }

  .top-user-copy-v158{
    min-width:0!important;
  }

  .top-user-copy-v158 b,
  .top-user-copy-v158 small{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  /* Drawer lateral: fechado por padrão, mas NÃO display:none */
  body.app-visible #appScreen.app>.side{
    display:block!important;
    position:fixed!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    width:min(86vw,320px)!important;
    max-width:320px!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding-bottom:calc(18px + env(safe-area-inset-bottom))!important;
    z-index:5000!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    transform:translate3d(-105%,0,0)!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .22s ease,visibility .22s ease!important;
    box-shadow:12px 0 34px rgba(0,0,0,.18)!important;
    -webkit-overflow-scrolling:touch!important;
  }

  body.app-visible #appScreen.app>.side.mobile-open{
    transform:translate3d(0,0,0)!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  /* Overlay do menu */
  body.app-visible #mobileOverlay{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:4900!important;
    background:rgba(15,23,42,.46)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .2s ease,visibility .2s ease!important;
  }

  body.app-visible #mobileOverlay.open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  body.mobile-menu-open{
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }

  /* Menu lateral - área de toque confortável */
  body.app-visible #appScreen.app>.side .nav button,
  body.app-visible #appScreen.app>.side .side-company-v158{
    min-height:48px!important;
    touch-action:manipulation!important;
  }

  /* Bottom navigation continua como atalho rápido */
  .mobile-app-nav-v172{
    display:grid!important;
    z-index:3600!important;
    min-height:72px!important;
  }

  .mobile-nav-item-v172,
  .mobile-nav-plus-wrap-v172{
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
  }

  /* Sheets "Transações" e "Mais" acima da barra */
  .mobile-sheet-overlay-v172{
    z-index:5200!important;
  }
  .mobile-sheet-v172{
    z-index:5300!important;
    pointer-events:auto!important;
  }
  .mobile-sheet-v172.open{
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .mobile-sheet-v172:not(.open){
    pointer-events:none!important;
  }

  /* Qualquer botão de sheet com bom alvo de toque */
  .mobile-more-grid-v172>button,
  .mobile-quick-grid-v172>button{
    min-height:64px!important;
    touch-action:manipulation!important;
  }

  /* Conteúdo principal sempre cabe na tela */
  body.app-visible #appScreen.app>.main{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  body.app-visible #appScreen.app>.main > section,
  body.app-visible #appScreen.app>.main .panel,
  body.app-visible #appScreen.app>.main .card{
    min-width:0!important;
    max-width:100%!important;
  }

  /* Tabelas rolam dentro do container, sem estourar viewport */
  .table-wrap,
  .table-responsive{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overscroll-behavior-x:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }

  /* Modais sempre enquadrados no aparelho */
  .modalbg{
    width:100vw!important;
    max-width:100vw!important;
    overflow-x:hidden!important;
  }
  .modal,
  .tx-modal-v156{
    min-width:0!important;
    max-width:calc(100vw - 12px)!important;
  }

  /* Impede elementos internos de forçar zoom/largura */
  .grid,
  .grid2,
  .grid3,
  .grid4,
  .cmv-recipe-row-v178,
  .cmv-product-preview-v178{
    min-width:0!important;
    max-width:100%!important;
  }
}

@media(max-width:599px){
  body.app-visible #appScreen.app>.main{
    padding-left:8px!important;
    padding-right:8px!important;
  }

  body.app-visible #appScreen.app>.main>.top.top-v158{
    width:calc(100% + 16px)!important;
    margin-left:-8px!important;
    margin-right:-8px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }

  .top-user-avatar-v158{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
  }

  .top-user-copy-v158 b{
    font-size:11px!important;
  }

  .top-user-copy-v158 small{
    font-size:8px!important;
  }
}

/* Dark mode */
@media(max-width:1023px){
  .dark-mode body.app-visible #mobileMenuBtn{
    background:#242830!important;
    border-color:#3a404b!important;
    color:#fff!important;
  }
}


/* =========================================================
   V181 — CMV AVANÇADO: INSUMOS / MASSA / SABORES / PREÇO
   ========================================================= */
.cmv-flow-v181{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}
.cmv-flow-v181 button{min-height:44px;border:1px solid #e2e6eb;border-radius:10px;background:#fff;color:#59616d;font-size:11px;font-weight:700}
.cmv-flow-v181 button.active{background:#17191d;color:#fff;border-color:#17191d}
.cmv-advanced-view-v181.hidden{display:none!important}
.cmv-insumo-examples-v181{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}
.cmv-insumo-examples-v181 span{padding:5px 8px;border-radius:999px;background:#fff3e8;color:#cf5a0d;font-size:8px;font-weight:700}
.cmv-dough-settings-v181{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.cmv-dough-preview-v181{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:12px}
.cmv-dough-preview-v181 article{padding:12px;border:1px solid #e7e9ed;border-radius:10px;background:#f8f9fa}
.cmv-dough-preview-v181 small{display:block;font-size:8px;color:#747b86;font-weight:700}.cmv-dough-preview-v181 strong{display:block;margin-top:5px;font-size:14px}
.cmv-size-dough-v181{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.cmv-save-row-v181{display:flex;justify-content:flex-end;margin-top:14px}
.cmv-flavor-grid-v181{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cmv-flavor-card-v181{padding:14px;border:1px solid #e6e8ec;border-radius:12px;background:#fff}
.cmv-flavor-card-v181 .head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.cmv-flavor-card-v181 h4{margin:0;font-size:13px}.cmv-flavor-card-v181 .category{font-size:8px;padding:4px 7px;border-radius:999px;background:#fff3e8;color:#d15b0b;font-weight:700}
.cmv-flavor-size-list-v181{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}.cmv-flavor-size-list-v181 div{padding:8px;border-radius:8px;background:#f7f8f9}.cmv-flavor-size-list-v181 small{display:block;font-size:7px;color:#747b86}.cmv-flavor-size-list-v181 b{display:block;margin-top:2px;font-size:9px}
.cmv-flavor-actions-v181{display:flex;gap:6px;margin-top:10px}
.cmv-target-inline-v181{width:150px}.cmv-target-inline-v181 input{width:100%}
.cmv-pricing-grid-v181{display:grid;gap:8px}
.cmv-pricing-row-v181{display:grid;grid-template-columns:1.4fr .7fr .8fr .8fr .8fr .8fr 1fr;gap:8px;align-items:center;padding:10px;border:1px solid #e7e9ed;border-radius:10px;background:#fff}
.cmv-pricing-row-v181 small{display:block;font-size:7px;color:#747b86}.cmv-pricing-row-v181 b{font-size:10px}.cmv-pricing-row-v181 .good{color:#15803d}.cmv-pricing-row-v181 .bad{color:#b91c1c}
.cmv-flavor-modal-v181{max-width:960px!important}
.cmv-flavor-size-tabs-v181{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:14px 20px 0}
.cmv-flavor-size-tabs-v181 button{min-height:38px;border:1px solid #e0e4e8;border-radius:8px;background:#fff;font-size:10px;font-weight:700}.cmv-flavor-size-tabs-v181 button.active{background:#8b5e3c;color:#fff;border-color:#8b5e3c}
.cmv-flavor-size-panel-v181{margin:12px 20px 0}.cmv-flavor-basic-v181{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.cmv-flavor-preview-v181{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px;padding:10px;background:#f7f8f9;border-radius:10px}.cmv-flavor-preview-v181 div{padding:8px;background:#fff;border-radius:8px}.cmv-flavor-preview-v181 small{display:block;font-size:7px;color:#747b86}.cmv-flavor-preview-v181 strong{display:block;margin-top:4px;font-size:12px}
.cmv-flavor-size-save-v181{display:flex;justify-content:flex-end;margin-top:10px}
.dark-mode .cmv-flow-v181 button,.dark-mode .cmv-flavor-card-v181,.dark-mode .cmv-pricing-row-v181,.dark-mode .cmv-flavor-size-tabs-v181 button{background:#20242c;border-color:#343a44;color:#f5f7fa}.dark-mode .cmv-flow-v181 button.active{background:#8b5e3c}.dark-mode .cmv-dough-preview-v181 article,.dark-mode .cmv-flavor-size-list-v181 div,.dark-mode .cmv-flavor-preview-v181{background:#20242c;border-color:#343a44}.dark-mode .cmv-flavor-preview-v181 div{background:#171a20}
@media(max-width:1023px){.cmv-dough-preview-v181{grid-template-columns:repeat(3,1fr)}.cmv-size-dough-v181{grid-template-columns:repeat(2,1fr)}.cmv-flavor-grid-v181{grid-template-columns:1fr}.cmv-pricing-row-v181{grid-template-columns:1fr 1fr 1fr}.cmv-flavor-basic-v181{grid-template-columns:repeat(2,1fr)}.cmv-flavor-preview-v181{grid-template-columns:repeat(3,1fr)}}
@media(max-width:599px){.cmv-flow-v181{grid-template-columns:1fr 1fr}.cmv-dough-settings-v181,.cmv-size-dough-v181{grid-template-columns:1fr}.cmv-dough-preview-v181{grid-template-columns:1fr 1fr}.cmv-flavor-size-list-v181{grid-template-columns:1fr 1fr}.cmv-pricing-row-v181{grid-template-columns:1fr 1fr}.cmv-flavor-size-tabs-v181{margin-left:14px;margin-right:14px}.cmv-flavor-size-panel-v181{margin-left:14px;margin-right:14px}.cmv-flavor-basic-v181{grid-template-columns:1fr}.cmv-flavor-preview-v181{grid-template-columns:1fr 1fr}}


/* V182 — unidade de compra clara e precisão de CMV */
.cmv-unit-help-v182{
  margin:10px 20px 0;
  padding:10px 12px;
  border:1px solid #fde2cc;
  border-radius:10px;
  background:#fff8f2;
  color:#7a4a27;
  font-size:10px;
  line-height:1.45;
}
.cmv-calc-preview-v178 strong{
  min-width:120px;
  text-align:right;
}
.dark-mode .cmv-unit-help-v182{
  background:#2a1d14;
  border-color:#51331f;
  color:#f7c9a6;
}
@media(max-width:699px){
  .cmv-unit-help-v182{
    margin-left:14px;
    margin-right:14px;
  }
}



/* =========================================================
   V183 — CORREÇÃO DEFINITIVA DE CENTRALIZAÇÃO DOS MODAIS CMV
   ========================================================= */

/* Overlay realmente centralizado */
#cmvIngredientModalV178.modalbg,
#cmvProductModalV178.modalbg,
#cmvFlavorModalV181.modalbg{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:auto!important;
  box-sizing:border-box!important;
  transform:none!important;
  left:0!important;
  right:0!important;
  top:0!important;
  bottom:0!important;
}

#cmvIngredientModalV178.modalbg.hidden,
#cmvProductModalV178.modalbg.hidden,
#cmvFlavorModalV181.modalbg.hidden{
  display:none!important;
}

/* Modal sem qualquer deslocamento legado */
#cmvIngredientModalV178 .modal,
#cmvProductModalV178 .modal,
#cmvFlavorModalV181 .modal{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  margin:auto!important;
  box-sizing:border-box!important;
  overflow-x:hidden!important;
}

/* Larguras proporcionais */
#cmvIngredientModalV178 .modal{
  width:min(680px,calc(100vw - 40px))!important;
  max-width:680px!important;
}

#cmvProductModalV178 .modal{
  width:min(900px,calc(100vw - 40px))!important;
  max-width:900px!important;
}

#cmvFlavorModalV181 .modal{
  width:min(960px,calc(100vw - 40px))!important;
  max-width:960px!important;
}

/* Cabeçalho com padding simétrico */
#cmvIngredientModalV178 .modal-head,
#cmvProductModalV178 .modal-head,
#cmvFlavorModalV181 .modal-head{
  width:100%!important;
  margin:0!important;
  padding:20px!important;
  box-sizing:border-box!important;
}

/* Corpo interno sem margens negativas ou deslocadas */
#cmvIngredientModalV178 .grid2,
#cmvProductModalV178 .grid2,
#cmvFlavorModalV181 .grid2{
  width:auto!important;
  max-width:none!important;
  margin:16px 20px 0!important;
  padding:0!important;
  box-sizing:border-box!important;
}

/* Elementos auxiliares do modal de ingrediente */
#cmvIngredientModalV178 .cmv-unit-help-v182,
#cmvIngredientModalV178 .cmv-calc-preview-v178{
  width:auto!important;
  max-width:none!important;
  margin-left:20px!important;
  margin-right:20px!important;
  box-sizing:border-box!important;
}

/* Preview sem estourar */
#cmvIngredientModalV178 .cmv-calc-preview-v178{
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:4px 12px!important;
}

/* Footer alinhado */
#cmvIngredientModalV178 .modal-actions,
#cmvProductModalV178 .modal-actions,
#cmvFlavorModalV181 .modal-actions{
  width:100%!important;
  margin:16px 0 0!important;
  padding:16px 20px 20px!important;
  box-sizing:border-box!important;
}

/* Inputs/labels não podem ultrapassar a coluna */
#cmvIngredientModalV178 .grid2 > div,
#cmvProductModalV178 .grid2 > div,
#cmvFlavorModalV181 .grid2 > div{
  min-width:0!important;
  width:100%!important;
  box-sizing:border-box!important;
}

#cmvIngredientModalV178 input,
#cmvIngredientModalV178 select,
#cmvProductModalV178 input,
#cmvProductModalV178 select,
#cmvFlavorModalV181 input,
#cmvFlavorModalV181 select{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Remove qualquer margem lateral herdada de regras antigas */
#cmvProductModalV178 .cmv-recipe-head-v178,
#cmvProductModalV178 .cmv-recipe-rows-v178,
#cmvProductModalV178 .cmv-product-preview-v178,
#cmvFlavorModalV181 .cmv-flavor-size-tabs-v181,
#cmvFlavorModalV181 .cmv-flavor-size-panel-v181{
  width:auto!important;
  max-width:none!important;
  margin-left:20px!important;
  margin-right:20px!important;
  box-sizing:border-box!important;
}

/* Tablet */
@media(max-width:1023px){
  #cmvIngredientModalV178.modalbg,
  #cmvProductModalV178.modalbg,
  #cmvFlavorModalV181.modalbg{
    padding:12px!important;
    align-items:flex-end!important;
  }

  #cmvIngredientModalV178 .modal,
  #cmvProductModalV178 .modal,
  #cmvFlavorModalV181 .modal{
    width:100%!important;
    max-width:100%!important;
    max-height:94dvh!important;
    margin:0 auto!important;
    border-radius:16px 16px 10px 10px!important;
  }
}

/* Celular */
@media(max-width:699px){
  #cmvIngredientModalV178.modalbg,
  #cmvProductModalV178.modalbg,
  #cmvFlavorModalV181.modalbg{
    padding:6px!important;
  }

  #cmvIngredientModalV178 .modal-head,
  #cmvProductModalV178 .modal-head,
  #cmvFlavorModalV181 .modal-head{
    padding:14px!important;
  }

  #cmvIngredientModalV178 .grid2,
  #cmvProductModalV178 .grid2,
  #cmvFlavorModalV181 .grid2,
  #cmvIngredientModalV178 .cmv-unit-help-v182,
  #cmvIngredientModalV178 .cmv-calc-preview-v178,
  #cmvProductModalV178 .cmv-recipe-head-v178,
  #cmvProductModalV178 .cmv-recipe-rows-v178,
  #cmvProductModalV178 .cmv-product-preview-v178,
  #cmvFlavorModalV181 .cmv-flavor-size-tabs-v181,
  #cmvFlavorModalV181 .cmv-flavor-size-panel-v181{
    margin-left:14px!important;
    margin-right:14px!important;
  }

  #cmvIngredientModalV178 .modal-actions,
  #cmvProductModalV178 .modal-actions,
  #cmvFlavorModalV181 .modal-actions{
    padding:12px 14px 14px!important;
  }
}



/* =========================================================
   V184 — MODAIS CMV ACIMA DO MENU LATERAL
   O modal pertence à viewport inteira, não à área de conteúdo.
   ========================================================= */
#cmvIngredientModalV178.modalbg,
#cmvProductModalV178.modalbg,
#cmvFlavorModalV181.modalbg{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  width:100vw!important;
  height:100dvh!important;
  padding:18px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:auto!important;
  box-sizing:border-box!important;
  transform:none!important;
}

#cmvIngredientModalV178.modalbg.hidden,
#cmvProductModalV178.modalbg.hidden,
#cmvFlavorModalV181.modalbg.hidden{
  display:none!important;
}

/* Sidebar nunca fica acima de modal aberto */
body.cmv-modal-open-v184 .sidebar,
body.cmv-modal-open-v184 aside,
body.cmv-modal-open-v184 .mobile-bottom-nav-v180,
body.cmv-modal-open-v184 .mobile-menu-overlay-v180{
  z-index:1!important;
}

/* Tamanho do modal adaptado à tela útil */
#cmvIngredientModalV178 .modal{
  width:min(720px,calc(100vw - 36px))!important;
  max-width:720px!important;
  max-height:calc(100dvh - 36px)!important;
}

#cmvProductModalV178 .modal{
  width:min(980px,calc(100vw - 36px))!important;
  max-width:980px!important;
  max-height:calc(100dvh - 36px)!important;
}

#cmvFlavorModalV181 .modal{
  width:min(1000px,calc(100vw - 36px))!important;
  max-width:1000px!important;
  max-height:calc(100dvh - 36px)!important;
}

/* Conteúdo sempre visível e rolável dentro do próprio modal */
#cmvIngredientModalV178 .modal,
#cmvProductModalV178 .modal,
#cmvFlavorModalV181 .modal{
  position:relative!important;
  z-index:2147483001!important;
  margin:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  box-sizing:border-box!important;
}

/* Desktop: o menu fica visualmente atrás do backdrop, nunca por cima */
@media(min-width:1024px){
  body.cmv-modal-open-v184{
    overflow:hidden!important;
  }
}

/* Tablet e celular: modal vira quase full-screen */
@media(max-width:1023px){
  #cmvIngredientModalV178.modalbg,
  #cmvProductModalV178.modalbg,
  #cmvFlavorModalV181.modalbg{
    padding:8px!important;
    align-items:center!important;
  }

  #cmvIngredientModalV178 .modal,
  #cmvProductModalV178 .modal,
  #cmvFlavorModalV181 .modal{
    width:calc(100vw - 16px)!important;
    max-width:none!important;
    max-height:calc(100dvh - 16px)!important;
    border-radius:14px!important;
  }
}

@media(max-width:599px){
  #cmvIngredientModalV178.modalbg,
  #cmvProductModalV178.modalbg,
  #cmvFlavorModalV181.modalbg{
    padding:0!important;
  }

  #cmvIngredientModalV178 .modal,
  #cmvProductModalV178 .modal,
  #cmvFlavorModalV181 .modal{
    width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    border-radius:0!important;
  }
}



/* =========================================================
   V187 — PADRONIZAÇÃO GLOBAL DE MODAIS / CADASTROS / EDIÇÕES
   Objetivo: todos os cadastros com respiro, sombra e alinhamento.
   ========================================================= */

/* Overlay */
.modalbg{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  padding:24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(15,23,42,.52)!important;
  backdrop-filter:blur(2px)!important;
  -webkit-backdrop-filter:blur(2px)!important;
  overflow:auto!important;
  box-sizing:border-box!important;
  z-index:2147482000!important;
}
.modalbg.hidden{
  display:none!important;
}

/* Container principal */
.modal,
.tx-modal-v156,
.account-modal-v116,
.account-history-modal-v116,
.cmv-modal-v178,
.cmv-product-modal-v178,
.cmv-flavor-modal-v181{
  position:relative!important;
  width:min(760px,calc(100vw - 48px))!important;
  max-width:760px!important;
  max-height:calc(100dvh - 48px)!important;
  margin:auto!important;
  padding:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  box-sizing:border-box!important;
  border:1px solid rgba(17,24,39,.10)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:
    0 28px 70px rgba(15,23,42,.28),
    0 8px 24px rgba(15,23,42,.18),
    0 0 0 1px rgba(255,255,255,.45) inset!important;
  transform:none!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
}

/* Modais maiores */
.cmv-product-modal-v178,
.cmv-flavor-modal-v181{
  width:min(980px,calc(100vw - 48px))!important;
  max-width:980px!important;
}

/* Cabeçalhos comuns */
.modal > h2,
.modal > h3{
  margin:0!important;
  padding:22px 22px 8px!important;
  font-size:20px!important;
  line-height:1.2!important;
  font-weight:700!important;
  color:#17191d!important;
}

.modal-head,
.account-modal-head-v116,
.account-history-modal-v116 .account-modal-head-v116{
  position:sticky!important;
  top:0!important;
  z-index:10!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:16px!important;
  width:100%!important;
  margin:0!important;
  padding:20px 22px 16px!important;
  box-sizing:border-box!important;
  background:rgba(255,255,255,.98)!important;
  border-bottom:1px solid #eceff3!important;
}

.modal-head h2,
.modal-head h3,
.account-modal-head-v116 h2,
.account-modal-head-v116 h3{
  margin:0!important;
  font-size:20px!important;
  line-height:1.2!important;
  font-weight:700!important;
}

.modal-head p,
.account-modal-head-v116 p{
  margin:5px 0 0!important;
  font-size:12px!important;
  line-height:1.45!important;
  color:#747b86!important;
}

/* Corpo de formulários */
.modal > .formgrid,
.modal > .grid2,
.modal > .grid3,
.modal > .grid4,
.account-modal-v116 .formgrid,
.tx-modal-v156 .formgrid{
  margin:0!important;
  padding:18px 22px 4px!important;
  box-sizing:border-box!important;
}

.formgrid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px 16px!important;
  align-items:start!important;
}

.formgrid .field,
.grid2 > div,
.grid3 > div,
.grid4 > div{
  min-width:0!important;
  width:100%!important;
  box-sizing:border-box!important;
}

.formgrid .field.full{
  grid-column:1/-1!important;
}

/* Labels */
.modal label,
.account-modal-v116 label,
.tx-modal-v156 label{
  display:block!important;
  margin:0 0 6px!important;
  font-size:11px!important;
  line-height:1.3!important;
  font-weight:600!important;
  color:#59616c!important;
}

/* Inputs */
.modal input,
.modal select,
.modal textarea,
.account-modal-v116 input,
.account-modal-v116 select,
.account-modal-v116 textarea{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  border:1px solid #d9dee5!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#1e2228!important;
  font-size:14px!important;
  font-weight:400!important;
  box-shadow:none!important;
}

.modal input,
.modal select,
.account-modal-v116 input,
.account-modal-v116 select{
  height:42px!important;
  min-height:42px!important;
  padding:0 12px!important;
}

.modal textarea,
.account-modal-v116 textarea{
  min-height:96px!important;
  padding:10px 12px!important;
}

.modal input:focus,
.modal select:focus,
.modal textarea:focus,
.account-modal-v116 input:focus,
.account-modal-v116 select:focus{
  border-color:#8b5e3c!important;
  box-shadow:0 0 0 3px rgba(176,122,80,.12)!important;
  outline:none!important;
}

/* Blocos informativos */
.bank-cash-note,
.account-info-note,
.cmv-unit-help-v182,
.cmv-calc-preview-v178{
  margin:14px 22px 0!important;
  padding:11px 12px!important;
  border-radius:10px!important;
  box-sizing:border-box!important;
}

/* Rodapé de ações */
.modal-actions,
.account-modal-actions-v116,
.tx-modal-v156 .modal-actions{
  position:sticky!important;
  bottom:0!important;
  z-index:9!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  margin:16px 0 0!important;
  padding:16px 22px 20px!important;
  box-sizing:border-box!important;
  background:rgba(255,255,255,.98)!important;
  border-top:1px solid #eceff3!important;
}

.modal-actions .btn,
.account-modal-actions-v116 .btn{
  min-width:112px!important;
}

/* Modal de conta específico */
#accountModal .modal{
  width:min(760px,calc(100vw - 48px))!important;
  max-width:760px!important;
}

#accountModal .modal > h2{
  padding:22px 22px 12px!important;
  margin:0!important;
  border-bottom:1px solid #eceff3!important;
}

#accountModal .formgrid{
  padding-top:16px!important;
}

#accountModal .bank-cash-note{
  margin-bottom:0!important;
}

#accountModal .modal > div:last-child{
  padding-left:22px!important;
  padding-right:22px!important;
  padding-bottom:20px!important;
}

/* Caso existam modais antigos com botões soltos */
.modal > div[style*="justify-content:flex-end"]{
  margin:16px 0 0!important;
  padding:16px 22px 20px!important;
  border-top:1px solid #eceff3!important;
  background:#fff!important;
}

/* Tablet */
@media(max-width:1023px){
  .modalbg{
    padding:12px!important;
    align-items:center!important;
  }

  .modal,
  .tx-modal-v156,
  .account-modal-v116,
  .account-history-modal-v116,
  .cmv-modal-v178,
  .cmv-product-modal-v178,
  .cmv-flavor-modal-v181{
    width:calc(100vw - 24px)!important;
    max-width:none!important;
    max-height:calc(100dvh - 24px)!important;
    border-radius:16px!important;
  }
}

/* Celular */
@media(max-width:699px){
  .modalbg{
    padding:6px!important;
    align-items:flex-end!important;
  }

  .modal,
  .tx-modal-v156,
  .account-modal-v116,
  .account-history-modal-v116,
  .cmv-modal-v178,
  .cmv-product-modal-v178,
  .cmv-flavor-modal-v181{
    width:calc(100vw - 12px)!important;
    max-width:none!important;
    max-height:96dvh!important;
    border-radius:16px 16px 8px 8px!important;
  }

  .modal > h2,
  .modal > h3{
    padding:16px 14px 10px!important;
    font-size:18px!important;
  }

  .modal-head,
  .account-modal-head-v116{
    padding:15px 14px 12px!important;
  }

  .modal > .formgrid,
  .modal > .grid2,
  .modal > .grid3,
  .modal > .grid4,
  .account-modal-v116 .formgrid{
    padding:14px 14px 4px!important;
  }

  .formgrid,
  .grid2,
  .grid3,
  .grid4{
    grid-template-columns:1fr!important;
  }

  .bank-cash-note,
  .account-info-note,
  .cmv-unit-help-v182,
  .cmv-calc-preview-v178{
    margin-left:14px!important;
    margin-right:14px!important;
  }

  .modal-actions,
  .account-modal-actions-v116{
    padding:12px 14px 14px!important;
    flex-direction:column-reverse!important;
  }

  .modal-actions .btn,
  .account-modal-actions-v116 .btn{
    width:100%!important;
    min-width:0!important;
  }

  /* impede zoom automático no iPhone */
  .modal input,
  .modal select,
  .modal textarea,
  .account-modal-v116 input,
  .account-modal-v116 select{
    font-size:16px!important;
  }
}

/* Dark mode */
.dark-mode .modal,
.dark-mode .tx-modal-v156,
.dark-mode .account-modal-v116,
.dark-mode .account-history-modal-v116,
.dark-mode .cmv-modal-v178,
.dark-mode .cmv-product-modal-v178,
.dark-mode .cmv-flavor-modal-v181{
  background:#171a20!important;
  border-color:#303540!important;
  color:#f5f7fa!important;
  box-shadow:
    0 28px 70px rgba(0,0,0,.50),
    0 8px 24px rgba(0,0,0,.35)!important;
}

.dark-mode .modal-head,
.dark-mode .account-modal-head-v116,
.dark-mode .modal-actions,
.dark-mode .account-modal-actions-v116{
  background:rgba(23,26,32,.98)!important;
  border-color:#303540!important;
}

.dark-mode .modal > h2,
.dark-mode .modal > h3,
.dark-mode .modal-head h2,
.dark-mode .modal-head h3{
  color:#f5f7fa!important;
}


/* V192 — Central de Performance + comparação mensal + criativos + análise IA */
.meta-intel-v192{margin-top:12px}
.meta-compare-grid-v192{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.meta-compare-card-v192{padding:12px;border:1px solid #ececf0;border-radius:11px;background:#fafafa}
.meta-compare-card-v192 small{display:block;font-size:8px;color:#667085;font-weight:700}
.meta-compare-card-v192 strong{display:block;margin-top:5px;font-size:17px}
.meta-compare-card-v192 em{display:block;margin-top:5px;font-size:8px;font-style:normal;color:#667085}
.meta-delta-v192.up{color:#067647!important}.meta-delta-v192.down{color:#b42318!important}.meta-delta-v192.flat{color:#667085!important}
.meta-month-bars-v192{display:grid;gap:9px;margin-top:12px}
.meta-month-bar-v192{display:grid;grid-template-columns:90px 1fr 100px;align-items:center;gap:10px;font-size:9px}
.meta-month-track-v192{height:9px;background:#f0f1f3;border-radius:999px;overflow:hidden}.meta-month-fill-v192{height:100%;background:currentColor;border-radius:999px}
.meta-top3-grid-v192{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.meta-top3-v192{padding:13px;border:1px solid #e7e9ee;border-radius:12px;background:#fff}
.meta-top3-v192 .place{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;border-radius:8px;background:#fff0e8;color:#e65407;font-weight:800;font-size:10px}
.meta-top3-v192 h4{font-size:11px;margin:9px 0 8px}.meta-top3-metrics-v192{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.meta-top3-metrics-v192 small{font-size:7.5px;color:#667085;display:block}.meta-top3-metrics-v192 b{font-size:10px}
.meta-creative-grid-v192{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.meta-creative-card-v192{overflow:hidden;border:1px solid #e7e9ee;border-radius:13px;background:#fff}
.meta-creative-media-v192{height:120px;background:#f5f5f6;display:flex;align-items:center;justify-content:center;color:#98a2b3;font-size:9px;text-align:center;padding:12px}
.meta-creative-media-v192 img{width:100%;height:100%;object-fit:cover}
.meta-creative-body-v192{padding:12px}.meta-creative-body-v192 h4{margin:0 0 7px;font-size:11px}.meta-creative-body-v192 p{font-size:8.5px;line-height:1.45;color:#667085;margin:7px 0}
.meta-ai-v192{display:grid;grid-template-columns:1.1fr .9fr;gap:12px}.meta-ai-box-v192{padding:13px;border-radius:11px;background:#f8f8f9}
.meta-ai-box-v192 h4{font-size:11px;margin:0 0 8px}.meta-ai-box-v192 p{font-size:9px;line-height:1.55;margin:7px 0}.meta-ai-actions-v192{display:grid;gap:7px}
.meta-ai-action-v192{padding:9px 10px;border:1px solid #e7e9ee;border-radius:9px;background:#fff;font-size:9px}.meta-ai-action-v192 b{display:block;margin-bottom:3px}
.dark-mode .meta-compare-card-v192,.dark-mode .meta-top3-v192,.dark-mode .meta-creative-card-v192,.dark-mode .meta-ai-action-v192{background:#181a1f;border-color:#30333a}
.dark-mode .meta-ai-box-v192,.dark-mode .meta-creative-media-v192{background:#20232a}.dark-mode .meta-month-track-v192{background:#30333a}
@media(max-width:1023px){.meta-compare-grid-v192{grid-template-columns:repeat(2,minmax(0,1fr))}.meta-top3-grid-v192,.meta-creative-grid-v192{grid-template-columns:1fr}.meta-ai-v192{grid-template-columns:1fr}}
@media(max-width:599px){.meta-compare-grid-v192{grid-template-columns:1fr 1fr}.meta-month-bar-v192{grid-template-columns:70px 1fr 72px}.meta-creative-media-v192{height:150px}}

/* V193 — gramagens visíveis e ficha técnica importada corretamente */
.cmv-flavor-ingredients-v193{margin-top:10px;padding:9px 10px;border:1px solid #eceef1;border-radius:9px;background:#fafafa}
.cmv-flavor-ingredients-v193 small{display:block;font-size:7.5px;font-weight:800;color:#667085;margin-bottom:5px}
.cmv-flavor-ingredients-v193 p{margin:0;font-size:8.5px;line-height:1.55;color:#475467}
.dark-mode .cmv-flavor-ingredients-v193{background:#20242c;border-color:#343a44}
.dark-mode .cmv-flavor-ingredients-v193 p{color:#c7cbd1}

/* V196 — custos fixos rateados + taxa de maquineta */
.cmv-overhead-v196{margin-bottom:12px}
.cmv-overhead-grid-v196{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}
.cmv-fixed-list-v196{display:grid;gap:8px}
.cmv-fixed-row-v196{display:grid;grid-template-columns:1.5fr .8fr auto;gap:8px;align-items:end;padding:9px;border:1px solid #eceef1;border-radius:10px;background:#fafafa}
.cmv-overhead-config-v196{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.cmv-overhead-summary-v196{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:11px}
.cmv-overhead-summary-v196 article{padding:11px;border:1px solid #eceef1;border-radius:10px;background:#fbf8f3}
.cmv-overhead-summary-v196 small{display:block;font-size:8px;color:#667085;font-weight:700}
.cmv-overhead-summary-v196 strong{display:block;margin-top:6px;font-size:16px}
.cmv-cost-breakdown-v196{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px}
.cmv-cost-breakdown-v196 span{padding:7px 8px;border-radius:8px;background:#f8f8f9;font-size:8px}
.cmv-cost-breakdown-v196 b{display:block;margin-top:2px;font-size:9px}
.dark-mode .cmv-fixed-row-v196,.dark-mode .cmv-overhead-summary-v196 article{background:#20242c;border-color:#343a44}
.dark-mode .cmv-cost-breakdown-v196 span{background:#20242c}
@media(max-width:900px){.cmv-overhead-grid-v196{grid-template-columns:1fr}.cmv-overhead-summary-v196{grid-template-columns:1fr 1fr}}
@media(max-width:599px){.cmv-overhead-config-v196{grid-template-columns:1fr}.cmv-overhead-summary-v196{grid-template-columns:1fr 1fr}.cmv-fixed-row-v196{grid-template-columns:1fr 1fr auto}}

/* V198 — Relatório semanal de pizzas vendidas e muçarela */
.cmv-weekly-v198{margin-top:12px}
.cmv-weekly-form-v198{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:9px;align-items:end}
.cmv-weekly-kpis-v198{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px}
.cmv-weekly-kpis-v198 article{padding:12px;border:1px solid #eceef1;border-radius:10px;background:#fbf8f3}
.cmv-weekly-kpis-v198 small{display:block;font-size:8px;color:#667085;font-weight:700}.cmv-weekly-kpis-v198 strong{display:block;margin-top:6px;font-size:17px}
.cmv-weekly-table-v198{width:100%;border-collapse:collapse;min-width:720px}.cmv-weekly-table-v198 th,.cmv-weekly-table-v198 td{padding:9px 8px;border-bottom:1px solid #eceef1;font-size:9px;text-align:left}
.cmv-weekly-history-v198{display:grid;gap:9px}.cmv-weekly-history-card-v198{padding:12px;border:1px solid #eceef1;border-radius:10px;background:#fff}
.cmv-weekly-history-card-v198 .head{display:flex;justify-content:space-between;gap:10px;align-items:center}.cmv-weekly-history-card-v198 h4{margin:0;font-size:11px}
.cmv-weekly-history-grid-v198{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:9px}.cmv-weekly-history-grid-v198 span{padding:8px;background:#f8f8f9;border-radius:8px;font-size:8px}.cmv-weekly-history-grid-v198 b{display:block;margin-top:3px;font-size:10px}
.cmv-weekly-current-v198{padding:10px 12px;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:9px;margin-top:10px}
.dark-mode .cmv-weekly-kpis-v198 article,.dark-mode .cmv-weekly-history-card-v198{background:#20242c;border-color:#343a44}.dark-mode .cmv-weekly-history-grid-v198 span{background:#181a1f}
@media(max-width:900px){.cmv-weekly-form-v198{grid-template-columns:1fr 1fr}.cmv-weekly-kpis-v198{grid-template-columns:1fr 1fr}}
@media(max-width:599px){.cmv-weekly-form-v198{grid-template-columns:1fr}.cmv-weekly-history-grid-v198{grid-template-columns:1fr 1fr}}

/* V199 — filtro mensal e histórico Jan-Ago/2026 */
.cmv-weekly-period-v199{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;align-items:end;margin-bottom:12px}
.cmv-month-kpis-v199{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:12px 0}
.cmv-month-kpis-v199 article{padding:12px;border:1px solid #eceef1;border-radius:10px;background:#fbf8f3}
.cmv-month-kpis-v199 small{display:block;font-size:8px;color:#667085;font-weight:700}.cmv-month-kpis-v199 strong{display:block;margin-top:6px;font-size:16px}
.cmv-month-warning-v199{padding:9px 11px;border-radius:9px;background:#fffaeb;color:#b54708;font-size:9px;margin-bottom:10px}
.dark-mode .cmv-month-kpis-v199 article{background:#20242c;border-color:#343a44}
@media(max-width:900px){.cmv-weekly-period-v199{grid-template-columns:1fr 1fr}.cmv-month-kpis-v199{grid-template-columns:1fr 1fr}}
@media(max-width:599px){.cmv-weekly-period-v199{grid-template-columns:1fr}.cmv-month-kpis-v199{grid-template-columns:1fr 1fr}}

/* V202 — Dashboard de Produção */
.prod-dashboard-v202{margin-bottom:12px}
.prod-dashboard-grid-v202{display:grid;grid-template-columns:1.1fr .9fr;gap:12px}
.prod-kpis-v202{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.prod-kpis-v202 article{padding:12px;border:1px solid #eceef1;border-radius:10px;background:#fbf8f3}
.prod-kpis-v202 small{display:block;font-size:8px;color:#667085;font-weight:700}.prod-kpis-v202 strong{display:block;margin-top:6px;font-size:17px}
.prod-weekday-list-v202{display:grid;gap:8px}
.prod-weekday-row-v202{display:grid;grid-template-columns:100px 1fr 74px 74px;gap:9px;align-items:center;font-size:9px}
.prod-weekday-track-v202{height:9px;border-radius:999px;background:#f0f1f3;overflow:hidden}.prod-weekday-fill-v202{height:100%;background:currentColor;border-radius:999px}
.prod-month-trend-v202{display:grid;gap:8px}
.prod-month-row-v202{display:grid;grid-template-columns:85px 1fr 80px;gap:9px;align-items:center;font-size:9px}
.prod-highlight-v202{padding:11px;border-radius:10px;background:#f8f8f9;font-size:9px;line-height:1.5}
.dark-mode .prod-kpis-v202 article{background:#20242c;border-color:#343a44}.dark-mode .prod-weekday-track-v202{background:#30333a}.dark-mode .prod-highlight-v202{background:#20242c}
@media(max-width:900px){.prod-dashboard-grid-v202{grid-template-columns:1fr}.prod-kpis-v202{grid-template-columns:1fr 1fr}}
@media(max-width:599px){.prod-weekday-row-v202{grid-template-columns:88px 1fr 58px}.prod-weekday-row-v202 .sum{display:none}.prod-month-row-v202{grid-template-columns:70px 1fr 65px}}

/* =========================================================
   V206 — TABELAS RESPONSIVAS SEM ESMAGAR COLUNAS
   ========================================================= */
.table-scroll-v206{
  width:100%;
  max-width:100%;
  overflow-x:auto !important;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
}
.data-table-v206{
  width:100%;
  table-layout:auto !important;
  border-collapse:collapse;
}
.expense-table-v206{min-width:1040px}
.revenue-table-v206{min-width:880px}
.employee-table-v206{min-width:1080px}
.employee-deduction-table-v206{min-width:760px}

/* Colunas que nunca devem quebrar em duas/três linhas. */
.expense-table-v206 th:nth-child(1),.expense-table-v206 td:nth-child(1),
.expense-table-v206 th:nth-child(5),.expense-table-v206 td:nth-child(5),
.expense-table-v206 th:nth-child(6),.expense-table-v206 td:nth-child(6),
.expense-table-v206 th:nth-child(7),.expense-table-v206 td:nth-child(7),
.expense-table-v206 th:nth-child(8),.expense-table-v206 td:nth-child(8),
.revenue-table-v206 th:nth-child(1),.revenue-table-v206 td:nth-child(1),
.revenue-table-v206 th:nth-child(5),.revenue-table-v206 td:nth-child(5),
.revenue-table-v206 th:nth-child(6),.revenue-table-v206 td:nth-child(6),
.revenue-table-v206 th:nth-child(7),.revenue-table-v206 td:nth-child(7){
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
.expense-table-v206 td:nth-child(2),.expense-table-v206 td:nth-child(3),.expense-table-v206 td:nth-child(4),
.revenue-table-v206 td:nth-child(2),.revenue-table-v206 td:nth-child(3),.revenue-table-v206 td:nth-child(4){
  min-width:125px;
}
.expense-table-v206 td:nth-child(6),.revenue-table-v206 td:nth-child(5){font-variant-numeric:tabular-nums}
.expense-table-v206 td:nth-child(8),.revenue-table-v206 td:nth-child(7){min-width:230px}
.expense-table-v206 td:nth-child(8) .btn,.revenue-table-v206 td:nth-child(7) .btn{
  white-space:nowrap !important;
  display:inline-flex !important;
  width:auto !important;
  min-width:auto !important;
  flex:none !important;
  margin:2px 2px 2px 0;
}
.expense-table-v206 .status{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  white-space:nowrap !important;
  min-width:max-content;
  padding:6px 10px;
}
.expense-table-v206 .user-chip,.revenue-table-v206 .user-chip{white-space:nowrap !important}

.card-table-v206{min-width:820px}
.card-table-v206 th:nth-child(n+2),.card-table-v206 td:nth-child(n+2){white-space:nowrap !important}
.card-table-v206 td:last-child .btn{white-space:nowrap !important;width:auto !important;display:inline-flex !important}

/* Outras tabelas grandes com risco semelhante. */
#page-funcionarios .table-scroll-v206 table{table-layout:auto !important}
#page-funcionarios .table-scroll-v206 th,
#page-funcionarios .table-scroll-v206 td{vertical-align:middle}
#page-funcionarios .table-scroll-v206 td:last-child,
#page-funcionarios .table-scroll-v206 th:last-child{white-space:nowrap !important}
#page-funcionarios .table-scroll-v206 td:last-child .btn{white-space:nowrap !important;width:auto !important;display:inline-flex !important}

/* Relatório de Produção já possui muitas colunas: preserva leitura em telas menores. */
#page-producao .table-wrap{overflow-x:auto !important;-webkit-overflow-scrolling:touch}
#page-producao .cmv-weekly-table-v198{min-width:850px !important;table-layout:auto !important}
#page-producao .cmv-weekly-table-v198 th,
#page-producao .cmv-weekly-table-v198 td{white-space:nowrap}

/* Boletos e tabelas administrativas: números/status/ações não quebram. */
#page-boletos .btn,#page-contas .btn{white-space:nowrap}

/* Em tablet/mobile, jamais comprime tabela larga: rola horizontalmente. */
@media(max-width:1100px){
  .table-scroll-v206{margin-right:0;padding-bottom:4px}
  .expense-table-v206{min-width:1020px !important}
  .revenue-table-v206{min-width:860px !important}
  .employee-table-v206{min-width:1040px !important}
  .data-table-v206 th,.data-table-v206 td{font-size:12px !important}
  .data-table-v206 .btn{min-height:38px !important;padding:8px 12px !important}
}
@media(max-width:600px){
  .table-scroll-v206{border:1px solid var(--border,#e5e7eb);border-radius:10px}
  .data-table-v206 th,.data-table-v206 td{padding:10px 9px !important}
}

/* =========================================================
   V207 — MODAL RECEITA / DESPESA COMPACTO E PROPORCIONAL
   Referência visual aprovada pelo usuário.
   ========================================================= */
#txModal.modalbg{
  padding:18px!important;
  align-items:center!important;
  justify-content:center!important;
}
#txModal #txModalCardV156.tx-modal-v156{
  width:min(540px,calc(100vw - 36px))!important;
  max-width:540px!important;
  max-height:calc(100dvh - 36px)!important;
  border-radius:14px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}

#txModal .tx-modal-header-v156{
  min-height:58px!important;
  padding:0 18px!important;
}
#txModal .tx-modal-title-v156{gap:8px!important}
#txModal .tx-modal-title-v156 h2{
  font-size:18px!important;
  line-height:1.15!important;
}
#txModal .tx-modal-title-icon-v156{font-size:17px!important}
#txModal .tx-modal-x-v156{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  font-size:22px!important;
}

#txModal .tx-modal-body-v156{
  padding:18px!important;
}
#txModal .tx-main-grid-v156{
  grid-template-columns:1fr 1fr!important;
  gap:14px 14px!important;
}
#txModal .field{margin:0!important}
#txModal .field label,
#txModal .tx-label-v156{
  margin:0 0 5px!important;
  font-size:10px!important;
  line-height:1.25!important;
  font-weight:600!important;
}
#txModal input,
#txModal select{
  min-height:38px!important;
  height:38px!important;
  font-size:12px!important;
  border-radius:7px!important;
}
#txModal textarea{
  min-height:68px!important;
  font-size:12px!important;
  border-radius:7px!important;
}
#txModal .money-input-wrap-v156,
#txModal .icon-input-wrap-v156{
  min-height:38px!important;
  height:38px!important;
  padding:0 9px!important;
  gap:6px!important;
  border-radius:7px!important;
}
#txModal .money-input-wrap-v156>span,
#txModal .icon-input-wrap-v156>span{
  font-size:12px!important;
}
#txModal .money-input-wrap-v156 input,
#txModal .icon-input-wrap-v156 input,
#txModal .icon-input-wrap-v156 select{
  min-height:36px!important;
  height:36px!important;
  font-size:12px!important;
}

#txModal .tx-section-v156{margin-bottom:16px!important}
#txModal .payment-method-grid-v156{
  gap:10px!important;
}
#txModal .payment-method-v156{
  min-height:62px!important;
  border-radius:9px!important;
  gap:5px!important;
  font-size:11px!important;
}
#txModal .payment-method-v156 span{font-size:15px!important}

#txModal .tx-status-block-v156{
  margin:15px 0!important;
}
#txModal .tx-radio-line-v156{
  gap:14px!important;
}
#txModal .tx-radio-line-v156 label{
  font-size:11px!important;
  gap:5px!important;
}
#txModal .tx-radio-line-v156 input{
  width:13px!important;
  height:13px!important;
  min-height:13px!important;
}

#txModal .tx-account-full-v156{margin-top:14px!important}
#txModal .account-help-v163{
  margin-top:5px!important;
  font-size:8px!important;
  line-height:1.35!important;
}
#txModal .tx-more-v156{
  margin-top:12px!important;
}
#txModal .tx-more-toggle-v156{
  min-height:28px!important;
  font-size:10px!important;
}

#txModal .tx-modal-actions-v156{
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin-top:18px!important;
}
#txModal .tx-cancel-v156,
#txModal .tx-submit-v156{
  min-height:42px!important;
  height:42px!important;
  font-size:12px!important;
  border-radius:7px!important;
}

/* Remove a regra genérica posterior que fazia somente este modal voltar para 760px. */
@media(min-width:700px){
  #txModal #txModalCardV156.tx-modal-v156{
    width:min(540px,calc(100vw - 36px))!important;
    max-width:540px!important;
  }
}

/* Tablet pequeno */
@media(max-width:699px){
  #txModal.modalbg{
    padding:8px!important;
    align-items:center!important;
  }
  #txModal #txModalCardV156.tx-modal-v156{
    width:min(540px,calc(100vw - 16px))!important;
    max-width:540px!important;
    max-height:calc(100dvh - 16px)!important;
    border-radius:14px!important;
  }
}

/* Celular: proporcional, sem apertar os campos */
@media(max-width:520px){
  #txModal.modalbg{
    padding:6px!important;
    align-items:flex-end!important;
  }
  #txModal #txModalCardV156.tx-modal-v156{
    width:calc(100vw - 12px)!important;
    max-width:none!important;
    max-height:96dvh!important;
    border-radius:14px 14px 8px 8px!important;
  }
  #txModal .tx-modal-header-v156{
    min-height:54px!important;
    padding:0 14px!important;
  }
  #txModal .tx-modal-title-v156 h2{font-size:17px!important}
  #txModal .tx-modal-body-v156{padding:14px!important}
  #txModal .tx-main-grid-v156{
    grid-template-columns:1fr!important;
    gap:11px!important;
  }
  #txModal .payment-method-grid-v156{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  #txModal .payment-method-v156{
    min-height:58px!important;
    font-size:10px!important;
  }
  #txModal .tx-radio-line-v156{
    gap:10px!important;
  }
  #txModal .tx-modal-actions-v156{
    gap:8px!important;
    margin-top:14px!important;
  }
}

/* V208 — fiel à referência: radios são a única interface visível de situação */
#txModal #txStatus{
  display:none!important;
}

/* Tipografia e proporções da referência */
#txModal #txModalCardV156.tx-modal-v156{
  width:min(538px,calc(100vw - 32px))!important;
  max-width:538px!important;
  font-family:Arial,Helvetica,sans-serif!important;
}
#txModal .tx-modal-header-v156{
  min-height:57px!important;
  height:57px!important;
  padding:0 19px!important;
}
#txModal .tx-modal-title-v156 h2{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:18px!important;
  font-weight:700!important;
  letter-spacing:0!important;
}
#txModal .tx-modal-body-v156{padding:19px!important}
#txModal .field label,
#txModal .tx-label-v156{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:11px!important;
  font-weight:400!important;
}
#txModal input,
#txModal select,
#txModal textarea,
#txModal button{
  font-family:Arial,Helvetica,sans-serif!important;
}
#txModal input,
#txModal select,
#txModal .money-input-wrap-v156,
#txModal .icon-input-wrap-v156{
  font-size:13px!important;
}
#txModal .tx-radio-line-v156 label{
  font-size:13px!important;
  font-weight:400!important;
}
#txModal .tx-cancel-v156,
#txModal .tx-submit-v156{
  font-size:13px!important;
  font-weight:600!important;
}

/* =========================================================
   V209 — SALDO BANCÁRIO NO DASHBOARD
   ========================================================= */
.dashboard-kpi-bank-balance-v209{
  border-left:3px solid #8b5e3c!important;
}
.dashboard-kpi-bank-balance-v209 #dashBankBalanceTotalV209{
  color:#8b5e3c!important;
}
.dashboard-bank-balance-v209{
  margin:16px 0 18px;
  padding:16px;
  border:1px solid #e7e9ee;
  border-radius:14px;
  background:var(--card,#fff);
  box-shadow:0 3px 12px rgba(15,23,42,.05);
}
.dashboard-bank-head-v209{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.dashboard-bank-head-v209 h3{
  margin:0 0 3px;
  font-size:14px;
}
.dashboard-bank-head-v209 small{
  color:#6b7280;
  font-size:10px;
}
.dashboard-bank-head-v209>strong{
  font-size:20px;
  white-space:nowrap;
}
.dashboard-bank-list-v209{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.dashboard-bank-item-v209{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
  padding:11px 12px;
  border:1px solid #eceef2;
  border-radius:10px;
  background:#fafafa;
}
.dashboard-bank-item-main-v209{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}
.dashboard-bank-item-icon-v209{
  width:31px;
  height:31px;
  min-width:31px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:#fff;
  border:1px solid #e4e4e7;
  font-size:13px;
}
.dashboard-bank-item-copy-v209{
  min-width:0;
}
.dashboard-bank-item-copy-v209 b{
  display:block;
  font-size:10px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dashboard-bank-item-copy-v209 small{
  display:block;
  margin-top:2px;
  font-size:8px;
  color:#71717a;
}
.dashboard-bank-item-v209>strong{
  font-size:11px;
  white-space:nowrap;
}
.dashboard-bank-empty-v209{
  grid-column:1/-1;
  padding:16px;
  border:1px dashed #d4d4d8;
  border-radius:10px;
  text-align:center;
  color:#71717a;
  font-size:10px;
}
.dark-mode .dashboard-bank-balance-v209{
  background:#181a1f;
  border-color:#30333a;
}
.dark-mode .dashboard-bank-item-v209{
  background:#202329;
  border-color:#30333a;
}
.dark-mode .dashboard-bank-item-icon-v209{
  background:#181a1f;
  border-color:#3a3d45;
}
.dark-mode .dashboard-bank-head-v209 small,
.dark-mode .dashboard-bank-item-copy-v209 small{
  color:#aeb2bb;
}
@media(max-width:900px){
  .dashboard-bank-list-v209{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:560px){
  .dashboard-bank-head-v209{
    display:block;
  }
  .dashboard-bank-head-v209>strong{
    display:block;
    margin-top:8px;
  }
  .dashboard-bank-list-v209{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   V211 — DASHBOARD COM HOVER, SOMBRA E ÍCONES
   Inspirado no comportamento visual do vídeo enviado.
   ========================================================= */

/* Movimento/sombra dos cards principais */
#page-dashboard .kpi,
#page-dashboard .dashboard-bank-balance-v209,
#page-dashboard .dashboard-analytics-v117 > *,
#page-dashboard .dashboard-section-card,
#page-dashboard .dashboard-command-panel + *{
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background-color .18s ease!important;
  will-change:transform;
}

@media (hover:hover) and (pointer:fine){
  #page-dashboard .kpi:hover,
  #page-dashboard .dashboard-bank-balance-v209:hover,
  #page-dashboard .dashboard-analytics-v117 > *:hover,
  #page-dashboard .dashboard-section-card:hover{
    transform:translateY(-3px)!important;
    box-shadow:
      0 8px 18px rgba(15,23,42,.08),
      3px 4px 8px rgba(15,23,42,.045)!important;
  }
}

/* Ícone pequeno ao lado do título dos KPIs */
#page-dashboard .kpi > small:first-child,
#page-dashboard .kpi .dashboard-kpi-title-v211{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
}

.dashboard-kpi-icon-v211{
  width:24px;
  height:24px;
  min-width:24px;
  border-radius:7px;
  display:inline-grid;
  place-items:center;
  font-size:12px;
  line-height:1;
  background:#f4f6f8;
  color:#475467;
  border:1px solid rgba(15,23,42,.045);
}

/* cores sutis por contexto */
.dashboard-kpi-icon-v211.revenue{background:#e9fbf1;color:#079455}
.dashboard-kpi-icon-v211.expense{background:#fff0f1;color:#e11d48}
.dashboard-kpi-icon-v211.bank{background:#eef4ff;color:#2563eb}
.dashboard-kpi-icon-v211.period{background:#f4efff;color:#7c3aed}
.dashboard-kpi-icon-v211.saving{background:#f5f2eb;color:#7d5336}
.dashboard-kpi-icon-v211.total{background:#eefbf7;color:#0f766e}
.dashboard-kpi-icon-v211.average{background:#f2f4f7;color:#344054}
.dashboard-kpi-icon-v211.profit{background:#ecfdf3;color:#15803d}

/* leve movimento do ícone junto do hover */
@media (hover:hover) and (pointer:fine){
  #page-dashboard .kpi:hover .dashboard-kpi-icon-v211{
    transform:translateX(1px) scale(1.03);
  }
}
.dashboard-kpi-icon-v211{
  transition:transform .18s ease,box-shadow .18s ease;
}

/* Protege mobile: sem "pular" ao tocar */
@media(max-width:700px){
  #page-dashboard .kpi,
  #page-dashboard .dashboard-bank-balance-v209,
  #page-dashboard .dashboard-analytics-v117 > *{
    transform:none!important;
  }
}

/* Modo escuro */
.dark-mode .dashboard-kpi-icon-v211{
  background:#252830;
  border-color:#343844;
}
.dark-mode .dashboard-kpi-icon-v211.revenue{background:#173629;color:#74d69a}
.dark-mode .dashboard-kpi-icon-v211.expense{background:#3b2027;color:#ff9cab}
.dark-mode .dashboard-kpi-icon-v211.bank{background:#1d2d4a;color:#8db8ff}
.dark-mode .dashboard-kpi-icon-v211.period{background:#302246;color:#c6a5ff}
.dark-mode .dashboard-kpi-icon-v211.saving{background:#3b2b1c;color:#ffb06a}
.dark-mode .dashboard-kpi-icon-v211.total{background:#173633;color:#78d8c7}
.dark-mode .dashboard-kpi-icon-v211.average{background:#292d35;color:#d0d5dd}
.dark-mode .dashboard-kpi-icon-v211.profit{background:#183324;color:#8ee2a8}

/* =========================================================
   V212 — SALDOS CORRIGIDOS E PRIVACIDADE
   ========================================================= */
.bank-balance-head-v212{
  display:grid;
  grid-template-columns:minmax(0,1fr) 28px;
  align-items:center;
  gap:8px;
  margin-bottom:6px;
}
.bank-balance-head-v212 small{
  margin:0!important;
}
.bank-balance-eye-v212{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  color:#98a2b3!important;
  display:grid!important;
  place-items:center!important;
  font-size:12px!important;
  cursor:pointer!important;
}
.bank-balance-eye-v212:hover{
  background:rgba(15,23,42,.04)!important;
  color:#475467!important;
}
.dark-mode .bank-balance-eye-v212{
  color:#aeb2bb!important;
}
.dashboard-kpi-revenue-v119 #dashPeriodRevenue.negative-v212{
  color:#dc2626!important;
}

/* =========================================================
   V213 — DASHBOARD: CÁLCULO SEM DUPLICIDADE + VISUAL PADRÃO
   ========================================================= */

/* TODOS os títulos dos cards em negrito */
#page-dashboard .kpi small:first-child,
#page-dashboard .dashboard-kpi-title-v211,
#page-dashboard .dashboard-sensitive-head-v210 small,
#page-dashboard .period-balance-head-v155 small,
#page-dashboard .bank-balance-head-v212 small{
  font-weight:800!important;
  letter-spacing:.01em!important;
}

/* Todos os KPIs recebem movimento e sombra suave */
#page-dashboard .kpi{
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease!important;
}
@media (hover:hover) and (pointer:fine){
  #page-dashboard .kpi:hover{
    transform:translateY(-3px)!important;
    box-shadow:
      0 8px 18px rgba(15,23,42,.08),
      3px 4px 8px rgba(15,23,42,.045)!important;
  }
}

/* Ícone padronizado para TODOS os títulos */
.dashboard-kpi-icon-v213{
  width:24px;
  height:24px;
  min-width:24px;
  border-radius:7px;
  display:inline-grid;
  place-items:center;
  font-size:12px;
  line-height:1;
  background:#f4f6f8;
  color:#475467;
  border:1px solid rgba(15,23,42,.05);
  transition:transform .18s ease;
}
@media (hover:hover) and (pointer:fine){
  #page-dashboard .kpi:hover .dashboard-kpi-icon-v213{
    transform:translateX(1px) scale(1.04);
  }
}

.dashboard-kpi-icon-v213.consolidated{background:#eef4ff;color:#2563eb}
.dashboard-kpi-icon-v213.revenue{background:#e9fbf1;color:#079455}
.dashboard-kpi-icon-v213.expense{background:#fff0f1;color:#e11d48}
.dashboard-kpi-icon-v213.saving{background:#f5f2eb;color:#7d5336}
.dashboard-kpi-icon-v213.bank{background:#eef4ff;color:#2563eb}
.dashboard-kpi-icon-v213.total{background:#eefbf7;color:#0f766e}
.dashboard-kpi-icon-v213.average{background:#f2f4f7;color:#344054}
.dashboard-kpi-icon-v213.generic{background:#f5f3ff;color:#7c3aed}

/* Garante alinhamento de todos os cabeçalhos */
#page-dashboard .kpi small:first-child,
#page-dashboard .dashboard-kpi-title-v213{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
}

.dark-mode .dashboard-kpi-icon-v213{
  background:#252830;
  border-color:#343844;
}
.dark-mode .dashboard-kpi-icon-v213.consolidated,
.dark-mode .dashboard-kpi-icon-v213.bank{background:#1d2d4a;color:#8db8ff}
.dark-mode .dashboard-kpi-icon-v213.revenue{background:#173629;color:#74d69a}
.dark-mode .dashboard-kpi-icon-v213.expense{background:#3b2027;color:#ff9cab}
.dark-mode .dashboard-kpi-icon-v213.saving{background:#3b2b1c;color:#ffb06a}
.dark-mode .dashboard-kpi-icon-v213.total{background:#173633;color:#78d8c7}
.dark-mode .dashboard-kpi-icon-v213.average{background:#292d35;color:#d0d5dd}
.dark-mode .dashboard-kpi-icon-v213.generic{background:#302246;color:#c6a5ff}

@media(max-width:700px){
  #page-dashboard .kpi:hover{
    transform:none!important;
  }
}

/* V214 — títulos realmente em negrito + ícones realmente visíveis */
#page-dashboard .kpi small.dashboard-title-v214,
#page-dashboard .kpi small.dashboard-title-v214 > span:last-child{
  font-weight:800!important;
  font-family:Arial,Helvetica,sans-serif!important;
}
#page-dashboard .kpi small.dashboard-title-v214{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  line-height:1.15!important;
}
.dashboard-kpi-icon-v214{
  width:25px!important;height:25px!important;min-width:25px!important;
  display:inline-grid!important;place-items:center!important;
  border-radius:7px!important;font-size:13px!important;font-weight:800!important;
  border:1px solid rgba(15,23,42,.06)!important;
}
.dashboard-kpi-icon-v214.consolidated{background:#eef4ff!important;color:#2563eb!important}
.dashboard-kpi-icon-v214.revenue{background:#e9fbf1!important;color:#079455!important}
.dashboard-kpi-icon-v214.expense{background:#fff0f1!important;color:#e11d48!important}
.dashboard-kpi-icon-v214.saving{background:#f5f2eb!important;color:#7d5336!important}
.dashboard-kpi-icon-v214.bank{background:#eef4ff!important;color:#2563eb!important}
.dashboard-kpi-icon-v214.total{background:#eefbf7!important;color:#0f766e!important}
.dashboard-kpi-icon-v214.average{background:#f2f4f7!important;color:#344054!important}
.dashboard-kpi-icon-v214.generic{background:#f5f3ff!important;color:#7c3aed!important}

/* hover solicitado */
#page-dashboard .kpi{transition:transform .18s ease,box-shadow .18s ease!important}
@media(hover:hover) and (pointer:fine){
 #page-dashboard .kpi:hover{
   transform:translateY(-4px)!important;
   box-shadow:0 9px 20px rgba(15,23,42,.09),4px 5px 9px rgba(15,23,42,.05)!important;
 }
}

/* V216 — sino real + badge de não lidas */
.notification-bell-svg-v216{
  width:17px!important;height:17px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
#notificationBellBtn{
  display:grid!important;
  place-items:center!important;
}
#notificationBellBtn .notification-unread.hidden{
  display:none!important;
}

/* =========================================================
   V217 — DASHBOARD: NEGRITO E ÍCONES CORRIGIDOS DE VERDADE
   ========================================================= */
#page-dashboard .kpi .dashboard-title-v217{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  font-weight:800!important;
  font-family:Arial,Helvetica,sans-serif!important;
  color:#344054!important;
  line-height:1.15!important;
  text-transform:uppercase!important;
}
#page-dashboard .kpi .dashboard-title-v217 .dashboard-title-text-v217{
  font-weight:800!important;
}
.dashboard-icon-v217{
  width:25px!important;
  height:25px!important;
  min-width:25px!important;
  border-radius:7px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1!important;
  border:1px solid rgba(15,23,42,.05)!important;
}
.dashboard-icon-v217 svg{
  width:15px!important;height:15px!important;
  fill:none!important;stroke:currentColor!important;
  stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important;
}
.dashboard-icon-v217.consolidated{background:#f1e9ff!important;color:#7c3aed!important}
.dashboard-icon-v217.revenue{background:#e8faef!important;color:#079455!important}
.dashboard-icon-v217.expense{background:#fff0f2!important;color:#e11d48!important}
.dashboard-icon-v217.saving{background:#f5f2eb!important;color:#7d5336!important}
.dashboard-icon-v217.bank{background:#eaf2ff!important;color:#2563eb!important}
.dashboard-icon-v217.total{background:#e8faf4!important;color:#059669!important}
.dashboard-icon-v217.average{background:#f2f4f7!important;color:#344054!important}
.dashboard-icon-v217.generic{background:#f4f3ff!important;color:#6941c6!important}

.dark-mode #page-dashboard .kpi .dashboard-title-v217{color:#f2f4f7!important}

/* Hover permanece em todos os cards */
#page-dashboard .kpi{
  transition:transform .18s ease,box-shadow .18s ease!important;
}
@media(hover:hover) and (pointer:fine){
  #page-dashboard .kpi:hover{
    transform:translateY(-4px)!important;
    box-shadow:0 9px 20px rgba(15,23,42,.10),4px 5px 9px rgba(15,23,42,.05)!important;
  }
}

/* =========================================================
   V218 — DASHBOARD REAL: page-dashboardexec
   ========================================================= */
#page-dashboardexec .dashboard-real-title-v218{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 0 8px!important;
  color:#344054!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1.15!important;
  letter-spacing:.01em!important;
  text-transform:uppercase!important;
}
#page-dashboardexec .dashboard-real-title-v218 > span:last-child{
  font-weight:800!important;
}
#page-dashboardexec .dashboard-real-icon-v218{
  width:25px!important;
  height:25px!important;
  min-width:25px!important;
  border-radius:7px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(15,23,42,.05)!important;
  box-sizing:border-box!important;
}
#page-dashboardexec .dashboard-real-icon-v218 svg{
  width:15px!important;
  height:15px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
#page-dashboardexec .dashboard-real-icon-v218.consolidated{background:#f1e9ff!important;color:#7c3aed!important}
#page-dashboardexec .dashboard-real-icon-v218.revenue{background:#e8faef!important;color:#079455!important}
#page-dashboardexec .dashboard-real-icon-v218.expense{background:#fff0f2!important;color:#e11d48!important}
#page-dashboardexec .dashboard-real-icon-v218.saving{background:#f5f2eb!important;color:#7d5336!important}
#page-dashboardexec .dashboard-real-icon-v218.bank{background:#eaf2ff!important;color:#2563eb!important}
#page-dashboardexec .dashboard-real-icon-v218.total{background:#e8faf4!important;color:#059669!important}

/* Period head needs 3 columns: icon / title / eye */
#page-dashboardexec .period-balance-head-v155{
  grid-template-columns:25px minmax(0,1fr) 28px!important;
  gap:8px!important;
}
#page-dashboardexec .period-balance-head-v155 .dashboard-real-title-v218{
  margin:0!important;
}

/* Bank head: title with icon + eye */
#page-dashboardexec .bank-balance-head-v212{
  grid-template-columns:minmax(0,1fr) 28px!important;
  align-items:center!important;
}
#page-dashboardexec .bank-balance-head-v212 .dashboard-real-title-v218{
  margin:0!important;
}

/* Real hover */
#page-dashboardexec .dashboard-extended-kpis .kpi{
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
  will-change:transform;
}
@media(hover:hover) and (pointer:fine){
  #page-dashboardexec .dashboard-extended-kpis .kpi:hover{
    transform:translateY(-4px)!important;
    box-shadow:0 10px 22px rgba(15,23,42,.10),4px 5px 10px rgba(15,23,42,.05)!important;
  }
  #page-dashboardexec .dashboard-extended-kpis .kpi:hover .dashboard-real-icon-v218{
    transform:translateX(1px) scale(1.04)!important;
  }
}
#page-dashboardexec .dashboard-real-icon-v218{
  transition:transform .18s ease!important;
}

.dark-mode #page-dashboardexec .dashboard-real-title-v218{
  color:#f2f4f7!important;
}
@media(max-width:700px){
  #page-dashboardexec .dashboard-extended-kpis .kpi:hover{
    transform:none!important;
  }
}

/* =========================================================
   V219 — MODO NOTURNO COMPLETO E SEGURO
   ========================================================= */

/* Base */
.dark-mode,
.dark-mode body,
body.dark-mode{
  background:#0f1115!important;
  color:#f3f4f6!important;
}
.dark-mode #appScreen,
.dark-mode .app,
.dark-mode main,
.dark-mode .main,
.dark-mode .content,
.dark-mode .page,
.dark-mode .page-content{
  background:#111318!important;
  color:#f3f4f6!important;
}

/* Topo */
.dark-mode .topbar,
.dark-mode .topbar-v158,
.dark-mode header,
.dark-mode .app-header,
.dark-mode .header{
  background:#15181e!important;
  color:#f8fafc!important;
  border-color:#2a2f38!important;
}
.dark-mode .topbar *,
.dark-mode .topbar-v158 *,
.dark-mode header *,
.dark-mode .app-header *,
.dark-mode .header *{
  color:inherit;
}

/* Sidebar */
.dark-mode .sidebar,
.dark-mode aside,
.dark-mode .menu,
.dark-mode .sidebar-modern{
  background:#15171b!important;
  color:#f3f4f6!important;
  border-color:#2a2d33!important;
}
.dark-mode .sidebar button,
.dark-mode .sidebar a,
.dark-mode aside button,
.dark-mode aside a{
  color:#e5e7eb!important;
}
.dark-mode .sidebar button:hover,
.dark-mode .sidebar a:hover,
.dark-mode aside button:hover,
.dark-mode aside a:hover,
.dark-mode .sidebar button.active,
.dark-mode .sidebar a.active{
  background:#23272e!important;
  color:#fff!important;
}

/* Cards e painéis */
.dark-mode .card,
.dark-mode .kpi,
.dark-mode .panel,
.dark-mode .box,
.dark-mode .dashboard-bank-balance-v209,
.dark-mode .dashboard-analytics-v117 > *,
.dark-mode .dashboard-section-card,
.dark-mode .modal,
.dark-mode .modal-card,
.dark-mode .tx-modal-v156{
  background:#191c21!important;
  color:#f4f4f5!important;
  border-color:#30343b!important;
  box-shadow:none;
}
.dark-mode .kpi:hover,
.dark-mode .card:hover{
  box-shadow:0 10px 22px rgba(0,0,0,.28),4px 5px 10px rgba(0,0,0,.18)!important;
}

/* Textos — impedir desaparecimento */
.dark-mode h1,
.dark-mode h2,
.dark-mode h3,
.dark-mode h4,
.dark-mode h5,
.dark-mode h6,
.dark-mode label,
.dark-mode th,
.dark-mode td,
.dark-mode p,
.dark-mode span,
.dark-mode small,
.dark-mode b,
.dark-mode strong,
.dark-mode em{
  color:inherit;
}
.dark-mode .sub,
.dark-mode .muted,
.dark-mode small,
.dark-mode .help,
.dark-mode .helper,
.dark-mode .account-help-v163{
  color:#aeb4be!important;
}

/* Inputs */
.dark-mode input,
.dark-mode select,
.dark-mode textarea,
.dark-mode .money-input-wrap-v156,
.dark-mode .icon-input-wrap-v156{
  background:#16191e!important;
  color:#f8fafc!important;
  border-color:#3a404a!important;
}
.dark-mode input::placeholder,
.dark-mode textarea::placeholder{
  color:#7f8793!important;
  opacity:1!important;
}
.dark-mode select option{
  background:#16191e!important;
  color:#f8fafc!important;
}

/* Tabelas */
.dark-mode table{
  background:#191c21!important;
  color:#f4f4f5!important;
}
.dark-mode thead,
.dark-mode th{
  background:#20242b!important;
  color:#f8fafc!important;
}
.dark-mode td{
  border-color:#30343b!important;
}
.dark-mode tbody tr:hover{
  background:#20242a!important;
}

/* Botões claros do topo */
.dark-mode .top-icon-v158,
.dark-mode .btn,
.dark-mode button{
  border-color:#3a404a;
}
.dark-mode .top-icon-v158{
  background:#20242b!important;
  color:#f3f4f6!important;
}
.dark-mode .top-icon-v158:hover{
  background:#2a2f37!important;
}

/* Dashboard hero laranja: reduz brilho sem perder identidade */
.dark-mode .dashboard-command-panel{
  background:linear-gradient(112deg,#b74308 0%,#c94f08 58%,#b95b0a 100%)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(0,0,0,.20)!important;
}
.dark-mode .dashboard-command-panel *,
.dark-mode #dashboardGreeting,
.dark-mode #dashboardTodayLabel{
  color:#fff!important;
}

/* Dashboard real */
.dark-mode #page-dashboardexec{
  background:#111318!important;
}
.dark-mode #page-dashboardexec .dashboard-real-title-v218,
.dark-mode #page-dashboardexec .dashboard-real-title-v218 > span:last-child{
  color:#f5f7fa!important;
  font-weight:800!important;
}
.dark-mode #page-dashboardexec .dashboard-extended-kpis .kpi{
  background:#1b1f25!important;
  border-color:#30343b!important;
}

/* Ícones do Dashboard permanecem visíveis */
.dark-mode #page-dashboardexec .dashboard-real-icon-v218.consolidated{background:#2f2544!important;color:#c7a7ff!important}
.dark-mode #page-dashboardexec .dashboard-real-icon-v218.revenue{background:#173729!important;color:#7de1a4!important}
.dark-mode #page-dashboardexec .dashboard-real-icon-v218.expense{background:#3c2028!important;color:#ff9cac!important}
.dark-mode #page-dashboardexec .dashboard-real-icon-v218.saving{background:#3c2b1b!important;color:#ffb36d!important}
.dark-mode #page-dashboardexec .dashboard-real-icon-v218.bank{background:#1d2d4b!important;color:#8ebaff!important}
.dark-mode #page-dashboardexec .dashboard-real-icon-v218.total{background:#163733!important;color:#7bdac8!important}

/* Cards bancários */
.dark-mode .dashboard-bank-item-v209{
  background:#20242a!important;
  border-color:#30343b!important;
}
.dark-mode .dashboard-bank-item-icon-v209{
  background:#181b20!important;
  border-color:#3b4048!important;
  color:#e5e7eb!important;
}

/* Modal transações */
.dark-mode #txModal #txModalCardV156{
  background:#191c21!important;
  color:#f3f4f6!important;
}
.dark-mode #txModal .tx-modal-header-v156{
  color:#fff!important;
}
.dark-mode #txModal .tx-modal-body-v156{
  background:#191c21!important;
}
.dark-mode #txModal .payment-method-v156:not(.active){
  background:#23272e!important;
  color:#d8dde5!important;
  border-color:#343941!important;
}

/* Dropdowns/drawers/notificações */
.dark-mode .notification-drawer,
.dark-mode #notificationDrawer,
.dark-mode .dropdown,
.dark-mode .popover{
  background:#1a1d23!important;
  color:#f4f4f5!important;
  border-color:#32363e!important;
}
.dark-mode .notification-item{
  border-color:#30343b!important;
}
.dark-mode .notification-item:hover{
  background:#23272e!important;
}

/* Scrollbar */
.dark-mode ::-webkit-scrollbar-track{background:#111318}
.dark-mode ::-webkit-scrollbar-thumb{background:#3a3f48;border-radius:10px}
.dark-mode ::-webkit-scrollbar-thumb:hover{background:#4a505b}

/* Logo/textos específicos que costumavam sumir */
.dark-mode .brand,
.dark-mode .brand-name,
.dark-mode .logo-text,
.dark-mode .company-name,
.dark-mode .user-name{
  color:#fff!important;
}

/* Preserva cores semânticas */
.dark-mode .positive,
.dark-mode .good,
.dark-mode .success{color:#79dfa1!important}
.dark-mode .negative,
.dark-mode .bad,
.dark-mode .danger{color:#ff8f9a!important}
.dark-mode .warn,
.dark-mode .warning{color:#f6b768!important}

/* V220 — cartões e ações dos boletos sempre visíveis */
#page-boletos .boleto-cards-grid-v107{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  min-height:80px!important;
  visibility:visible!important;
  opacity:1!important;
}
#page-boletos .boleto-card-v220{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.boleto-description-v220{
  margin:2px 0 5px;
  font-size:12px;
  color:#667085;
}
.boleto-unit-v220{
  margin-top:5px;
  font-size:11px;
  color:#667085;
}
.boleto-actions-v220{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:14px!important;
}
.boleto-actions-v220 .btn{
  min-height:36px!important;
  padding:8px 13px!important;
  border-radius:8px!important;
  font-size:11px!important;
  font-weight:700!important;
}
.boleto-pay-text-v220{
  background:#16a34a!important;
  color:#fff!important;
  border-color:#16a34a!important;
}
.dark-mode .boleto-description-v220,
.dark-mode .boleto-unit-v220{
  color:#aeb4be!important;
}
.dark-mode #page-boletos .boleto-card-v220{
  background:#191c21!important;
  color:#f4f4f5!important;
  border-color:#30343b!important;
}
@media(max-width:900px){
  #page-boletos .boleto-cards-grid-v107{grid-template-columns:1fr!important}
}

/* =========================================================
   V221 — DESIGN DOS BOLETOS ORGANIZADO
   ========================================================= */
#page-boletos .boleto-cards-grid-v107{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
}

#page-boletos .boleto-card-v220{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:245px!important;
  padding:18px!important;
  border:1px solid #e5e7eb!important;
  border-left:3px solid #f59e0b!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 3px 10px rgba(15,23,42,.05)!important;
  overflow:hidden!important;
}

#page-boletos .boleto-card-v220.pago{
  border-left-color:#16a34a!important;
}
#page-boletos .boleto-card-v220.vencido{
  border-left-color:#ef4444!important;
}

#page-boletos .boleto-card-top-v107{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:12px!important;
  margin-bottom:14px!important;
}

#page-boletos .boleto-card-top-v107 h3{
  margin:0 0 4px!important;
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:700!important;
  color:#111827!important;
}

#page-boletos .boleto-description-v220{
  margin:0 0 5px!important;
  font-size:11px!important;
  color:#667085!important;
}

#page-boletos .boleto-category-v107{
  margin:0!important;
  font-size:10px!important;
  color:#475467!important;
  text-transform:uppercase!important;
  letter-spacing:.02em!important;
}

#page-boletos .boleto-status-pill-v107{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:24px!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  font-size:9px!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
#page-boletos .boleto-status-pill-v107.pendente{
  background:#fff4ce!important;color:#a15c00!important;
}
#page-boletos .boleto-status-pill-v107.pago{
  background:#dcfce7!important;color:#15803d!important;
}
#page-boletos .boleto-status-pill-v107.vencido{
  background:#fee2e2!important;color:#b91c1c!important;
}

#page-boletos .boleto-amount-v107{
  margin:2px 0 14px!important;
  font-size:24px!important;
  line-height:1!important;
  font-weight:700!important;
  color:#111827!important;
}

#page-boletos .boleto-due-v107,
#page-boletos .boleto-account-v114,
#page-boletos .boleto-unit-v220{
  margin:4px 0!important;
  font-size:11px!important;
  line-height:1.35!important;
  color:#475467!important;
}

#page-boletos .boleto-actions-v220{
  display:grid!important;
  grid-template-columns:1fr 1fr 1fr!important;
  gap:8px!important;
  margin-top:auto!important;
  padding-top:14px!important;
  border-top:1px solid #eaecf0!important;
}

#page-boletos .boleto-actions-v220 .btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:38px!important;
  height:38px!important;
  padding:0 10px!important;
  border-radius:8px!important;
  font-size:11px!important;
  font-weight:700!important;
  white-space:nowrap!important;
  visibility:visible!important;
  opacity:1!important;
}

#page-boletos .boleto-pay-text-v220{
  background:#16a34a!important;
  color:#fff!important;
  border:1px solid #16a34a!important;
}
#page-boletos .boleto-pay-text-v220:hover{
  background:#15803d!important;
}

#page-boletos .boleto-edit-text-v220{
  background:#fff!important;
  color:#344054!important;
  border:1px solid #d0d5dd!important;
}
#page-boletos .boleto-edit-text-v220:hover{
  background:#f8fafc!important;
  border-color:#98a2b3!important;
}

#page-boletos .boleto-delete-text-v220{
  background:#fff!important;
  color:#dc2626!important;
  border:1px solid #fecaca!important;
}
#page-boletos .boleto-delete-text-v220:hover{
  background:#fef2f2!important;
  border-color:#fca5a5!important;
}

/* modo escuro */
.dark-mode #page-boletos .boleto-card-v220{
  background:#191c21!important;
  border-color:#30343b!important;
  border-left-color:#f59e0b!important;
}
.dark-mode #page-boletos .boleto-card-top-v107 h3,
.dark-mode #page-boletos .boleto-amount-v107{
  color:#f8fafc!important;
}
.dark-mode #page-boletos .boleto-description-v220,
.dark-mode #page-boletos .boleto-category-v107,
.dark-mode #page-boletos .boleto-due-v107,
.dark-mode #page-boletos .boleto-account-v114,
.dark-mode #page-boletos .boleto-unit-v220{
  color:#b8c0cc!important;
}
.dark-mode #page-boletos .boleto-actions-v220{
  border-top-color:#30343b!important;
}
.dark-mode #page-boletos .boleto-edit-text-v220{
  background:#20242a!important;
  color:#f3f4f6!important;
  border-color:#3a404a!important;
}
.dark-mode #page-boletos .boleto-delete-text-v220{
  background:#2a1f21!important;
  color:#ff9ca5!important;
  border-color:#563137!important;
}

@media(max-width:900px){
  #page-boletos .boleto-cards-grid-v107{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:520px){
  #page-boletos .boleto-card-v220{
    padding:14px!important;
    min-height:230px!important;
  }
  #page-boletos .boleto-actions-v220{
    grid-template-columns:1fr!important;
  }
}

/* =========================================================
   V222 — DESIGN DE FORNECEDORES
   ========================================================= */
#page-fornecedores #supplierList{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  margin-top:14px!important;
  min-height:90px!important;
  visibility:visible!important;
  opacity:1!important;
}
.supplier-card-v222{
  display:flex!important;
  flex-direction:column!important;
  min-height:260px!important;
  padding:18px!important;
  border:1px solid #e5e7eb!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 3px 10px rgba(15,23,42,.05)!important;
}
.supplier-card-head-v222{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:14px!important;
}
.supplier-main-v222{
  display:flex!important;
  align-items:flex-start!important;
  gap:11px!important;
  min-width:0!important;
}
.supplier-avatar-v222{
  width:40px!important;height:40px!important;min-width:40px!important;
  border-radius:10px!important;
  display:grid!important;place-items:center!important;
  background:#f5f2eb!important;color:#8b5e3c!important;
  font-size:16px!important;font-weight:800!important;
}
.supplier-main-v222 h3{
  margin:1px 0 5px!important;
  font-size:15px!important;
  line-height:1.2!important;
  font-weight:700!important;
  color:#111827!important;
}
.supplier-meta-v222{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:5px 10px!important;
  font-size:10px!important;
  color:#667085!important;
}
.supplier-actions-v222{
  display:flex!important;
  gap:7px!important;
  flex-shrink:0!important;
}
.supplier-actions-v222 .btn{
  min-height:34px!important;
  padding:0 11px!important;
  border-radius:8px!important;
  font-size:10px!important;
  font-weight:700!important;
}
.supplier-edit-v222{
  background:#fff!important;
  color:#344054!important;
  border:1px solid #d0d5dd!important;
}
.supplier-delete-v222{
  background:#fff!important;
  color:#dc2626!important;
  border:1px solid #fecaca!important;
}
.supplier-metrics-v222{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
  margin:16px 0 12px!important;
}
.supplier-metrics-v222>div{
  padding:11px!important;
  border:1px solid #eaecf0!important;
  border-radius:9px!important;
  background:#fafafa!important;
}
.supplier-metrics-v222 small{
  display:block!important;
  margin-bottom:5px!important;
  font-size:9px!important;
  color:#667085!important;
}
.supplier-metrics-v222 b{
  display:block!important;
  font-size:13px!important;
  color:#111827!important;
}
.supplier-paid-v222{color:#15803d!important}
.supplier-notes-v222{
  margin:2px 0 12px!important;
  padding:9px 10px!important;
  border-radius:8px!important;
  background:#f8fafc!important;
  color:#667085!important;
  font-size:10px!important;
}
.supplier-history-btn-v222{
  margin-top:auto!important;
  min-height:37px!important;
  width:100%!important;
  border:1px solid #e5e7eb!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#344054!important;
  font-size:10px!important;
  font-weight:700!important;
  cursor:pointer!important;
}
.supplier-history-btn-v222:hover{
  background:#f8fafc!important;
  border-color:#cfd4dc!important;
}
.supplier-empty-v222{
  grid-column:1/-1!important;
  padding:30px!important;
  border:1px dashed #d0d5dd!important;
  border-radius:12px!important;
  background:#fff!important;
  text-align:center!important;
  color:#667085!important;
  font-size:12px!important;
}

/* Dark mode */
.dark-mode .supplier-card-v222{
  background:#191c21!important;
  border-color:#30343b!important;
}
.dark-mode .supplier-main-v222 h3,
.dark-mode .supplier-metrics-v222 b{
  color:#f8fafc!important;
}
.dark-mode .supplier-meta-v222,
.dark-mode .supplier-metrics-v222 small,
.dark-mode .supplier-notes-v222{
  color:#b6bdc8!important;
}
.dark-mode .supplier-metrics-v222>div{
  background:#20242a!important;
  border-color:#30343b!important;
}
.dark-mode .supplier-notes-v222{
  background:#20242a!important;
}
.dark-mode .supplier-edit-v222,
.dark-mode .supplier-history-btn-v222{
  background:#20242a!important;
  color:#f3f4f6!important;
  border-color:#3a404a!important;
}
.dark-mode .supplier-delete-v222{
  background:#2a1f21!important;
  color:#ff9ca5!important;
  border-color:#563137!important;
}
@media(max-width:950px){
  #page-fornecedores #supplierList{grid-template-columns:1fr!important}
}
@media(max-width:600px){
  .supplier-card-v222{padding:14px!important}
  .supplier-card-head-v222{display:block!important}
  .supplier-actions-v222{margin-top:12px!important}
  .supplier-actions-v222 .btn{flex:1!important}
  .supplier-metrics-v222{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* V503 source 2: v225MobileFix */
/* =========================================================
   V225 — CORREÇÃO REAL DO MOBILE
   ========================================================= */
@media(max-width:760px){

  /* 1) SOMENTE UM BOTÃO DE MENU */
  #mobileMenuBtnV109{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  body.app-visible #mobileMenuBtn{
    display:grid!important;
    position:static!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #e4e7ec!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#20242b!important;
    box-shadow:0 2px 8px rgba(15,23,42,.05)!important;
    place-items:center!important;
    font-size:20px!important;
    line-height:1!important;
  }

  /* Topo real é .top.top-v158 */
  body.app-visible #appScreen.app>.main>.top.top-v158{
    display:grid!important;
    grid-template-columns:46px minmax(0,1fr) auto!important;
    grid-template-areas:
      "menu user user"
      "actions actions actions"!important;
    gap:10px 12px!important;
    align-items:center!important;
    min-height:auto!important;
    width:calc(100% + 16px)!important;
    margin:0 -8px 12px!important;
    padding:12px 12px!important;
    background:#fff!important;
    border-bottom:1px solid #eceff3!important;
    position:sticky!important;
    top:0!important;
    z-index:1500!important;
  }
  body.app-visible #mobileMenuBtn{grid-area:menu!important}
  body.app-visible .top-user-v158{
    grid-area:user!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    min-width:0!important;
  }
  body.app-visible .top-user-avatar-v158{
    width:48px!important;height:48px!important;min-width:48px!important;
    border-radius:14px!important;
    font-size:19px!important;
  }
  body.app-visible .top-user-copy-v158 b{
    display:block!important;
    font-size:16px!important;
    line-height:1.2!important;
    font-weight:800!important;
    color:#243047!important;
  }
  body.app-visible .top-user-copy-v158 small{
    display:block!important;
    margin-top:3px!important;
    font-size:10px!important;
    color:#667085!important;
  }
  body.app-visible .top-page-meta-v158,
  body.app-visible .top-search-v158,
  body.app-visible .top-exit-v158,
  body.app-visible #installAppBtn{
    display:none!important;
  }
  body.app-visible .top-actions-v158{
    grid-area:actions!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    margin:0!important;
    width:100%!important;
  }
  body.app-visible #nightModeToggle,
  body.app-visible #notificationBellBtn{
    width:44px!important;height:44px!important;min-width:44px!important;
    border-radius:11px!important;
    background:#fff!important;
    border:1px solid #e4e7ec!important;
    color:#344054!important;
  }
  body.app-visible #realtimeStatusBadge{
    display:inline-flex!important;
    min-height:40px!important;
    padding:0 12px!important;
    border-radius:999px!important;
  }
  body.app-visible .top-new-expense-v158,
  body.app-visible .top-actions-v158>.btn.primary,
  body.app-visible .top-actions-v158 button[onclick*="despesa"]{
    margin-left:auto!important;
  }

  /* 2) HERO LARANJA — impedir regra branca de sobrescrever */
  body.app-visible #page-dashboardexec .dashboard-command-panel,
  body.app-visible #page-dashboardexec .panel.dashboard-command-panel{
    display:block!important;
    min-height:0!important;
    height:auto!important;
    margin:0 0 14px!important;
    padding:20px 18px!important;
    border:0!important;
    border-radius:20px!important;
    background:linear-gradient(135deg,#2f3b33 0%,#3d4b41 100%)!important;
    background-color:#2f3b33!important;
    box-shadow:0 8px 20px rgba(24,35,29,.16)!important;
    color:#fff!important;
    overflow:visible!important;
  }

  body.app-visible #page-dashboardexec .dashboard-command-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:12px!important;
    align-items:start!important;
  }

  body.app-visible #page-dashboardexec #dashboardTodayLabel{
    display:block!important;
    color:#fff!important;
    opacity:.94!important;
    font-size:9px!important;
    font-weight:800!important;
    letter-spacing:.04em!important;
  }
  body.app-visible #page-dashboardexec #dashboardGreeting{
    display:block!important;
    color:#fff!important;
    font-size:28px!important;
    line-height:1.05!important;
    font-weight:800!important;
    margin:10px 0 0!important;
  }
  body.app-visible #page-dashboardexec .dashboard-company-only-badge{
    display:inline-flex!important;
    align-items:center!important;
    color:#fff!important;
    background:rgba(255,255,255,.14)!important;
    border:1px solid rgba(255,255,255,.30)!important;
    border-radius:10px!important;
    padding:8px 10px!important;
    font-size:10px!important;
  }

  /* CORREÇÃO DO GRID QUE QUEBROU O PERÍODO */
  body.app-visible #page-dashboardexec .dashboard-period-controls{
    display:block!important;
    grid-column:1/-1!important;
    width:100%!important;
    margin-top:18px!important;
  }
  body.app-visible #page-dashboardexec .dashboard-period-controls>label{
    display:block!important;
    color:#fff!important;
    font-size:11px!important;
    font-weight:700!important;
    margin-bottom:8px!important;
  }
  body.app-visible #page-dashboardexec #dashboardPeriodLabel{
    display:none!important;
  }
  body.app-visible #page-dashboardexec .dashboard-period-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 108px 50px!important;
    gap:9px!important;
    width:100%!important;
  }
  body.app-visible #page-dashboardexec #dashboardMonthFilter,
  body.app-visible #page-dashboardexec #dashboardYearFilter{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    min-width:0!important;
    height:52px!important;
    min-height:52px!important;
    padding:0 12px!important;
    border:0!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#344054!important;
    -webkit-text-fill-color:#344054!important;
    font-size:14px!important;
  }
  body.app-visible #page-dashboardexec .dashboard-custom-period-btn{
    display:grid!important;
    place-items:center!important;
    width:50px!important;
    min-width:50px!important;
    height:52px!important;
    min-height:52px!important;
    padding:0!important;
    border:0!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#f05b0a!important;
    font-size:0!important;
    overflow:hidden!important;
  }
  body.app-visible #page-dashboardexec .dashboard-custom-period-btn::before{
    content:'□'!important;
    display:block!important;
    font-size:18px!important;
    color:#f05b0a!important;
  }

  body.app-visible #page-dashboardexec .dashboard-command-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    margin-top:14px!important;
  }
  body.app-visible #page-dashboardexec .dashboard-command-actions .btn{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:52px!important;
    margin:0!important;
    border:0!important;
    border-radius:12px!important;
    background:#fff!important;
    font-size:14px!important;
    font-weight:800!important;
  }
  body.app-visible #page-dashboardexec .dashboard-command-actions .btn.primary{color:#16a34a!important}
  body.app-visible #page-dashboardexec .dashboard-command-actions .btn:not(.primary){color:#d13a2f!important}

  /* Painéis comuns brancos, EXCETO o hero */
  body.app-visible #page-dashboardexec .panel:not(.dashboard-command-panel),
  body.app-visible #page-dashboardexec .card,
  body.app-visible #page-dashboardexec .dashboard-bank-balance-v209,
  body.app-visible #page-dashboardexec .dashboard-section-card{
    background:#fff!important;
  }

  /* KPIs 2x2 */
  body.app-visible #page-dashboardexec .dashboard-extended-kpis{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }

  /* Notificação badge bem posicionado */
  body.app-visible #notificationBellBtn{
    position:relative!important;
  }
  body.app-visible #notificationUnreadBadge{
    position:absolute!important;
    top:-7px!important;
    right:-7px!important;
    min-width:22px!important;
    height:22px!important;
    padding:0 5px!important;
    border-radius:999px!important;
    background:#111!important;
    color:#fff!important;
    display:grid!important;
    place-items:center!important;
    font-size:10px!important;
    font-weight:800!important;
  }
  body.app-visible #notificationUnreadBadge.hidden{display:none!important}
}

@media(max-width:390px){
  body.app-visible #page-dashboardexec .dashboard-period-row{
    grid-template-columns:minmax(0,1fr) 94px 48px!important;
  }
  body.app-visible #page-dashboardexec #dashboardGreeting{font-size:25px!important}
}

/* V503 source 3: v226MenuSingleFix */
@media(max-width:760px){
  #mobileMenuBtnV109{display:none!important}
  #mobileMenuBtn{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
}

/* V503 source 4: v227MobileAppStability */
/* =========================================================
   V227 — MOBILE ESTÁVEL COMO APP (iPhone/Android)
   ========================================================= */
html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden!important;
  overscroll-behavior-x:none;
}
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  touch-action:pan-y;
}

/* iOS: evita zoom automático em campos menores que 16px */
@media(max-width:760px){
  input,
  select,
  textarea,
  button{
    font-size:16px!important;
  }

  /* Área útil considera barra inferior + safe area */
  body.app-visible{
    padding-bottom:calc(78px + env(safe-area-inset-bottom))!important;
  }

  #appScreen,
  #appScreen.app,
  #appScreen .main{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  /* Conteúdo nunca invade a barra fixa */
  #page-dashboardexec,
  .page{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    padding-bottom:calc(94px + env(safe-area-inset-bottom))!important;
  }

  /* Todas as visualizações/gráficos ficam dentro da largura */
  canvas,
  svg,
  .chart,
  .chart-wrap,
  .chart-container,
  .dashboard-chart,
  .analytics-chart,
  .cmv-chart{
    max-width:100%!important;
  }

  /* Tabelas/gráficos largos rolam só dentro do próprio bloco */
  .table-wrap,
  .chart-scroll,
  .horizontal-scroll{
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }

  /* BARRA INFERIOR 100% PRESA À TELA */
  .mobile-bottom-nav,
  .bottom-nav,
  .bottom-navigation,
  #mobileBottomNav,
  #bottomNav{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    top:auto!important;
    width:100vw!important;
    max-width:100vw!important;
    height:calc(72px + env(safe-area-inset-bottom))!important;
    min-height:calc(72px + env(safe-area-inset-bottom))!important;
    margin:0!important;
    padding:0 8px env(safe-area-inset-bottom)!important;
    transform:none!important;
    translate:none!important;
    z-index:2147483000!important;
    background:rgba(255,255,255,.98)!important;
    border-top:1px solid #e7eaf0!important;
    box-shadow:0 -6px 20px rgba(15,23,42,.08)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    align-items:start!important;
    overflow:visible!important;
    contain:layout paint;
  }

  .mobile-bottom-nav button,
  .bottom-nav button,
  .bottom-navigation button,
  #mobileBottomNav button,
  #bottomNav button{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    width:100%!important;
    min-width:0!important;
    height:64px!important;
    min-height:64px!important;
    margin:0!important;
    padding:7px 2px 4px!important;
    transform:none!important;
    border:0!important;
    background:transparent!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
    user-select:none!important;
    -webkit-user-select:none!important;
    font-size:11px!important;
  }

  /* Botão central pode subir visualmente, sem mover a barra */
  .mobile-bottom-nav .center-action,
  .bottom-nav .center-action,
  .bottom-navigation .center-action,
  .mobile-bottom-nav button:nth-child(3),
  .bottom-nav button:nth-child(3),
  .bottom-navigation button:nth-child(3){
    z-index:2!important;
  }
  .mobile-bottom-nav .center-action .icon,
  .bottom-nav .center-action .icon,
  .bottom-navigation .center-action .icon,
  .mobile-bottom-nav button:nth-child(3)>span:first-child,
  .bottom-nav button:nth-child(3)>span:first-child,
  .bottom-navigation button:nth-child(3)>span:first-child{
    transform:none!important;
  }

  /* Impede elementos flutuantes de empurrarem o layout */
  .floating-ai,
  .assistant-fab,
  .fab,
  .floating-button{
    position:fixed!important;
  }

  /* Cards e blocos nunca passam da tela */
  .panel,.card,.kpi,
  #page-dashboardexec .dashboard-command-panel,
  #page-dashboardexec .dashboard-extended-kpis{
    max-width:100%!important;
    min-width:0!important;
  }

  /* Evita seleção/zoom acidental em navegação */
  a,button,.mobile-bottom-nav,.bottom-nav,.bottom-navigation{
    -webkit-tap-highlight-color:transparent!important;
  }

  /* menu/hero estáveis */
  body.app-visible #appScreen.app>.main>.top.top-v158{
    position:sticky!important;
    top:0!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 12px!important;
    transform:none!important;
  }

  /* Modo escuro */
  .dark-mode .mobile-bottom-nav,
  .dark-mode .bottom-nav,
  .dark-mode .bottom-navigation,
  .dark-mode #mobileBottomNav,
  .dark-mode #bottomNav{
    background:rgba(23,26,32,.98)!important;
    border-top-color:#2d323a!important;
  }
}

/* V503 source 5: v228TopMobileFix */
@media(max-width:760px){
  /* Retira o status Online do topo mobile */
  body.app-visible #realtimeStatusBadge,
  body.app-visible .top-online-v158{
    display:none!important;
    visibility:hidden!important;
    width:0!important;
    height:0!important;
    min-width:0!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    overflow:hidden!important;
  }

  /* Topo mais limpo depois da remoção */
  body.app-visible .top-actions-v158{
    display:flex!important;
    width:100%!important;
    gap:9px!important;
    align-items:center!important;
  }
  body.app-visible #nightModeToggle{
    display:flex!important;
  }
  body.app-visible #notificationBellBtn{
    display:grid!important;
  }

  /* Foto real do usuário */
  body.app-visible #topUserAvatarV158{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    border-radius:14px!important;
    padding:0!important;
    overflow:hidden!important;
    background:#2f3b33!important;
  }
  body.app-visible #topUserAvatarV158 img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    border:0!important;
    border-radius:inherit!important;
  }
  body.app-visible #topUserAvatarV158.top-avatar-has-photo-v228{
    background:#eef0f3!important;
  }
}

/* V503 source 6: v229TopMobileAligned */
@media(max-width:760px){

  /* REMOVE O BOTÃO DE MENU DO TOPO */
  body.app-visible #mobileMenuBtn,
  body.app-visible #mobileMenuBtnV109,
  body.app-visible .mobile-menu-btn,
  body.app-visible .menu-toggle,
  body.app-visible .hamburger,
  body.app-visible .sidebar-toggle{
    display:none!important;
    visibility:hidden!important;
    width:0!important;
    height:0!important;
    min-width:0!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
  }

  /* TOPO GERAL */
  body.app-visible #appScreen.app>.main>.top.top-v158{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    grid-template-areas:
      "left user expense"!important;
    align-items:center!important;
    gap:12px!important;
    width:100%!important;
    min-height:94px!important;
    margin:0 0 12px!important;
    padding:14px 16px!important;
    background:#fff!important;
    border-bottom:1px solid #eceff3!important;
    position:sticky!important;
    top:0!important;
    z-index:1500!important;
  }

  /* MODO ESCURO + SININHO NO CANTO SUPERIOR ESQUERDO */
  body.app-visible .top-actions-v158{
    grid-area:left!important;
    display:grid!important;
    grid-template-columns:44px 44px!important;
    gap:8px!important;
    width:auto!important;
    margin:0!important;
    align-items:center!important;
  }

  body.app-visible #nightModeToggle,
  body.app-visible #notificationBellBtn{
    display:grid!important;
    place-items:center!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    padding:0!important;
    margin:0!important;
    border:1px solid #e4e7ec!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#344054!important;
    box-shadow:0 2px 8px rgba(15,23,42,.04)!important;
  }

  /* remove tudo que não deve ficar no grupo esquerdo */
  body.app-visible .top-actions-v158 > *:not(#nightModeToggle):not(#notificationBellBtn):not(.top-new-expense-v158):not(.btn.primary){
    display:none!important;
  }

  /* USUÁRIO CENTRALIZADO */
  body.app-visible .top-user-v158{
    grid-area:user!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    min-width:0!important;
    width:100%!important;
    text-align:left!important;
  }

  body.app-visible #topUserAvatarV158,
  body.app-visible .top-user-avatar-v158{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    border-radius:14px!important;
    flex:0 0 auto!important;
  }

  body.app-visible .top-user-copy-v158{
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }

  body.app-visible .top-user-copy-v158 b{
    display:block!important;
    margin:0!important;
    font-size:16px!important;
    line-height:1.15!important;
    font-weight:800!important;
    color:#243047!important;
    white-space:nowrap!important;
  }

  body.app-visible .top-user-copy-v158 small{
    display:block!important;
    margin-top:4px!important;
    font-size:10px!important;
    line-height:1.2!important;
    color:#667085!important;
    white-space:nowrap!important;
  }

  /* NOVA DESPESA NO LADO DIREITO */
  body.app-visible .top-new-expense-v158,
  body.app-visible .top-actions-v158>.btn.primary,
  body.app-visible .top-actions-v158 button[onclick*="despesa"]{
    grid-area:expense!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:146px!important;
    height:44px!important;
    padding:0 14px!important;
    margin:0!important;
    border-radius:12px!important;
    font-size:12px!important;
    font-weight:800!important;
    white-space:nowrap!important;
  }

  /* Como o botão está dentro de .top-actions-v158, reposiciona via fixed grid clone-like behavior */
  body.app-visible .top-actions-v158 .top-new-expense-v158,
  body.app-visible .top-actions-v158>.btn.primary,
  body.app-visible .top-actions-v158 button[onclick*="despesa"]{
    position:absolute!important;
    right:16px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
  }

  /* esconde itens que não pertencem ao topo mobile */
  body.app-visible .top-search-v158,
  body.app-visible .top-page-meta-v158,
  body.app-visible .top-exit-v158,
  body.app-visible #realtimeStatusBadge,
  body.app-visible #installAppBtn{
    display:none!important;
  }

  /* badge do sino */
  body.app-visible #notificationBellBtn{
    position:relative!important;
  }
  body.app-visible #notificationUnreadBadge{
    position:absolute!important;
    top:-7px!important;
    right:-7px!important;
    min-width:22px!important;
    height:22px!important;
    padding:0 5px!important;
    border-radius:999px!important;
    background:#111!important;
    color:#fff!important;
    display:grid!important;
    place-items:center!important;
    font-size:10px!important;
    font-weight:800!important;
  }
  body.app-visible #notificationUnreadBadge.hidden{
    display:none!important;
  }

  /* dark mode */
  .dark-mode body.app-visible #appScreen.app>.main>.top.top-v158{
    background:#171a20!important;
    border-bottom-color:#2a2e35!important;
  }
  .dark-mode body.app-visible #nightModeToggle,
  .dark-mode body.app-visible #notificationBellBtn{
    background:#20242a!important;
    border-color:#32363e!important;
    color:#f3f4f6!important;
  }
  .dark-mode body.app-visible .top-user-copy-v158 b{
    color:#fff!important;
  }
  .dark-mode body.app-visible .top-user-copy-v158 small{
    color:#aab2bd!important;
  }
}

@media(max-width:420px){
  body.app-visible #appScreen.app>.main>.top.top-v158{
    grid-template-columns:96px minmax(0,1fr) 126px!important;
    gap:8px!important;
    padding:12px 10px!important;
  }

  body.app-visible .top-actions-v158{
    grid-template-columns:42px 42px!important;
    gap:6px!important;
  }

  body.app-visible #nightModeToggle,
  body.app-visible #notificationBellBtn{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
  }

  body.app-visible #topUserAvatarV158,
  body.app-visible .top-user-avatar-v158{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
  }

  body.app-visible .top-user-copy-v158 b{
    font-size:14px!important;
  }

  body.app-visible .top-user-copy-v158 small{
    font-size:9px!important;
  }

  body.app-visible .top-actions-v158 .top-new-expense-v158,
  body.app-visible .top-actions-v158>.btn.primary,
  body.app-visible .top-actions-v158 button[onclick*="despesa"]{
    right:10px!important;
    min-width:126px!important;
    padding:0 10px!important;
    font-size:11px!important;
  }
}

/* V503 source 7: v231RealRedesign */
/* =========================================================
   V231 — REDESIGN REAL COMPLETO
   Base funcional V229 preservada
   ========================================================= */
:root{
  --v231-brand:#8b5e3c;
  --v231-brand-2:#7a5034;
  --v231-brand-soft:#eee9df;
  --v231-ink:#172033;
  --v231-muted:#697386;
  --v231-bg:#f5f7fa;
  --v231-card:#ffffff;
  --v231-line:#e6eaf0;
  --v231-line-2:#d6dce5;
  --v231-green:#12a05c;
  --v231-green-soft:#e9f8f0;
  --v231-red:#e23b42;
  --v231-red-soft:#fff0f1;
  --v231-blue:#377cf6;
  --v231-blue-soft:#edf4ff;
  --v231-purple:#7a4df5;
  --v231-purple-soft:#f2edff;
  --v231-amber:#e98a12;
  --v231-amber-soft:#fff5e6;
  --v231-radius:18px;
  --v231-shadow:0 7px 24px rgba(27,39,65,.065);
  --v231-shadow-hover:0 13px 34px rgba(27,39,65,.10);
}

html,body{background:var(--v231-bg)!important}
body{
  color:var(--v231-ink)!important;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
}
body.app-visible #appScreen{background:var(--v231-bg)!important}
body.app-visible #appScreen .main{background:transparent!important}

/* -------- DESKTOP: SIDEBAR + TOPO -------- */
@media(min-width:761px){
  .side{
    background:#15181d!important;
    border-right:1px solid #262b32!important;
    box-shadow:10px 0 30px rgba(15,23,42,.08)!important;
  }
  .side .brand,.side .logo,.side .nav-title{color:#fff!important}
  .side button,.side a{
    border-radius:10px!important;
    color:#c9d0da!important;
    transition:background .16s ease,color .16s ease,transform .16s ease!important;
  }
  .side button:hover,.side a:hover{
    background:#20242b!important;
    color:#fff!important;
    transform:translateX(2px)!important;
  }
  .side .active{
    background:linear-gradient(90deg,rgba(242,106,22,.19),rgba(242,106,22,.04))!important;
    color:#fff!important;
    border-left:3px solid var(--v231-brand)!important;
  }

  body.app-visible #appScreen.app>.main>.top.top-v158{
    background:rgba(255,255,255,.96)!important;
    border:1px solid var(--v231-line)!important;
    border-radius:0 0 16px 16px!important;
    box-shadow:0 5px 20px rgba(27,39,65,.045)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
  }
}

/* -------- TOPO REAL -------- */
.top-user-avatar-v158{
  box-shadow:0 4px 14px rgba(15,23,42,.10)!important;
  border:2px solid #fff!important;
}
.top-user-copy-v158 b{
  font-weight:800!important;
  color:var(--v231-ink)!important;
  letter-spacing:-.02em!important;
}
.top-user-copy-v158 small{color:var(--v231-muted)!important}

#nightModeToggle,#notificationBellBtn{
  background:#fff!important;
  border:1px solid var(--v231-line)!important;
  color:#344054!important;
  box-shadow:0 2px 7px rgba(27,39,65,.035)!important;
  transition:.16s ease!important;
}
#nightModeToggle:hover,#notificationBellBtn:hover{
  color:var(--v231-brand)!important;
  border-color:#f7bf98!important;
  background:var(--v231-brand-soft)!important;
}
#notificationUnreadBadge{
  background:#17191d!important;
  color:#fff!important;
  box-shadow:0 2px 6px rgba(0,0,0,.20)!important;
}

.top-new-expense-v158,#newBtn{
  border:0!important;
  background:#17191d!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(17,25,40,.16)!important;
  border-radius:12px!important;
  font-weight:800!important;
}
.top-new-expense-v158:hover,#newBtn:hover{
  background:#090b0e!important;
  transform:translateY(-1px)!important;
}

/* -------- DASHBOARD -------- */
#page-dashboardexec{
  padding:18px!important;
  background:transparent!important;
}

/* Hero redesenhado */
#page-dashboardexec>.dashboard-command-panel{
  position:relative!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:22px!important;
  padding:24px!important;
  background:
    radial-gradient(circle at 92% 0%,rgba(255,255,255,.20),transparent 26%),
    radial-gradient(circle at 3% 98%,rgba(255,193,141,.20),transparent 28%),
    linear-gradient(130deg,#8b5e3c 0%,#7a5034 54%,#243229 100%)!important;
  color:#fff!important;
  box-shadow:0 16px 34px rgba(221,75,8,.20)!important;
}
#page-dashboardexec>.dashboard-command-panel::after{
  content:"";
  position:absolute;right:-60px;bottom:-95px;width:230px;height:230px;
  border:34px solid rgba(255,255,255,.07);border-radius:50%;pointer-events:none;
}
#page-dashboardexec .dashboard-command-head{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:22px!important;
  align-items:start!important;
}
#page-dashboardexec #dashboardTodayLabel{
  color:rgba(255,255,255,.86)!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
}
#page-dashboardexec .dashboard-user-head{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
}
#page-dashboardexec .dashboard-user-avatar-shell{
  width:48px!important;height:48px!important;min-width:48px!important;
  border-radius:14px!important;
  border:1px solid rgba(255,255,255,.45)!important;
  background:rgba(255,255,255,.12)!important;
  overflow:hidden!important;
}
#page-dashboardexec .dashboard-user-avatar-img{
  width:100%!important;height:100%!important;object-fit:cover!important;
}
#page-dashboardexec .dashboard-user-avatar-fallback{
  width:100%!important;height:100%!important;
  display:grid!important;place-items:center!important;color:#fff!important;
}
#page-dashboardexec #dashboardGreeting{
  color:#fff!important;
  font-size:27px!important;
  font-weight:800!important;
  letter-spacing:-.035em!important;
  margin:0!important;
}
#page-dashboardexec .dashboard-company-only-badge{
  color:#fff!important;
  background:rgba(255,255,255,.13)!important;
  border:1px solid rgba(255,255,255,.30)!important;
  border-radius:11px!important;
  padding:9px 12px!important;
  backdrop-filter:blur(5px)!important;
}

/* período ocupa largura controlada, não quebra */
#page-dashboardexec .dashboard-period-controls{
  grid-column:1/-1!important;
  width:100%!important;
  margin-top:18px!important;
}
#page-dashboardexec .dashboard-period-controls>label{
  color:#fff!important;font-weight:800!important;font-size:11px!important;
}
#page-dashboardexec #dashboardPeriodLabel{
  color:rgba(255,255,255,.76)!important;
  display:block!important;margin:3px 0 8px!important;
}
#page-dashboardexec .dashboard-period-row{
  display:grid!important;
  grid-template-columns:minmax(190px,1fr) 130px 150px!important;
  gap:10px!important;
  max-width:650px!important;
}
#page-dashboardexec #dashboardMonthFilter,
#page-dashboardexec #dashboardYearFilter,
#page-dashboardexec .dashboard-custom-period-btn{
  height:46px!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#344054!important;
  border:1px solid rgba(255,255,255,.70)!important;
  box-shadow:0 4px 12px rgba(112,42,5,.09)!important;
}
#page-dashboardexec .dashboard-custom-period-btn{
  color:var(--v231-brand-2)!important;font-weight:800!important;
}
#page-dashboardexec .dashboard-command-actions{
  position:relative!important;z-index:1!important;
  display:flex!important;gap:10px!important;margin-top:18px!important;
}
#page-dashboardexec .dashboard-command-actions .btn{
  min-height:46px!important;
  border-radius:11px!important;
  background:#fff!important;
  border:0!important;
  box-shadow:0 4px 12px rgba(112,42,5,.08)!important;
  font-weight:800!important;
}
#page-dashboardexec .dashboard-command-actions .btn.primary{color:var(--v231-green)!important}
#page-dashboardexec .dashboard-command-actions .btn:not(.primary){color:var(--v231-red)!important}

/* KPIs completamente redesenhados */
#page-dashboardexec .dashboard-extended-kpis{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  margin-top:16px!important;
}
#page-dashboardexec .dashboard-extended-kpis>.kpi{
  position:relative!important;
  overflow:hidden!important;
  min-height:158px!important;
  padding:18px!important;
  background:var(--v231-card)!important;
  border:1px solid var(--v231-line)!important;
  border-radius:var(--v231-radius)!important;
  box-shadow:var(--v231-shadow)!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
#page-dashboardexec .dashboard-extended-kpis>.kpi::after{
  content:"";position:absolute;right:-30px;top:-32px;width:105px;height:105px;border-radius:50%;
  background:#f4f7fb;pointer-events:none;
}
#page-dashboardexec .dashboard-kpi-revenue-v119::after{background:#edf9f2!important}
#page-dashboardexec .dashboard-kpi-expense-v119::after{background:#fff1f2!important}
#page-dashboardexec .dashboard-kpi-savings-v119::after{background:#fff7e9!important}
#page-dashboardexec .dashboard-kpi-bank-balance-v209::after{background:#edf4ff!important}
@media(hover:hover) and (pointer:fine){
  #page-dashboardexec .dashboard-extended-kpis>.kpi:hover{
    transform:translateY(-4px)!important;
    box-shadow:var(--v231-shadow-hover)!important;
    border-color:var(--v231-line-2)!important;
  }
}
#page-dashboardexec .dashboard-real-title-v218{
  position:relative!important;z-index:1!important;
  display:flex!important;align-items:center!important;gap:9px!important;
  color:#596579!important;
  font-size:10px!important;font-weight:800!important;
  letter-spacing:.035em!important;
}
#page-dashboardexec .dashboard-real-icon-v218{
  width:34px!important;height:34px!important;min-width:34px!important;
  border-radius:10px!important;
}
#page-dashboardexec .dashboard-real-icon-v218.consolidated{background:var(--v231-purple-soft)!important;color:var(--v231-purple)!important}
#page-dashboardexec .dashboard-real-icon-v218.revenue{background:var(--v231-green-soft)!important;color:var(--v231-green)!important}
#page-dashboardexec .dashboard-real-icon-v218.expense{background:var(--v231-red-soft)!important;color:var(--v231-red)!important}
#page-dashboardexec .dashboard-real-icon-v218.saving{background:var(--v231-amber-soft)!important;color:var(--v231-amber)!important}
#page-dashboardexec .dashboard-real-icon-v218.bank{background:var(--v231-blue-soft)!important;color:var(--v231-blue)!important}
#page-dashboardexec .dashboard-real-icon-v218.total{background:#eaf9f7!important;color:#0b9f8d!important}
#page-dashboardexec .dashboard-extended-kpis>.kpi>b{
  position:relative!important;z-index:1!important;
  display:block!important;
  margin-top:22px!important;
  color:var(--v231-ink)!important;
  font-size:27px!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
}
#dashPeriodRevenue,#dashGrossRevenue{color:var(--v231-green)!important}
#dashPeriodExpense{color:var(--v231-red)!important}
#dashSavingsRate{color:var(--v231-brand-2)!important}
#page-dashboardexec .dashboard-extended-kpis .sub,
#page-dashboardexec .period-balance-status-v155{
  position:relative!important;z-index:1!important;
  display:block!important;margin-top:9px!important;color:var(--v231-muted)!important;
}

/* Saldo bancário */
#page-dashboardexec .dashboard-bank-balance-v209{
  margin-top:16px!important;
  padding:20px!important;
  background:#fff!important;
  border:1px solid var(--v231-line)!important;
  border-radius:var(--v231-radius)!important;
  box-shadow:var(--v231-shadow)!important;
}
#page-dashboardexec .dashboard-bank-head-v209{
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;
}
#page-dashboardexec .dashboard-bank-head-v209 h3{
  font-size:17px!important;color:var(--v231-ink)!important;margin:0 0 4px!important;
}
#page-dashboardexec .dashboard-bank-head-v209 strong{
  color:var(--v231-blue)!important;font-size:22px!important;letter-spacing:-.03em!important;
}
#page-dashboardexec .dashboard-bank-item-v209{
  border:1px solid var(--v231-line)!important;border-radius:12px!important;background:#fbfcfe!important;
}

/* Gráficos: cards reais */
#page-dashboardexec .dashboard-analytics-v117{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  margin-top:16px!important;
}
#page-dashboardexec .dashboard-chart-card-v117{
  background:#fff!important;
  border:1px solid var(--v231-line)!important;
  border-radius:var(--v231-radius)!important;
  box-shadow:var(--v231-shadow)!important;
  padding:20px!important;
  overflow:hidden!important;
}
#page-dashboardexec .dashboard-chart-title-v117{
  display:flex!important;align-items:center!important;gap:11px!important;margin-bottom:18px!important;
}
#page-dashboardexec .dashboard-chart-title-v117 h3{
  margin:0!important;color:var(--v231-ink)!important;font-size:16px!important;font-weight:800!important;
}
#page-dashboardexec .dashboard-chart-title-v117 small{color:var(--v231-muted)!important}
#page-dashboardexec .dashboard-chart-icon-v117{
  width:38px!important;height:38px!important;min-width:38px!important;
  display:grid!important;place-items:center!important;border-radius:11px!important;
  background:var(--v231-brand-soft)!important;color:var(--v231-brand)!important;
}

/* Comparativos/insights abaixo */
#page-dashboardexec .dashboard-comparison-card-v117,
#page-dashboardexec .dashboard-highlight-v117,
#page-dashboardexec .dashboard-insight-card-v117{
  background:#fff!important;border:1px solid var(--v231-line)!important;
  border-radius:var(--v231-radius)!important;box-shadow:var(--v231-shadow)!important;
}

/* -------- TELAS GERAIS -------- */
.page>.panel,
section[id^="page-"]>.panel{
  background:#fff!important;
  border:1px solid var(--v231-line)!important;
  border-radius:var(--v231-radius)!important;
  box-shadow:var(--v231-shadow)!important;
  padding:18px!important;
}
.page h2,.page h3,section[id^="page-"] h2,section[id^="page-"] h3{
  color:var(--v231-ink)!important;
}
.section-head-inline{
  gap:14px!important;
}
.section-head-inline h3,.section-head-inline b{
  font-weight:800!important;
  letter-spacing:-.015em!important;
}

/* Filtros e formulários */
.field label{
  color:#475467!important;font-weight:700!important;font-size:10px!important;
}
input,select,textarea{
  border:1px solid var(--v231-line-2)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--v231-ink)!important;
  box-shadow:none!important;
  transition:border-color .15s ease,box-shadow .15s ease!important;
}
input:focus,select:focus,textarea:focus{
  border-color:#f2a16c!important;
  box-shadow:0 0 0 3px rgba(242,106,22,.10)!important;
  outline:none!important;
}

/* Botões */
.btn{
  border-radius:10px!important;
  font-weight:750!important;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease!important;
}
.btn.primary{
  background:var(--v231-brand)!important;
  border-color:var(--v231-brand)!important;
  color:#fff!important;
}
.btn.primary:hover{background:var(--v231-brand-2)!important;transform:translateY(-1px)!important}
.btn.danger{background:var(--v231-red)!important;border-color:var(--v231-red)!important;color:#fff!important}

/* Tabelas de verdade */
.table-scroll-v206{
  border:1px solid var(--v231-line)!important;
  border-radius:13px!important;
  overflow:auto!important;
  background:#fff!important;
}
.data-table-v206,table{
  background:#fff!important;
}
.data-table-v206 thead th,table thead th{
  background:#f8fafc!important;
  color:#667085!important;
  font-size:9px!important;
  font-weight:850!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
  border-bottom:1px solid var(--v231-line)!important;
}
.data-table-v206 tbody td,table tbody td{
  color:#344054!important;
  border-bottom:1px solid #edf0f4!important;
}
.data-table-v206 tbody tr:hover,table tbody tr:hover{background:#fbfcfe!important}

/* Despesas: atalhos mais clean */
#page-despesas .shortcuts{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;
}
#page-despesas .shortcut{
  min-height:46px!important;border:1px solid var(--v231-line)!important;border-radius:11px!important;
  background:#fbfcfe!important;color:#475467!important;font-weight:700!important;
}
#page-despesas .shortcut:hover{border-color:#f5b58c!important;background:var(--v231-brand-soft)!important;color:var(--v231-brand-2)!important}

/* Boletos */
#page-boletos .boleto-summary-card-v107,
#page-boletos .boleto-card-v220{
  background:#fff!important;border:1px solid var(--v231-line)!important;
  border-radius:16px!important;box-shadow:var(--v231-shadow)!important;
}
#page-boletos .boleto-card-v220{border-left:3px solid var(--v231-amber)!important}
#page-boletos .boleto-card-v220.pago{border-left-color:var(--v231-green)!important}
#page-boletos .boleto-card-v220.vencido{border-left-color:var(--v231-red)!important}

/* Fornecedores */
.supplier-card-v222{
  background:#fff!important;border:1px solid var(--v231-line)!important;
  border-radius:16px!important;box-shadow:var(--v231-shadow)!important;
}
.supplier-avatar-v222{background:var(--v231-brand-soft)!important;color:var(--v231-brand)!important}
.supplier-metrics-v222>div{background:#fafbfc!important;border-color:var(--v231-line)!important}

/* Modais */
.modalbg{
  background:rgba(11,15,22,.56)!important;
  backdrop-filter:blur(4px)!important;
}
#txModal #txModalCardV156.tx-modal-v156,
.modal-card,.modal{
  background:#fff!important;
  border:1px solid var(--v231-line)!important;
  border-radius:18px!important;
  box-shadow:0 26px 70px rgba(8,15,29,.22)!important;
}
#txModal .tx-modal-header-v156{
  background:linear-gradient(120deg,#8b5e3c,#7a5034)!important;
}

/* -------- MOBILE: APP DE VERDADE -------- */
@media(max-width:760px){
  :root{--v231-radius:16px}
  body{background:#f4f6f9!important}

  /* Topo já reorganizado pela V229; agora o design final */
  body.app-visible #appScreen.app>.main>.top.top-v158{
    grid-template-columns:96px minmax(0,1fr) 132px!important;
    min-height:84px!important;
    padding:11px 12px!important;
    margin:0!important;
    border:0!important;
    border-bottom:1px solid var(--v231-line)!important;
    background:rgba(255,255,255,.97)!important;
    box-shadow:0 4px 18px rgba(27,39,65,.045)!important;
  }
  body.app-visible .top-actions-v158{
    grid-template-columns:42px 42px!important;
    gap:7px!important;
  }
  body.app-visible #nightModeToggle,
  body.app-visible #notificationBellBtn{
    width:42px!important;height:42px!important;min-width:42px!important;border-radius:12px!important;
  }
  body.app-visible .top-user-v158{
    gap:9px!important;
  }
  body.app-visible #topUserAvatarV158{
    width:46px!important;height:46px!important;min-width:46px!important;border-radius:13px!important;
  }
  body.app-visible .top-user-copy-v158 b{font-size:14px!important}
  body.app-visible .top-user-copy-v158 small{font-size:9px!important}
  body.app-visible .top-new-expense-v158{
    min-width:132px!important;height:42px!important;padding:0 10px!important;font-size:11px!important;
  }

  #page-dashboardexec{
    padding:12px 10px calc(100px + env(safe-area-inset-bottom))!important;
  }
  #page-dashboardexec>.dashboard-command-panel{
    margin:0!important;
    padding:18px!important;
    border-radius:20px!important;
  }
  #page-dashboardexec .dashboard-command-head{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
  }
  #page-dashboardexec .dashboard-user-avatar-shell{display:none!important}
  #page-dashboardexec #dashboardGreeting{font-size:25px!important}
  #page-dashboardexec .dashboard-period-controls{margin-top:17px!important}
  #page-dashboardexec #dashboardPeriodLabel{display:none!important}
  #page-dashboardexec .dashboard-period-row{
    grid-template-columns:minmax(0,1fr) 96px 48px!important;
    gap:8px!important;
    max-width:none!important;
  }
  #page-dashboardexec #dashboardMonthFilter,
  #page-dashboardexec #dashboardYearFilter,
  #page-dashboardexec .dashboard-custom-period-btn{
    width:100%!important;height:50px!important;min-width:0!important;
    font-size:16px!important;border-radius:12px!important;
  }
  #page-dashboardexec .dashboard-custom-period-btn{
    font-size:0!important;padding:0!important;
  }
  #page-dashboardexec .dashboard-custom-period-btn::before{
    content:"◫";font-size:18px!important;color:var(--v231-brand)!important;
  }
  #page-dashboardexec .dashboard-command-actions{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;margin-top:13px!important;
  }
  #page-dashboardexec .dashboard-command-actions .btn{min-height:50px!important;font-size:13px!important}

  /* KPIs mobile 2x2/2x3 */
  #page-dashboardexec .dashboard-extended-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;margin-top:12px!important;
  }
  #page-dashboardexec .dashboard-extended-kpis>.kpi{
    min-height:142px!important;padding:14px!important;border-radius:16px!important;
  }
  #page-dashboardexec .dashboard-real-icon-v218{
    width:31px!important;height:31px!important;min-width:31px!important;border-radius:9px!important;
  }
  #page-dashboardexec .dashboard-real-title-v218{
    font-size:9px!important;gap:7px!important;
  }
  #page-dashboardexec .dashboard-extended-kpis>.kpi>b{
    margin-top:20px!important;font-size:22px!important;
  }

  /* Banco e gráficos em uma coluna */
  #page-dashboardexec .dashboard-bank-balance-v209{
    padding:16px!important;margin-top:12px!important;
  }
  #page-dashboardexec .dashboard-bank-head-v209{
    display:block!important;
  }
  #page-dashboardexec .dashboard-bank-head-v209 strong{
    display:block!important;margin-top:10px!important;font-size:20px!important;
  }
  #page-dashboardexec .dashboard-analytics-v117{
    grid-template-columns:1fr!important;gap:12px!important;margin-top:12px!important;
  }
  #page-dashboardexec .dashboard-chart-card-v117{
    padding:16px!important;border-radius:16px!important;
  }
  #page-dashboardexec .dashboard-bar-wrap-v117,
  #page-dashboardexec .dashboard-donut-layout-v117{
    min-height:280px!important;
  }

  /* páginas gerais com espaço consistente */
  section[id^="page-"]:not(#page-dashboardexec){
    padding:12px 10px calc(100px + env(safe-area-inset-bottom))!important;
  }
  section[id^="page-"]>.panel,
  .page>.panel{
    padding:14px!important;
    margin-bottom:12px!important;
    border-radius:16px!important;
    box-shadow:0 5px 18px rgba(27,39,65,.05)!important;
  }

  #page-despesas .shortcuts{
    grid-template-columns:1fr 1fr!important;gap:8px!important;
  }
  #page-despesas .filters,
  #page-receitas .filters{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  /* tabela interna rola, tela não */
  .table-scroll-v206{
    max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;
  }

  /* boletos e fornecedores */
  #page-boletos .boleto-summary-grid-v107,
  #page-boletos .boleto-cards-grid-v107,
  #page-fornecedores #supplierList{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  /* Bottom nav real V172 */
  #mobileAppNavV172.mobile-app-nav-v172{
    position:fixed!important;
    left:0!important;right:0!important;bottom:0!important;
    width:100vw!important;
    height:calc(72px + env(safe-area-inset-bottom))!important;
    padding:0 8px env(safe-area-inset-bottom)!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    align-items:start!important;
    background:rgba(255,255,255,.98)!important;
    border-top:1px solid var(--v231-line)!important;
    box-shadow:0 -9px 28px rgba(27,39,65,.085)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
    z-index:2147483000!important;
  }
  #mobileAppNavV172 .mobile-nav-item-v172{
    height:64px!important;
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
    gap:4px!important;color:#707b8d!important;font-size:10px!important;font-weight:700!important;
  }
  #mobileAppNavV172 .mobile-nav-item-v172.active{color:var(--v231-brand)!important}
  #mobileAppNavV172 .mobile-nav-icon-v172{
    width:23px!important;height:23px!important;
  }
  #mobileAppNavV172 .mobile-nav-plus-wrap-v172{
    height:64px!important;display:grid!important;place-items:start center!important;
    padding-top:4px!important;
  }
  #mobileAppNavV172 .mobile-nav-plus-v172{
    width:58px!important;height:58px!important;
    border-radius:50%!important;
    display:grid!important;place-items:center!important;
    background:linear-gradient(145deg,#ff7a21,#ef5c0e)!important;
    color:#fff!important;font-size:31px!important;
    border:5px solid #fff!important;
    box-shadow:0 10px 24px rgba(239,92,14,.28)!important;
    transform:translateY(-13px)!important;
  }
}

/* -------- MODO ESCURO -------- */
.dark-mode{
  --v231-bg:#0f1217;
  --v231-card:#191d24;
  --v231-ink:#f4f6f9;
  --v231-muted:#a2acba;
  --v231-line:#2b313a;
  --v231-line-2:#39414c;
  --v231-shadow:0 7px 24px rgba(0,0,0,.18);
  --v231-shadow-hover:0 13px 34px rgba(0,0,0,.28);
}
.dark-mode body,
body.dark-mode,
.dark-mode #appScreen,
.dark-mode #appScreen .main{
  background:var(--v231-bg)!important;color:var(--v231-ink)!important;
}
.dark-mode body.app-visible #appScreen.app>.main>.top.top-v158{
  background:rgba(25,29,36,.97)!important;
  border-color:var(--v231-line)!important;
}
.dark-mode .top-user-copy-v158 b{color:#fff!important}
.dark-mode #nightModeToggle,
.dark-mode #notificationBellBtn{
  background:#20252c!important;border-color:#343b45!important;color:#f2f4f7!important;
}
.dark-mode #page-dashboardexec .dashboard-extended-kpis>.kpi,
.dark-mode #page-dashboardexec .dashboard-bank-balance-v209,
.dark-mode #page-dashboardexec .dashboard-chart-card-v117,
.dark-mode section[id^="page-"]>.panel,
.dark-mode .page>.panel,
.dark-mode .supplier-card-v222,
.dark-mode #page-boletos .boleto-card-v220,
.dark-mode #page-boletos .boleto-summary-card-v107{
  background:var(--v231-card)!important;border-color:var(--v231-line)!important;
}
.dark-mode #page-dashboardexec .dashboard-extended-kpis>.kpi>b,
.dark-mode #page-dashboardexec .dashboard-bank-head-v209 h3,
.dark-mode #page-dashboardexec .dashboard-chart-title-v117 h3,
.dark-mode .page h2,.dark-mode .page h3,
.dark-mode section[id^="page-"] h2,.dark-mode section[id^="page-"] h3{
  color:#f5f7fa!important;
}
.dark-mode #page-dashboardexec .dashboard-real-title-v218,
.dark-mode .field label{color:#b9c2ce!important}
.dark-mode input,.dark-mode select,.dark-mode textarea{
  background:#15191f!important;color:#f5f7fa!important;border-color:#39414c!important;
}
.dark-mode .table-scroll-v206,
.dark-mode .data-table-v206,
.dark-mode table{background:#191d24!important;border-color:var(--v231-line)!important}
.dark-mode .data-table-v206 thead th,
.dark-mode table thead th{background:#20252d!important;color:#b9c2ce!important}
.dark-mode .data-table-v206 tbody td,
.dark-mode table tbody td{color:#d9dfe7!important;border-bottom-color:#2b313a!important}
.dark-mode #page-dashboardexec .dashboard-bank-item-v209,
.dark-mode .supplier-metrics-v222>div{background:#20252c!important;border-color:#303742!important}
.dark-mode #mobileAppNavV172.mobile-app-nav-v172{
  background:rgba(25,29,36,.98)!important;border-top-color:#303742!important;
}
.dark-mode #mobileAppNavV172 .mobile-nav-plus-v172{border-color:#191d24!important}

/* V503 source 8: v232CriticalLayoutFix */
/* =========================================================
   V232 — CORREÇÕES CRÍTICAS
   1. Sheet mobile acima da barra inferior
   2. Desktop/notebook não recebe layout mobile
   3. Hero desktop reorganizado
   ========================================================= */

/* DESKTOP / NOTEBOOK — inclusive janelas entre 761 e 1023 px */
@media(min-width:761px){
  /* elementos exclusivamente mobile ficam fora */
  #mobileAppNavV172,
  #mobileSheetOverlayV172,
  .mobile-sheet-v172,
  #mobileFab{
    display:none!important;
  }

  /* O app volta a layout desktop mesmo se regras antigas <=1023 existirem */
  body.app-visible #appScreen.app{
    display:grid!important;
    grid-template-columns:220px minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    min-height:100vh!important;
  }

  body.app-visible #appScreen.app>.side{
    display:block!important;
    position:sticky!important;
    left:auto!important;
    top:0!important;
    width:220px!important;
    min-width:220px!important;
    height:100vh!important;
    z-index:100!important;
  }

  body.app-visible #appScreen.app>.main{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0 18px 28px!important;
    overflow:visible!important;
  }

  /* Topo desktop normal */
  body.app-visible #appScreen.app>.main>.top.top-v158{
    position:relative!important;
    top:auto!important;
    width:calc(100% + 36px)!important;
    min-height:64px!important;
    margin:0 -18px 16px!important;
    padding:10px 18px!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
  }

  /* Dashboard hero em duas áreas claras */
  #page-dashboardexec{
    padding:0 0 24px!important;
  }
  #page-dashboardexec>.dashboard-command-panel{
    margin:0!important;
    padding:22px 24px!important;
    min-height:190px!important;
  }

  #page-dashboardexec .dashboard-command-head{
    display:grid!important;
    grid-template-columns:minmax(250px,1fr) minmax(390px,580px)!important;
    grid-template-areas:
      "user badge"
      "user period"!important;
    column-gap:28px!important;
    row-gap:8px!important;
    align-items:center!important;
  }

  #page-dashboardexec .dashboard-command-head>div:first-child{
    grid-area:user!important;
    align-self:center!important;
    min-width:0!important;
  }

  #page-dashboardexec .dashboard-company-only-badge{
    grid-area:badge!important;
    position:static!important;
    justify-self:end!important;
    align-self:start!important;
    margin:0!important;
  }

  #page-dashboardexec .dashboard-period-controls{
    grid-area:period!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    align-self:end!important;
  }

  #page-dashboardexec .dashboard-period-controls>label{
    display:block!important;
    margin:0 0 4px!important;
  }

  #page-dashboardexec #dashboardPeriodLabel{
    display:block!important;
    min-height:13px!important;
    margin:0 0 7px!important;
  }

  #page-dashboardexec .dashboard-period-row{
    display:grid!important;
    grid-template-columns:minmax(150px,1fr) 112px 145px!important;
    gap:9px!important;
    max-width:none!important;
    width:100%!important;
    align-items:center!important;
  }

  #page-dashboardexec #dashboardMonthFilter,
  #page-dashboardexec #dashboardYearFilter,
  #page-dashboardexec .dashboard-custom-period-btn{
    width:100%!important;
    height:44px!important;
    min-width:0!important;
    margin:0!important;
  }

  #page-dashboardexec .dashboard-command-actions{
    display:flex!important;
    gap:10px!important;
    margin-top:18px!important;
    justify-content:flex-start!important;
  }

  #page-dashboardexec .dashboard-command-actions .btn{
    width:auto!important;
    min-width:132px!important;
    min-height:44px!important;
  }

  /* KPIs desktop se mantêm profissionais */
  #page-dashboardexec .dashboard-extended-kpis{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  #page-dashboardexec .dashboard-analytics-v117{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* MOBILE REAL */
@media(max-width:760px){
  /* Barra inferior continua abaixo dos sheets */
  #mobileAppNavV172.mobile-app-nav-v172{
    z-index:2147483000!important;
  }

  /* overlay e sheets acima da barra inferior */
  #mobileSheetOverlayV172.mobile-sheet-overlay-v172{
    position:fixed!important;
    inset:0!important;
    z-index:2147483500!important;
    background:rgba(15,23,42,.48)!important;
    backdrop-filter:blur(3px)!important;
    -webkit-backdrop-filter:blur(3px)!important;
  }

  .mobile-sheet-v172{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
    z-index:2147483600!important;
    max-height:calc(100dvh - 36px - env(safe-area-inset-top))!important;
    padding:9px 15px calc(18px + env(safe-area-inset-bottom))!important;
    border-radius:22px!important;
    background:#fff!important;
    box-shadow:0 24px 70px rgba(5,12,25,.30)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }

  /* Quando aberto, sheet fica inteiro acima da nav, sem corte */
  .mobile-sheet-v172.open{
    transform:translateY(0)!important;
    visibility:visible!important;
  }

  body.mobile-sheet-open-v172{
    overflow:hidden!important;
  }

  body.mobile-sheet-open-v172 #mobileAppNavV172{
    pointer-events:none!important;
  }

  /* Novo lançamento com tamanho confortável */
  #mobileQuickAddV172.mobile-sheet-v172{
    min-height:310px!important;
  }

  #mobileQuickAddV172 .mobile-sheet-head-v172{
    padding:4px 2px 14px!important;
  }
  #mobileQuickAddV172 .mobile-sheet-head-v172 b{
    font-size:19px!important;
    font-weight:800!important;
  }
  #mobileQuickAddV172 .mobile-sheet-head-v172 small{
    margin-top:4px!important;
    font-size:11px!important;
  }
  #mobileQuickAddV172 .mobile-quick-grid-v172{
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
  #mobileQuickAddV172 .mobile-quick-grid-v172>button{
    min-height:150px!important;
    padding:16px!important;
    border-radius:16px!important;
  }
}

/* dark sheet */
.dark-mode .mobile-sheet-v172{
  background:#191d24!important;
  color:#f5f7fa!important;
}
.dark-mode .mobile-sheet-head-v172>button{
  background:#252b33!important;
  color:#f5f7fa!important;
}

/* V503 source 9: v233CompanyLogoFix */
.side-company-logo-v158{
  width:38px!important;
  height:38px!important;
  border-radius:9px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.28)!important;
  padding:4px!important;
}
.side-company-logo-v158 img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:0!important;
}
.side-company-v158{
  grid-template-columns:40px minmax(0,1fr) 16px!important;
}

/* V503 source 10: v234_1SidebarFix */
/* =========================================================
   V234.1 — SOMENTE CORREÇÃO DO MENU LATERAL
   - Sidebar permanece visível no desktop
   - Apenas a lista de opções rola internamente
   - "Minha Empresa / Configurações" fica no rodapé
   - Nenhum outro design ou lógica é alterado
   ========================================================= */
@media(min-width:768px){
  body.app-visible #appScreen.app > .side{
    position:fixed!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    z-index:1200!important;

    width:238px!important;
    min-width:238px!important;
    max-width:238px!important;

    height:100vh!important;
    max-height:100vh!important;

    display:flex!important;
    flex-direction:column!important;

    overflow:hidden!important;
    padding:8px 8px 0!important;
  }

  /* Mantém a área principal ao lado do menu fixo */
  body.app-visible #appScreen.app > .main{
    margin-left:238px!important;
    width:calc(100vw - 238px)!important;
    max-width:calc(100vw - 238px)!important;
    min-width:0!important;
  }

  /* Só os itens do menu rolam */
  body.app-visible #appScreen.app > .side > nav,
  body.app-visible #appScreen.app > .side nav{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding-bottom:12px!important;
    overscroll-behavior:contain!important;
  }

  /* Logo do topo não sai da tela */
  body.app-visible #appScreen.app > .side > .brand{
    flex:0 0 auto!important;
  }

  /* Minha Empresa sempre no rodapé */
  body.app-visible #appScreen.app > .side > .side-footer-v158{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;

    flex:0 0 auto!important;
    margin-top:auto!important;
    margin-bottom:0!important;

    width:calc(100% + 16px)!important;
    margin-left:-8px!important;
    margin-right:-8px!important;

    z-index:5!important;
  }

  body.app-visible #appScreen.app > .side .side-company-v158{
    width:100%!important;
  }
}

/* Tablet/mobile continuam com o comportamento existente */
@media(max-width:767px){
  body.app-visible #appScreen.app > .side{
    position:static!important;
  }
}

/* V503 source 11: gestor-v237-etapa1-mobile */
/* =========================================================
   GESTOR V237 — ETAPA 1: ESTABILIDADE MOBILE
   Somente apresentação/responsividade. Não altera regras JS,
   banco, cálculos, autenticação ou integrações.
   ========================================================= */
@media (max-width: 1023px){
  html,body{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:hidden !important;
  }

  *,*::before,*::after{box-sizing:border-box !important;}

  body.app-visible #appScreen.app{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:hidden !important;
  }

  body.app-visible #appScreen.app > .main{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding-left:10px !important;
    padding-right:10px !important;
    overflow-x:clip !important;
  }

  /* Evita que filhos flex/grid com largura mínima estourem a tela. */
  body.app-visible #appScreen.app > .main > *,
  body.app-visible #appScreen.app > .main section,
  body.app-visible #appScreen.app > .main .page,
  body.app-visible #appScreen.app > .main .panel,
  body.app-visible #appScreen.app > .main .card,
  body.app-visible #appScreen.app > .main .kpi,
  body.app-visible #appScreen.app > .main .grid,
  body.app-visible #appScreen.app > .main .grid2,
  body.app-visible #appScreen.app > .main .grid3,
  body.app-visible #appScreen.app > .main .grid4{
    min-width:0 !important;
    max-width:100% !important;
  }

  /* Não quebrar palavras comuns no meio. Só valores realmente longos podem quebrar. */
  h1,h2,h3,h4,h5,h6,p,small,span,label,b,strong,button,a{
    overflow-wrap:normal !important;
    word-break:normal !important;
  }
  .kpi b,.money,.amount,.currency,.barcode-value,[data-money],.long-value{
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
  }

  /* Formulários nunca podem ultrapassar a viewport. */
  input,select,textarea,button{
    max-width:100% !important;
  }
  input,select,textarea{
    min-width:0 !important;
  }

  /* Grids genéricos: uma coluna é mais segura que conteúdo espremido. */
  .grid3,.grid4,.three-cols,.four-cols{
    grid-template-columns:minmax(0,1fr) !important;
  }

  .grid,.grid2,.grid3,.grid4,
  .two-cols,.three-cols,.four-cols,
  .split,.executive-grid,.dashboard-two-columns,
  .formgrid{
    min-width:0 !important;
  }

  /* Barras de ações podem quebrar linha sem empurrar a página para os lados. */
  .toolbar,.filters,.filter-row,.actions,.quick-actions,
  .section-head-inline,.employee-section-head{
    min-width:0 !important;
    max-width:100% !important;
  }

  .toolbar > *, .filters > *, .filter-row > *, .actions > *, .quick-actions > *,
  .section-head-inline > *, .employee-section-head > *{
    min-width:0 !important;
    max-width:100% !important;
  }

  /* Tabelas: o cartão permanece inteiro; somente a tabela rola horizontalmente. */
  .tablewrap,.table-wrap,.table-container,.table-responsive{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-x:contain !important;
  }

  .tablewrap table,.table-wrap table,.table-container table,.table-responsive table{
    width:max-content;
    min-width:680px;
    max-width:none !important;
  }

  /* Gráficos respeitam o tamanho real do cartão. */
  .chart-box,.chart-card,canvas,svg{
    max-width:100% !important;
  }

  canvas{height:auto;}

  /* Modais: largura baseada na viewport, sem estourar em aparelhos pequenos. */
  .modalbg{
    width:100vw !important;
    max-width:100vw !important;
    padding:10px !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
  }
  .modal{
    width:min(100%,560px) !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:hidden !important;
  }

  /* Barra inferior PWA: reserva espaço para conteúdo e área segura do iPhone. */
  .mobile-app-nav-v172{
    padding-bottom:calc(6px + env(safe-area-inset-bottom)) !important;
  }

  body.app-visible #appScreen.app > .main{
    padding-bottom:calc(96px + env(safe-area-inset-bottom)) !important;
  }

  /* Se a ação flutuante existir, ela fica acima da navegação inferior. */
  .mobile-fab:not(.hidden){
    bottom:calc(82px + env(safe-area-inset-bottom)) !important;
    right:max(14px,env(safe-area-inset-right)) !important;
    z-index:2600 !important;
  }
}

@media (max-width: 767px){
  body.app-visible #appScreen.app > .main{
    padding-left:8px !important;
    padding-right:8px !important;
  }

  /* Cabeçalho: nunca deixa título/ações comprimirem uns aos outros. */
  body.app-visible #appScreen.app > .main > .top.top-v158{
    width:calc(100% + 16px) !important;
    margin-left:-8px !important;
    margin-right:-8px !important;
    min-width:0 !important;
    overflow:hidden !important;
  }

  .top-user-v158,.top-user-copy-v158,.top-page-meta-v158,.top-actions-v158{
    min-width:0 !important;
    max-width:100% !important;
  }

  .top-user-copy-v158 b,.top-user-copy-v158 small,
  .top-page-meta-v158 h1,.top-page-meta-v158 .sub{
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  /* Dashboard e demais KPIs: nunca ficam lado a lado em telas estreitas. */
  .kpis,#execKpis,.dashboard-grid,.metrics-grid,.summary-grid,
  .dashboard-extended-kpis,.dashboard-quick-actions,
  .account-summary-grid-v116,.boleto-summary-grid-v107{
    grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;
  }

  .kpi{width:100% !important;min-width:0 !important;}

  /* Campos em coluna única. */
  .formgrid{
    grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;
  }
  .formgrid > *, .field, .field.full{
    grid-column:1 / -1 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }

  .field input,.field select,.field textarea{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    font-size:16px !important;
  }

  /* Botões de ação ocupam a largura disponível, sem largura fixa. */
  .quick-actions,.actions,.toolbar,.filters,.filter-row{
    display:flex !important;
    flex-wrap:wrap !important;
  }

  .quick-actions .btn,.actions .btn,.toolbar .btn{
    min-width:0 !important;
    max-width:100% !important;
  }

  /* Cards com conteúdo longo não criam uma segunda largura invisível. */
  .card,.panel,.kpi,.drebox,.dashboard-chart-card-v117{
    overflow-x:hidden !important;
  }

  /* Selects e inputs nativos do iOS não devem criar overflow. */
  select,input,textarea{
    appearance:auto;
    -webkit-appearance:auto;
  }
}

@media (max-width: 430px){
  body.app-visible #appScreen.app > .main{
    padding-left:6px !important;
    padding-right:6px !important;
  }

  body.app-visible #appScreen.app > .main > .top.top-v158{
    width:calc(100% + 12px) !important;
    margin-left:-6px !important;
    margin-right:-6px !important;
    padding-left:9px !important;
    padding-right:9px !important;
  }

  .page{padding-left:4px !important;padding-right:4px !important;}

  .panel,.card,.kpi{
    border-radius:12px !important;
  }

  /* Não reduzir demais o texto: prioridade é legibilidade. */
  .kpi b{font-size:20px !important;line-height:1.15 !important;}
  .modal{padding:13px !important;}

  .mobile-app-nav-v172{
    height:calc(70px + env(safe-area-inset-bottom)) !important;
    padding-left:max(5px,env(safe-area-inset-left)) !important;
    padding-right:max(5px,env(safe-area-inset-right)) !important;
  }
}

/* V503 source 12: anonymous */
/* =========================================================
   GESTOR V242 · FASE 6 — VALIDAÇÃO SEGURA DE BOLETOS
   ========================================================= */
.bill-scan-validation-v242{
  display:none;margin-top:10px;padding:11px 12px;border:1px solid #e5e7eb;border-radius:12px;
  background:#fafafa;color:#3f3f46;font-size:11px;line-height:1.45
}
.bill-scan-validation-v242.show{display:block}
.bill-scan-validation-v242.ok{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
.bill-scan-validation-v242.warn{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.bill-scan-validation-v242.bad{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.bill-scan-validation-v242 b{display:block;margin-bottom:2px;font-size:11.5px}
.bill-auto-field-v242{outline:2px solid rgba(59,130,246,.18)!important;outline-offset:1px}
@media(max-width:760px){.bill-scan-validation-v242{font-size:10.5px}}

/* V503 source 13: gestor-v243-fase7-mobile-scanner */
/* V243 · Fase 7 — experiência móvel do leitor de boleto */
#barcodeScannerModal .scan-guide{display:none!important} /* remove guia duplicada antiga */
#barcodeScannerModal .scanner-head{align-items:center}
#barcodeScannerModal .scanner-head-actions-v243{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
#barcodeScannerModal .scanner-actions{align-items:stretch}
#barcodeScannerModal .scanner-actions .btn{min-height:42px}
#barcodeScannerModal .scanner-status{line-height:1.45}
#barcodeScannerModal .scanner-frame{aspect-ratio:4/3;min-height:0}
#barcodeScannerModal #barcodeVideo{height:100%;max-height:none;object-fit:cover}
#barcodeScannerModal .barcode-scan-guide{z-index:2}
body.bill-scanner-open-v243{overflow:hidden!important;touch-action:none}

@media(max-width:760px){
  #barcodeScannerModal{
    padding:0!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    overflow:hidden!important;
    background:#000!important;
  }
  #barcodeScannerModal .scanner-modal{
    width:100%!important;
    max-width:none!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  #barcodeScannerModal .scanner-head{
    margin-bottom:10px!important;
    gap:8px!important;
    flex:0 0 auto;
  }
  #barcodeScannerModal .scanner-head>div:first-child{min-width:0;flex:1 1 180px}
  #barcodeScannerModal .scanner-head h2{font-size:18px!important}
  #barcodeScannerModal .scanner-head .sub{font-size:11px!important;line-height:1.35}
  #barcodeScannerModal .scanner-head-actions-v243{
    width:100%;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px!important;
  }
  #barcodeScannerModal .scanner-head-actions-v243 .btn{
    min-width:0!important;
    width:100%!important;
    padding:9px 6px!important;
    font-size:11px!important;
  }
  #barcodeScannerModal .scanner-frame{
    flex:1 1 auto!important;
    min-height:220px!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    border-radius:12px!important;
  }
  #barcodeScannerModal #barcodeVideo{
    width:100%!important;
    height:100%!important;
    min-height:220px!important;
    object-fit:cover!important;
  }
  #barcodeScannerModal .barcode-scan-guide{
    left:5%!important;
    right:5%!important;
    top:29%!important;
    height:42%!important;
  }
  #barcodeScannerModal .scanner-status{
    flex:0 0 auto;
    margin-top:8px!important;
    min-height:46px!important;
    font-size:11.5px!important;
    padding:9px 10px!important;
  }
  #barcodeScannerModal .scanner-actions{
    flex:0 0 auto;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    margin-top:8px!important;
  }
  #barcodeScannerModal .scanner-actions .btn{
    width:100%!important;
    min-width:0!important;
    padding:10px 6px!important;
    font-size:11px!important;
    min-height:44px!important;
  }
}
@media(max-width:390px){
  #barcodeScannerModal .scanner-head h2{font-size:17px!important}
  #barcodeScannerModal .scanner-head .sub{font-size:10.5px!important}
  #barcodeScannerModal .scanner-head-actions-v243 .btn,
  #barcodeScannerModal .scanner-actions .btn{font-size:10.5px!important}
}

/* V503 source 14: gestor-v247-fase11-mobile-camera-visivel */
/* =========================================================
   GESTOR V247 · FASE 11
   1) Scanner sempre acima do modal de boleto.
   2) Sidebar mobile fora do fluxo para eliminar espaço branco.
   ========================================================= */
#barcodeScannerModal{
  z-index:2147483646!important;
}
#barcodeScannerModal.hidden{
  display:none!important;
}
#barcodeScannerModal .scanner-modal{
  position:relative!important;
  z-index:2147483647!important;
}
#barcodeScannerModal #barcodeVideo{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  background:#000!important;
}

@media(max-width:767px){
  body.app-visible #appScreen.app{
    display:block!important;
    min-height:100dvh!important;
  }
  body.app-visible #appScreen.app > .side{
    position:fixed!important;
    top:0!important;
    left:0!important;
    bottom:auto!important;
    width:min(310px,86vw)!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    z-index:4000!important;
    transform:translateX(-105%)!important;
    transition:transform .22s ease!important;
  }
  body.app-visible #appScreen.app > .side.mobile-open{
    transform:translateX(0)!important;
  }
  body.app-visible #appScreen.app > .main{
    position:relative!important;
    top:auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
  #barcodeScannerModal{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    margin:0!important;
  }
}

/* V503 source 15: gestor-v248-fase12-scanner-horizontal */
/* V248 · Fase 12 — scanner centralizado, horizontal e leitura 1D reforçada */
#barcodeScannerModal .scanner-frame{background:#000!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important}
#barcodeScannerModal #barcodeVideo{object-position:center center!important}
#barcodeScannerModal.scanner-landscape-v248 .scanner-modal{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border-radius:0!important}
#barcodeScannerModal.scanner-landscape-v248 .scanner-frame{flex:1 1 auto!important;min-height:0!important}
#barcodeScannerModal.scanner-landscape-v248 #barcodeVideo{width:100%!important;height:100%!important;object-fit:contain!important}
#barcodeScannerModal.scanner-landscape-v248 .barcode-scan-guide{left:4%!important;right:4%!important;top:37%!important;height:26%!important}
#barcodeScannerModal.scanner-landscape-v248 .scanner-status{margin-top:5px!important;padding:6px 9px!important;min-height:0!important}
#barcodeScannerModal.scanner-landscape-v248 .scanner-actions{margin-top:5px!important}
@media (orientation:landscape) and (max-height:700px){
  #barcodeScannerModal{padding:0!important;align-items:stretch!important;justify-content:stretch!important}
  #barcodeScannerModal .scanner-modal{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border-radius:0!important;padding:6px max(8px,env(safe-area-inset-right)) 6px max(8px,env(safe-area-inset-left))!important}
  #barcodeScannerModal .scanner-head{margin-bottom:4px!important;display:flex!important;flex-direction:row!important;align-items:center!important}
  #barcodeScannerModal .scanner-head h2{font-size:17px!important;margin:0!important}
  #barcodeScannerModal .scanner-head .sub{font-size:10px!important}
  #barcodeScannerModal .scanner-head-actions-v243{width:auto!important;display:flex!important;flex-wrap:nowrap!important;gap:5px!important}
  #barcodeScannerModal .scanner-head-actions-v243 .btn{width:auto!important;min-height:34px!important;padding:6px 9px!important;font-size:10px!important}
  #barcodeScannerModal .scanner-frame{flex:1 1 auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;border-radius:10px!important}
  #barcodeScannerModal #barcodeVideo{width:100%!important;height:100%!important;min-height:0!important;object-fit:contain!important}
  #barcodeScannerModal .barcode-scan-guide{left:5%!important;right:5%!important;top:38%!important;height:24%!important}
  #barcodeScannerModal .barcode-scan-guide small{font-size:9px!important}
  #barcodeScannerModal .scanner-status{margin-top:4px!important;min-height:0!important;padding:5px 8px!important;font-size:10px!important}
  #barcodeScannerModal .scanner-actions{margin-top:4px!important;display:flex!important;justify-content:center!important;gap:5px!important}
  #barcodeScannerModal .scanner-actions .btn{width:auto!important;min-height:34px!important;padding:6px 10px!important;font-size:10px!important}
}
@media(max-width:760px) and (orientation:portrait){
  #barcodeScannerModal .scanner-head-actions-v243{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #barcodeScannerModal #barcodeVideo{object-fit:contain!important}
  #barcodeScannerModal .barcode-scan-guide{left:4%!important;right:4%!important;top:38%!important;height:24%!important}
}

/* V503 source 16: v292PremiumDarkDesign */
:root{--v292-bg:#0b0b0c;--v292-panel:#151517;--v292-line:#29292d;--v292-text:#f5f5f5;--v292-muted:#9b9ba3;--v292-orange:#8b5e3c;--v292-orange2:#b07a50;--v292-green:#31d07d;--v292-red:#ff5b5b;--v292-blue:#58a6ff;--v292-radius:18px}
html,body{background:radial-gradient(circle at 85% 0%,rgba(176,122,80,.10),transparent 22%),#0b0b0c!important;color:var(--v292-text)!important}body{font-family:Montserrat,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}.app{min-height:100vh!important;grid-template-columns:245px minmax(0,1fr)!important;background:transparent!important}.side{background:#0b0b0c!important;border-right:1px solid #242426!important;padding:20px 14px!important;position:sticky!important;top:0!important;height:100vh!important;overflow-y:auto!important}.brand{padding:8px 8px 20px!important;text-align:left!important}.brand img{max-width:170px!important;filter:brightness(0) invert(1)}.nav{display:flex!important;flex-direction:column!important;gap:4px!important}.nav button{color:#c7c7cc!important;background:transparent!important;border:1px solid transparent!important;border-radius:12px!important;min-height:44px!important;padding:10px 13px!important;font-size:13px!important;font-weight:600!important}.nav button:hover{background:#171719!important;color:#fff!important}.nav button.active{background:linear-gradient(90deg,rgba(176,122,80,.18),rgba(176,122,80,.04))!important;color:#fff!important;border-color:rgba(176,122,80,.26)!important;box-shadow:inset 3px 0 0 var(--v292-orange)!important}.main{padding:28px 30px 44px!important;min-width:0!important;background:transparent!important}.top h1{color:#fff!important;font-size:28px!important;letter-spacing:-.03em!important}.sub{color:var(--v292-muted)!important}.panel,.card,.boleto-card,.kpi,.metric-card,.chart-card,.summary-card{background:linear-gradient(180deg,#171719,#131315)!important;border:1px solid var(--v292-line)!important;border-radius:var(--v292-radius)!important;color:var(--v292-text)!important;box-shadow:0 18px 50px rgba(0,0,0,.28)!important}.panel{padding:18px!important;margin-top:18px!important}.cards{gap:14px!important}.card{min-height:118px!important;padding:18px!important}.card .name{color:#d9d9dd!important;font-size:12px!important}.card .count{color:var(--v292-muted)!important}.card .value{font-size:23px!important;letter-spacing:-.03em!important}.c1,.c2,.c3,.c4,.c5,.c6{background:linear-gradient(180deg,#171719,#131315)!important}.c1 .value{color:var(--v292-green)!important}.c2 .value{color:var(--v292-red)!important}.c3 .value{color:var(--v292-green)!important}.c4 .value{color:var(--v292-blue)!important}.btn,.shortcut{border-radius:11px!important}.btn{background:#19191b!important;color:#f4f4f5!important;border:1px solid #303034!important}.btn.primary{background:linear-gradient(180deg,var(--v292-orange2),var(--v292-orange))!important;border-color:var(--v292-orange)!important;color:#fff!important;box-shadow:0 10px 25px rgba(176,122,80,.22)!important}.shortcut{background:#171719!important;border:1px solid #303034!important;color:#dedee2!important}.field label{color:#c8c8ce!important}.field input,.field select,input,select,textarea{background:#101012!important;color:#f6f6f7!important;border:1px solid #303034!important;border-radius:11px!important}input::placeholder,textarea::placeholder{color:#6f6f78!important}select option{background:#151517!important;color:#fff!important}th{color:#92929a!important;border-color:#2a2a2e!important}td{color:#e5e5e8!important;border-color:#252529!important}tbody tr:hover{background:#1a1a1d!important}.pagar,.boleto-atencao{background:#3a3014!important;color:#f4d66a!important}.agendada{background:#142840!important;color:#79b8ff!important}.atrasado,.boleto-vencido{background:#3e1818!important;color:#ff8080!important}.paga,.boleto-ok{background:#123322!important;color:#54d48d!important}.conciliada{background:#241d42!important;color:#ad97ff!important}.cancelada,.boleto-pago{background:#252528!important;color:#a6a6ad!important}.modal,.modal-content,[class*="modal-card"],[class*="modal-box"]{background:#151517!important;color:#fff!important;border:1px solid #303034!important;border-radius:18px!important;box-shadow:0 24px 80px rgba(0,0,0,.55)!important}.auth-shell,.auth-card,.login-card,[class*="auth-card"],[class*="login-card"]{background:#111113!important;color:#fff!important;border-color:#29292d!important}*{scrollbar-width:thin;scrollbar-color:#3a3a3e #101012}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:#101012}::-webkit-scrollbar-thumb{background:#3a3a3e;border-radius:999px}
@media(max-width:900px){body{background:#0b0b0c!important;padding-bottom:76px!important}.app{display:block!important}.side{position:fixed!important;inset:0 auto 0 0!important;width:min(86vw,320px)!important;transform:translateX(-102%);transition:transform .22s ease!important;z-index:10000!important;box-shadow:28px 0 70px rgba(0,0,0,.60)!important}.side.open,.side.mobile-open,.side.show{transform:translateX(0)!important}.main{padding:18px 14px 92px!important}.top h1{font-size:21px!important}.cards{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.card{min-height:96px!important;padding:16px!important;border-radius:16px!important}.card .value{font-size:22px!important}.filters{grid-template-columns:1fr!important;gap:10px!important}.panel{padding:14px!important;border-radius:16px!important}table{min-width:680px}#mobileBottomNavV118,.mobile-bottom-nav-v118{position:fixed!important;left:10px!important;right:10px!important;bottom:max(10px,env(safe-area-inset-bottom))!important;height:64px!important;z-index:9999!important;display:grid!important;grid-template-columns:repeat(5,1fr)!important;background:rgba(18,18,20,.94)!important;border:1px solid #303034!important;border-radius:18px!important;padding:6px!important;box-shadow:0 18px 50px rgba(0,0,0,.48)!important;backdrop-filter:blur(16px)!important}#mobileBottomNavV118 button,.mobile-bottom-nav-v118 button{background:transparent!important;color:#9898a0!important;border:0!important;min-width:0!important;border-radius:12px!important;padding:4px 2px!important}#mobileBottomNavV118 button span,.mobile-bottom-nav-v118 button span{display:block!important;font-size:18px!important}#mobileBottomNavV118 button small,.mobile-bottom-nav-v118 button small{font-size:9px!important}#assistantFloatingV120{right:18px!important;bottom:88px!important;background:linear-gradient(180deg,var(--v292-orange2),var(--v292-orange))!important;color:#fff!important}}
@media(max-width:520px){.main{padding-left:12px!important;padding-right:12px!important}.top h1{font-size:19px!important}.panel{margin-top:12px!important}}

/* V503 source 17: v295LoginInputVisibilityFix */
/* V295 — LOGIN: garante texto visível em e-mail e senha */
#authScreen .organize-login-box .login-input-wrap input,
#authScreen .organize-login-box #authName {
  background:#f7f9fc!important;
  color:#171719!important;
  -webkit-text-fill-color:#171719!important;
  caret-color:#171719!important;
  border-color:#dfe3ea!important;
}
#authScreen .organize-login-box input::placeholder {
  color:#8b919b!important;
  -webkit-text-fill-color:#8b919b!important;
  opacity:1!important;
}
#authScreen .organize-login-box input:-webkit-autofill,
#authScreen .organize-login-box input:-webkit-autofill:hover,
#authScreen .organize-login-box input:-webkit-autofill:focus {
  -webkit-text-fill-color:#171719!important;
  caret-color:#171719!important;
  box-shadow:0 0 0 1000px #f7f9fc inset!important;
  -webkit-box-shadow:0 0 0 1000px #f7f9fc inset!important;
}

/* V503 source 18: v296LightModeFormFieldsFix */
/* V296 — CAMPOS CLAROS NO MODO NORMAL; PRETOS SOMENTE NO MODO NOTURNO */
html:not(.dark-mode) body:not(.dark-mode) input:not([type="radio"]):not([type="checkbox"]):not([type="range"]):not([type="color"]):not([type="button"]):not([type="submit"]):not([type="reset"]),
html:not(.dark-mode) body:not(.dark-mode) select,
html:not(.dark-mode) body:not(.dark-mode) textarea,
html:not(.dark-mode) body:not(.dark-mode) .field input,
html:not(.dark-mode) body:not(.dark-mode) .field select,
html:not(.dark-mode) body:not(.dark-mode) .field textarea,
html:not(.dark-mode) body:not(.dark-mode) .modal input:not([type="radio"]):not([type="checkbox"]),
html:not(.dark-mode) body:not(.dark-mode) .modal select,
html:not(.dark-mode) body:not(.dark-mode) .modal textarea,
html:not(.dark-mode) body:not(.dark-mode) .modal-content input:not([type="radio"]):not([type="checkbox"]),
html:not(.dark-mode) body:not(.dark-mode) .modal-content select,
html:not(.dark-mode) body:not(.dark-mode) .modal-content textarea {
  background:#ffffff!important;
  background-color:#ffffff!important;
  color:#171719!important;
  -webkit-text-fill-color:#171719!important;
  caret-color:#171719!important;
  border-color:#d7dde7!important;
  color-scheme:light!important;
}

html:not(.dark-mode) body:not(.dark-mode) input::placeholder,
html:not(.dark-mode) body:not(.dark-mode) textarea::placeholder {
  color:#8b919b!important;
  -webkit-text-fill-color:#8b919b!important;
  opacity:1!important;
}

html:not(.dark-mode) body:not(.dark-mode) select option {
  background:#ffffff!important;
  color:#171719!important;
}

html:not(.dark-mode) body:not(.dark-mode) input[type="date"],
html:not(.dark-mode) body:not(.dark-mode) input[type="time"],
html:not(.dark-mode) body:not(.dark-mode) input[type="datetime-local"] {
  color-scheme:light!important;
}

html:not(.dark-mode) body:not(.dark-mode) input:-webkit-autofill,
html:not(.dark-mode) body:not(.dark-mode) input:-webkit-autofill:hover,
html:not(.dark-mode) body:not(.dark-mode) input:-webkit-autofill:focus {
  -webkit-text-fill-color:#171719!important;
  caret-color:#171719!important;
  box-shadow:0 0 0 1000px #ffffff inset!important;
  -webkit-box-shadow:0 0 0 1000px #ffffff inset!important;
}

/* Modo noturno continua escuro */
html.dark-mode body.dark-mode input:not([type="radio"]):not([type="checkbox"]):not([type="range"]):not([type="color"]):not([type="button"]):not([type="submit"]):not([type="reset"]),
html.dark-mode body.dark-mode select,
html.dark-mode body.dark-mode textarea,
html.dark-mode body.dark-mode .field input,
html.dark-mode body.dark-mode .field select,
html.dark-mode body.dark-mode .field textarea {
  background:#101012!important;
  background-color:#101012!important;
  color:#f6f6f7!important;
  -webkit-text-fill-color:#f6f6f7!important;
  caret-color:#f6f6f7!important;
  border-color:#303034!important;
  color-scheme:dark!important;
}
html.dark-mode body.dark-mode select option {
  background:#151517!important;
  color:#ffffff!important;
}

/* V503 source 19: v299DashboardHeaderAlignment */
/* V299 — alinhamento definitivo do cabeçalho do Dashboard */
@media (min-width: 760px){
  #page-dashboardexec .dashboard-command-panel{
    padding:18px 20px 16px!important;
    min-height:0!important;
  }
  #page-dashboardexec .dashboard-command-head{
    display:grid!important;
    grid-template-columns:minmax(260px,1fr) auto minmax(410px,520px)!important;
    align-items:start!important;
    column-gap:14px!important;
    row-gap:8px!important;
    width:100%!important;
  }
  #page-dashboardexec .dashboard-company-only-badge{
    position:static!important;
    align-self:start!important;
    justify-self:end!important;
    width:auto!important;
    max-width:180px!important;
    min-height:36px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 14px!important;
    margin:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:11px!important;
  }
  #page-dashboardexec .dashboard-period-controls{
    grid-column:auto!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    justify-self:end!important;
  }
  #page-dashboardexec .dashboard-period-controls>label,
  #page-dashboardexec #dashboardPeriodLabel{display:none!important}
  #page-dashboardexec .dashboard-period-row{
    display:grid!important;
    grid-template-columns:minmax(190px,1fr) 112px 132px!important;
    gap:8px!important;
    align-items:center!important;
    width:100%!important;
    justify-content:end!important;
  }
  #page-dashboardexec #dashboardMonthFilter,
  #page-dashboardexec #dashboardYearFilter,
  #page-dashboardexec .dashboard-custom-period-btn{
    width:100%!important;
    min-width:0!important;
    height:38px!important;
    min-height:38px!important;
    margin:0!important;
    border-radius:10px!important;
    font-size:11px!important;
    line-height:1!important;
    padding:0 12px!important;
  }
  #page-dashboardexec .dashboard-custom-period-btn{
    overflow:visible!important;
    font-size:11px!important;
    white-space:nowrap!important;
  }
  #page-dashboardexec .dashboard-custom-period-btn::before{content:none!important}
  #page-dashboardexec .dashboard-command-actions{
    margin-top:12px!important;
    display:flex!important;
    gap:8px!important;
  }
  #page-dashboardexec .dashboard-command-actions .btn{
    width:auto!important;
    min-width:132px!important;
    min-height:38px!important;
  }
}
@media (max-width: 759px){
  #page-dashboardexec .dashboard-command-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
    align-items:start!important;
  }
  #page-dashboardexec .dashboard-company-only-badge{
    position:static!important;
    justify-self:end!important;
    max-width:130px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #page-dashboardexec .dashboard-period-controls{
    grid-column:1/-1!important;
    width:100%!important;
    margin-top:2px!important;
  }
  #page-dashboardexec .dashboard-period-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 88px!important;
    gap:7px!important;
    width:100%!important;
  }
  #page-dashboardexec .dashboard-custom-period-btn{
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
    font-size:10px!important;
    overflow:visible!important;
  }
  #page-dashboardexec .dashboard-custom-period-btn::before{content:none!important}
}

/* V503 source 20: gestor-v317-payroll-css */
#page-funcionarios .employee-table-v206{min-width:1320px !important}
#page-funcionarios .employee-row-actions{flex-wrap:wrap}
#employeePayrollPaymentModalV317 .modal{max-width:720px}
.dark-mode #employeePayrollPaymentModalV317 input:disabled{background:#171a1f !important;color:#f5f5f5 !important;opacity:1}

/* V503 source 21: kairos-v325-brand-only */
:root{
  --v292-orange:#8b5e3c;
  --v292-orange2:#b07a50;
  --v231-brand:#8b5e3c;
}
/* V325: somente identidade/cor. Nenhum tamanho, estrutura ou posição do sistema foi alterado. */
.organize-login-intro{background:linear-gradient(145deg,#2f3b33 0%,#273229 56%,#1d2620 100%)!important}
.organize-feature-icon{background:rgba(139,94,60,.25)!important}
.organize-cloud-dot{background:#b07a50!important;box-shadow:0 0 0 4px rgba(176,122,80,.13)!important}
.organize-login-main-btn,.btn.primary{background:linear-gradient(180deg,#b07a50,#8b5e3c)!important;border-color:#8b5e3c!important;color:#fff!important}
.login-create-link,.login-forgot-inline{color:#8b5e3c!important}
.kairos-v325-login-brand{gap:8px!important}
.kairos-v325-logo{width:210px!important;height:auto!important;max-height:58px!important;object-fit:contain!important}
.kairos-v325-company{display:flex;align-items:center;justify-content:center;gap:7px;font-size:9px;color:#71717a}
.kairos-v325-company img{width:44px!important;height:27px!important;object-fit:contain!important;background:#273229;border-radius:6px;padding:3px}

/* V503 source 22: kairos-v327-safe-adaptive */
/* V327 — adaptação segura: preserva a estrutura desktop existente.
   Não altera display/grid/position/margin-left da app, evitando o colapso da V326. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
img,svg,canvas,video{max-width:100%;}
.main,.main>section,.panel,.card,.kpi,.drebox{min-width:0;box-sizing:border-box;}
.table-scroll-v206,.table-wrap,.table-responsive,[class*="table-scroll"]{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}

/* notebooks menores: apenas compacta respiros; a regra estrutural V109 continua mandando */
@media (min-width:768px) and (max-width:1366px){
  body.app-visible #appScreen.app>.main{padding-left:18px!important;padding-right:18px!important;}
  .panel{padding-left:14px!important;padding-right:14px!important;}
  .cards,.kpis{gap:10px!important;}
}
@media (min-width:768px) and (max-height:820px){
  body.app-visible #appScreen.app>.main>.top.top-v158{min-height:56px!important;padding-top:7px!important;padding-bottom:7px!important;}
  .side .nav button,.sidebar .nav button{min-height:36px!important;padding-top:7px!important;padding-bottom:7px!important;}
}
/* telas grandes: limita somente o conteúdo interno, sem deslocar .main */
@media (min-width:1600px){
  body.app-visible #appScreen.app>.main>section,
  body.app-visible #appScreen.app>.main>.top{max-width:1800px!important;margin-left:auto!important;margin-right:auto!important;}
}
/* celular: reforços de encaixe sem substituir o menu mobile já existente */
@media (max-width:767px){
  body.app-visible #appScreen.app>.main{max-width:100vw!important;box-sizing:border-box!important;}
  .panel,.card,.kpi,.drebox{max-width:100%!important;}
  input,select,textarea{max-width:100%!important;}
  .modal{max-width:calc(100vw - 16px)!important;}
}

/* V503 source 23: kairos-v329-full-palette */
/* V329 — paleta Kairós aplicada ao sistema inteiro sem alterar estrutura, dados ou lógica. */
:root{
  --kairos-forest-950:#18231d;
  --kairos-forest-900:#1d2922;
  --kairos-forest-850:#243229;
  --kairos-forest-800:#2f3b33;
  --kairos-forest-700:#3d4b41;
  --kairos-copper-700:#7a5034;
  --kairos-copper-600:#8b5e3c;
  --kairos-copper-500:#a46f47;
  --kairos-copper-400:#b07a50;
  --kairos-sand-50:#fbfaf7;
  --kairos-sand-100:#f5f2eb;
  --kairos-sand-150:#eee9df;
  --kairos-sand-200:#e4ddd1;
  --kairos-ink:#222720;
  --kairos-muted:#716e65;
  --bg:var(--kairos-sand-100)!important;
  --panel:#fffdf9!important;
  --text:var(--kairos-ink)!important;
  --muted:var(--kairos-muted)!important;
  --line:var(--kairos-sand-200)!important;
  --soft:var(--kairos-sand-150)!important;
  --primary:var(--kairos-forest-900)!important;
  --v292-orange:var(--kairos-copper-600)!important;
  --v292-orange2:var(--kairos-copper-400)!important;
  --v231-brand:var(--kairos-copper-600)!important;
}
html,body{background:var(--kairos-sand-100)!important;color:var(--kairos-ink)!important}
body.app-visible,#appScreen,.app,.main{background:var(--kairos-sand-100)!important}
.side,.sidebar,#appScreen .side,#appScreen .sidebar{background:linear-gradient(180deg,var(--kairos-forest-900),var(--kairos-forest-950))!important;border-right-color:#344239!important;color:#f8f5ee!important}
.side .brand,.sidebar .brand{color:#fff!important}
.side .nav button,.sidebar .nav button{color:#e3ded4!important}
.side .nav button:hover,.sidebar .nav button:hover,.side .nav button.active,.sidebar .nav button.active{background:rgba(176,122,80,.18)!important;color:#fff!important;box-shadow:inset 3px 0 0 var(--kairos-copper-400)!important}
.side .nav-section-title,.sidebar .nav-section-title,.side [class*="section-title"],.sidebar [class*="section-title"]{color:#aaa79f!important;border-color:rgba(255,255,255,.08)!important}
.side .selectbox,.sidebar .selectbox{background:#2b382f!important;border-color:#465449!important;color:#fff!important}
.main>.top,.top.top-v158{background:rgba(251,250,247,.96)!important;border-bottom-color:var(--kairos-sand-200)!important}
.top h1,.top h2,.top h3{color:var(--kairos-forest-950)!important}
.panel,.kpi,.drebox,.card,.boleto-card,.alert-item,.modal,.loginbox,[class*="summary-card"],[class*="metric-card"]{background:#fffdf9!important;border-color:var(--kairos-sand-200)!important}
.panel,.kpi,.drebox,.boleto-card,.alert-item{box-shadow:0 8px 24px rgba(42,52,45,.035)!important}
.panel>h3,.drebox h3,.kpi b,.card .name{color:var(--kairos-forest-900)!important}
.btn{background:#fffdf9!important;border-color:#cfc6b8!important;color:#34372f!important}
.btn:hover{background:#f5f0e7!important;border-color:#b9ad9b!important}
.btn.primary,.organize-login-main-btn{background:linear-gradient(180deg,var(--kairos-copper-400),var(--kairos-copper-600))!important;border-color:var(--kairos-copper-600)!important;color:#fff!important;box-shadow:0 8px 18px rgba(139,94,60,.16)!important}
.btn.primary:hover,.organize-login-main-btn:hover{background:linear-gradient(180deg,#a9724a,#7d5336)!important;border-color:#7d5336!important}
.shortcut{background:#fffdf9!important;border-color:#d6cec1!important;color:var(--kairos-forest-900)!important}
.shortcut:hover{background:#f3eee5!important;border-color:#b6a895!important}
.field input,.field select,.field textarea,input,select,textarea{border-color:#d8d0c4;background:#fffdf9;color:#292d27}
.field input:focus,.field select:focus,.field textarea:focus,input:focus,select:focus,textarea:focus{border-color:var(--kairos-copper-500)!important;box-shadow:0 0 0 3px rgba(139,94,60,.11)!important;outline:none}
table thead th,thead th{background:#f0ebe2!important;color:#4d554c!important;border-bottom-color:#ddd4c7!important}
td,th{border-bottom-color:#e6ded3!important}
tbody tr:hover{background:#faf6ef!important}
.chips,a:not(.btn){accent-color:var(--kairos-copper-600)}
.login-create-link,.login-forgot-inline{color:var(--kairos-copper-600)!important}
.notification-drawer{background:#fffdf9!important;border-color:var(--kairos-sand-200)!important}
/* Cards de resumo: mesma família visual, preservando legibilidade e significado dos números. */
.cards .card,.c1,.c2,.c3,.c4,.c5,.c6{background:#fffdf9!important;border:1px solid var(--kairos-sand-200)!important}
.cards .card:nth-child(odd){box-shadow:inset 0 3px 0 rgba(139,94,60,.34)!important}
.cards .card:nth-child(even){box-shadow:inset 0 3px 0 rgba(47,59,51,.30)!important}
/* Mantém alertas/status funcionais, porém com tons mais sóbrios compatíveis com a identidade. */
.pagar,.boleto-atencao{background:#f2e8d7!important;color:#765022!important}
.agendada{background:#e4ebe6!important;color:#355244!important}
.atrasado,.boleto-vencido{background:#f3e1dc!important;color:#853d35!important}
.paga,.boleto-ok{background:#e3ebe2!important;color:#365b3a!important}
.conciliada{background:#ece6df!important;color:#695547!important}
.cancelada,.boleto-pago{background:#ece9e3!important;color:#5f615c!important}
.boleto-urgente{background:#f1e3d5!important;color:#8b4f2f!important}
.alert-high{border-left-color:#9a5549!important}.alert-medium{border-left-color:var(--kairos-copper-500)!important}.alert-low{border-left-color:#58725f!important}
/* Barras/abas/seletores que antes usavam preto ou laranja passam a usar floresta/cobre. */
[style*="background:#111"],[style*="background: #111"]{background:var(--kairos-forest-900)!important}
[style*="border-color:#111"],[style*="border-color: #111"]{border-color:var(--kairos-forest-900)!important}
/* Dark mode Kairós: mesma paleta, mais profunda, sem preto puro. */
.dark-mode,.dark-mode body,body.dark-mode{--bg:#151d18!important;--panel:#1d2821!important;--text:#f1ede5!important;--muted:#b6b0a4!important;--line:#38443b!important;--soft:#26332b!important;background:#151d18!important;color:#f1ede5!important}
.dark-mode .main,.dark-mode #appScreen,.dark-mode .app{background:#151d18!important}
.dark-mode .side,.dark-mode .sidebar{background:linear-gradient(180deg,#111914,#18231d)!important;border-right-color:#334038!important}
.dark-mode .panel,.dark-mode .kpi,.dark-mode .drebox,.dark-mode .card,.dark-mode .boleto-card,.dark-mode .alert-item,.dark-mode .modal,.dark-mode .notification-drawer{background:#1d2821!important;border-color:#38443b!important;color:#f1ede5!important}
.dark-mode .main>.top,.dark-mode .top.top-v158{background:#19231d!important;border-bottom-color:#38443b!important}
.dark-mode .top h1,.dark-mode .top h2,.dark-mode .panel>h3,.dark-mode .drebox h3,.dark-mode .kpi b,.dark-mode .card .name{color:#f6f2e9!important}
.dark-mode .btn{background:#26332b!important;border-color:#48564b!important;color:#eee9df!important}
.dark-mode .btn:hover{background:#314137!important}
.dark-mode .btn.primary{background:linear-gradient(180deg,#a9734c,#7e5538)!important;border-color:#a9734c!important;color:#fff!important}
.dark-mode input,.dark-mode select,.dark-mode textarea,.dark-mode .field input,.dark-mode .field select,.dark-mode .field textarea{background:#202c25!important;border-color:#455249!important;color:#f5f1e8!important}
.dark-mode table thead th,.dark-mode thead th{background:#26332b!important;color:#d7d1c6!important;border-bottom-color:#414f45!important}
.dark-mode td,.dark-mode th{border-bottom-color:#334037!important}
.dark-mode tbody tr:hover{background:#223028!important}
.dark-mode .cards .card,.dark-mode .c1,.dark-mode .c2,.dark-mode .c3,.dark-mode .c4,.dark-mode .c5,.dark-mode .c6{background:#1d2821!important;border-color:#38443b!important}
/* Não altera cores oficiais de logos bancários, gráficos de dados ou logotipos. */

/* V503 source 24: kairos-v329-remove-orange */
/* V329 — substituição direta do laranja legado pela paleta do login Kairós. */
:root{--v73-orange:#2f3b33!important;--v73-orange-dark:#243229!important;--v73-orange-soft:#eee9df!important;--v231-brand:#8b5e3c!important;--v292-orange:#8b5e3c!important;--v292-orange2:#b07a50!important}
#appScreen .side,#appScreen aside.side{background:linear-gradient(180deg,#2f3b33 0%,#18231d 100%)!important;border-right-color:#3d4b41!important}
#appScreen .side .nav button.active{background:rgba(176,122,80,.20)!important;color:#fff!important;box-shadow:inset 3px 0 0 #b07a50!important}
#page-dashboard .dashboard-command-panel,#page-dashboardexec .dashboard-command-panel,.dashboard-command-panel{background:linear-gradient(115deg,#2f3b33 0%,#243229 72%,#8b5e3c 100%)!important;box-shadow:0 9px 20px rgba(24,35,29,.16)!important}
.side-footer-v158{border-top-color:rgba(255,255,255,.10)!important}
.side-company-v158{background:rgba(255,255,255,.06)!important;color:#fff!important}
.side-company-v158:hover{background:rgba(176,122,80,.16)!important}

/* V503 source 25: kairos-business-v335-brand */
.kairos-business-desktop-brand{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:14px!important}
.kairos-business-main-logo{width:min(360px,82%)!important;height:auto!important;display:block!important}
.kairos-business-client-brand{display:flex;align-items:center;gap:10px;opacity:.92}
.kairos-business-client-brand .organize-company-logo{width:48px!important;height:48px!important;object-fit:contain!important}
.kairos-business-client-brand h2{font-size:14px!important;margin:0!important}.kairos-business-client-brand span{font-size:10px!important}
.kairos-business-side-brand img{width:142px!important;max-width:88%!important;height:auto!important;object-fit:contain!important}
.kairos-v325-logo{width:245px!important;max-width:88vw!important;max-height:72px!important}
@media(max-width:760px){.kairos-business-main-logo{width:250px!important}.kairos-business-client-brand{display:none!important}.kairos-business-side-brand img{width:116px!important}}

/* V503 source 26: kairos-redesign-v345 */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--k345-forest:#1B4332;--k345-mid:#2D6A4F;--k345-copper:#B87333;--k345-sand:#F4EDD9;--k345-bg:#F9F7F1;--k345-white:#FFFFFF;--k345-text:#212529;--k345-muted:#6C757D;--k345-danger:#A4493D;--k345-shadow:0 2px 8px rgba(27,67,50,.06);--k345-ring:0 0 0 4px rgba(45,106,79,.15)}
html,body{font-family:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif!important;background:var(--k345-bg)!important;color:var(--k345-text)!important}
body.app-visible,#appScreen.app,.main{background:var(--k345-bg)!important}
/* sidebar */
@media(min-width:768px){#appScreen>.side{width:260px!important}.main{margin-left:260px!important;width:calc(100% - 260px)!important}.side.k345-collapsed{width:72px!important}.side.k345-collapsed~.main{margin-left:72px!important;width:calc(100% - 72px)!important}}
.side,.sidebar,.side::before,.sidebar::before{background:var(--k345-forest)!important;color:var(--k345-bg)!important}
.side{padding:18px 14px 88px!important;border-right:0!important;transition:width .3s ease,transform .3s ease!important}
.k345-brand{display:flex;align-items:center;gap:11px;padding:6px 8px 20px;color:#fff}.k345-brand-mark{width:38px;height:38px;flex:0 0 38px}.k345-brand-copy{min-width:0}.k345-brand-copy b{display:block;font-size:14px;line-height:1.15;color:#fff;white-space:nowrap}.k345-brand-copy small{display:block;margin-top:4px;color:var(--k345-sand);font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.side>.brand{display:none!important}.side>div[style*="font-size:10px"]{display:none!important}.side>#unitSelect{display:none!important}
.nav{gap:4px!important}.nav-section-title{color:rgba(244,237,217,.58)!important;font-size:9px!important;letter-spacing:.09em!important;margin:16px 10px 6px!important}.nav button{position:relative!important;min-height:42px!important;padding:9px 11px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:var(--k345-sand)!important;font-family:inherit!important;font-size:11px!important;font-weight:600!important;transition:background .2s ease,color .2s ease,transform .2s ease!important}.nav button:hover{background:rgba(244,237,217,.08)!important;color:#fff!important}.nav button.active{background:rgba(184,115,51,.20)!important;color:#fff!important;box-shadow:inset 3px 0 0 var(--k345-copper)!important}.nav button.active svg{stroke:var(--k345-copper)!important}.nav svg{stroke:currentColor!important}.side-footer-v158{background:var(--k345-forest)!important;border-top:1px solid rgba(244,237,217,.12)!important}.side-company-v158{background:rgba(255,255,255,.04)!important;color:#fff!important;border:1px solid rgba(244,237,217,.12)!important}.side-company-v158 small{color:rgba(244,237,217,.68)!important}
.k345-side-status{position:absolute;left:14px;right:14px;bottom:66px;padding:9px 10px;border-top:1px solid rgba(244,237,217,.12);font-size:9px;color:var(--k345-sand);display:flex;align-items:center;gap:7px}.k345-status-dot{width:8px;height:8px;border-radius:50%;background:#58b77a;box-shadow:0 0 0 3px rgba(88,183,122,.14)}.k345-collapse{position:absolute;right:12px;bottom:16px;width:34px;height:34px;border-radius:8px;border:1px solid rgba(244,237,217,.16);background:rgba(255,255,255,.05);color:var(--k345-sand);display:grid;place-items:center;cursor:pointer}.side.k345-collapsed .k345-brand-copy,.side.k345-collapsed .nav-label-modern,.side.k345-collapsed .nav-section-title,.side.k345-collapsed .side-company-text-v158,.side.k345-collapsed .side-company-arrow-v158,.side.k345-collapsed .k345-side-status{display:none!important}.side.k345-collapsed .nav button{justify-content:center!important;padding:9px!important}.side.k345-collapsed .k345-brand{justify-content:center;padding-inline:0}.side.k345-collapsed .k345-collapse{right:19px}
/* header */
.top.top-v158{height:64px!important;min-height:64px!important;position:sticky!important;top:0!important;z-index:60!important;background:#fff!important;border:0!important;border-bottom:1px solid rgba(27,67,50,.08)!important;box-shadow:0 2px 10px rgba(27,67,50,.05)!important;padding:0 20px!important}.top-page-meta-v158 h1,#title{color:var(--k345-forest)!important;font-size:17px!important;font-weight:800!important}.top-page-meta-v158 .sub{display:none!important}.top-user-v158{order:5!important}.top-user-copy-v158 b{color:var(--k345-text)!important}.top-user-copy-v158 small{color:var(--k345-muted)!important}.top-search-v158{width:min(390px,32vw)!important}.top-search-v158 input{background:#fff!important;border:1px solid #E2E6E3!important;color:var(--k345-text)!important;border-radius:8px!important}.top-icon-v158,.top-exit-v158,.install-app-btn{background:#fff!important;color:var(--k345-forest)!important;border:1px solid #E2E6E3!important;border-radius:8px!important}.notification-unread{background:var(--k345-copper)!important;color:#fff!important}.realtime-badge.online{background:#EDF7F0!important;color:var(--k345-mid)!important;border-color:#CFE8D7!important}
/* content */
.panel,.card,.kpi,.metric-card,.chart-card,.summary-card,.boleto-card,[class*="card-v"],[class*="panel-v"]{background:#fff!important;color:var(--k345-text)!important;border:1px solid rgba(27,67,50,.08)!important;border-radius:12px!important;box-shadow:var(--k345-shadow)!important}.panel{padding:18px!important}.sub,.note,small{color:var(--k345-muted)}
.btn,.shortcut,button{font-family:inherit}.btn{border-radius:8px!important;transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important}.btn:hover{transform:translateY(-1px)}.btn.primary,#newBtn{background:var(--k345-mid)!important;color:#fff!important;border-color:var(--k345-mid)!important}.btn.danger{background:var(--k345-danger)!important}.k345-action,.btn.copper{background:var(--k345-copper)!important;color:#fff!important;border-color:var(--k345-copper)!important}.shortcut{background:rgba(244,237,217,.55)!important;color:var(--k345-forest)!important;border:1px solid rgba(184,115,51,.16)!important}
input,select,textarea,.field input,.field select{background:#fff!important;color:var(--k345-text)!important;border:1px solid #DDE4DF!important;border-radius:8px!important}input:focus,select:focus,textarea:focus,button:focus-visible{outline:none!important;box-shadow:var(--k345-ring)!important;border-color:var(--k345-mid)!important}
table{border-collapse:separate!important;border-spacing:0!important}thead,thead tr,th{background:var(--k345-sand)!important;color:var(--k345-forest)!important}th{font-weight:700!important}td{color:var(--k345-text)!important;border-color:#ECEFEA!important}tbody tr{transition:background .18s ease}tbody tr:hover{background:#FBF8F0!important}.positive,.value-positive{color:var(--k345-mid)!important}.negative,.value-negative{color:var(--k345-danger)!important}
.modalbg{background:rgba(20,30,25,.54)!important;backdrop-filter:blur(3px)}.modal,.modal-content,[class*="modal-card"],[class*="modal-box"]{background:#fff!important;color:var(--k345-text)!important;border:1px solid rgba(27,67,50,.08)!important;border-radius:14px!important;box-shadow:0 20px 60px rgba(27,67,50,.16)!important}
.status,.chip,.badge{border-radius:999px!important}.pagar{background:#FFF6DF!important;color:#8A5B17!important}.paga,.boleto-ok{background:#EAF6EE!important;color:var(--k345-mid)!important}.atrasado,.boleto-vencido{background:#FBECEA!important;color:var(--k345-danger)!important}.conciliada{background:#F4EBDD!important;color:#8A5A2B!important}
/* Dashboard hero */
.dashboard-hero-v154,.dashboard-hero-v158,.dash-hero-v154,[class*="dashboard-hero"]{background:linear-gradient(115deg,var(--k345-forest),#244f3d)!important;color:#fff!important;border-radius:12px!important}.dashboard-hero-v154 *,[class*="dashboard-hero"] *{color:inherit}
/* animations */
@keyframes k345In{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.panel,.card,.kpi,.metric-card,.chart-card,.boleto-card{animation:k345In .24s ease both}
/* bank logos must stay untouched */
img[src*="banco"],img[src*="itau"],img[src*="bradesco"],img[src*="santander"],img[src*="nubank"],img[src*="inter"],img[src*="picpay"],img[src*="pagbank"],img[src*="mercado"]{filter:none!important;mix-blend-mode:normal!important}
/* dark mode: same identity, no legacy black/orange */
.dark-mode,.dark-mode body{--k345-bg:#10271E;--k345-text:#F6F3EA;--k345-muted:#B8C2BC}.dark-mode body.app-visible,.dark-mode #appScreen.app,.dark-mode .main{background:#10271E!important}.dark-mode .panel,.dark-mode .card,.dark-mode .kpi,.dark-mode .metric-card,.dark-mode .chart-card,.dark-mode .summary-card,.dark-mode .boleto-card,.dark-mode [class*="card-v"],.dark-mode [class*="panel-v"],.dark-mode .modal,.dark-mode .modal-content{background:#173528!important;color:#F9F7F1!important;border-color:rgba(244,237,217,.10)!important}.dark-mode .top.top-v158{background:#153126!important;border-color:rgba(244,237,217,.10)!important}.dark-mode #title,.dark-mode .top-page-meta-v158 h1,.dark-mode .top-user-copy-v158 b{color:#F9F7F1!important}.dark-mode input,.dark-mode select,.dark-mode textarea{background:#10271E!important;color:#F9F7F1!important;border-color:#315846!important}.dark-mode thead,.dark-mode thead tr,.dark-mode th{background:#244B3A!important;color:#F4EDD9!important}.dark-mode td{color:#F9F7F1!important;border-color:#315040!important}.dark-mode tbody tr:hover{background:#1D4031!important}
/* mobile: conservative drawer, don't redesign layout */
@media(max-width:767px){.side{width:260px!important;background:var(--k345-forest)!important}.main{margin-left:0!important;width:100%!important}.top.top-v158{padding:0 12px!important}.top-search-v158{display:none!important}.top-page-meta-v158{display:block!important}.top-user-v158{display:none!important}.mobile-menu-btn{display:grid!important;background:#fff!important;color:var(--k345-forest)!important;border:1px solid #E2E6E3!important}.mobile-app-nav-v172{background:var(--k345-forest)!important}.mobile-nav-item-v172{color:var(--k345-sand)!important}.mobile-nav-item-v172.active{color:#fff!important}.mobile-nav-plus-v172{background:var(--k345-copper)!important;color:#fff!important}.mobile-sheet-v172{background:#fff!important;color:var(--k345-text)!important}.dark-mode .mobile-sheet-v172{background:#173528!important;color:#F9F7F1!important}}

/* V503 source 27: kairos-v421-responsive-final */
:root{--kairos-safe-bottom:env(safe-area-inset-bottom,0px)}
html,body{max-width:100%;overflow-x:hidden}
img,svg,canvas,video{max-width:100%}
input,select,textarea,button{max-width:100%;box-sizing:border-box}
table{max-width:100%}
@media (max-width: 900px){
  .page,.content,.main-content,.app-content,[class*="content"]{max-width:100%}
  .modal,.modal-content,[role="dialog"]{max-width:calc(100vw - 24px)!important}
}
@media (max-width: 640px){
  body{min-width:0!important}
  h1{font-size:clamp(1.45rem,7vw,2rem)}
  h2{font-size:clamp(1.2rem,6vw,1.65rem)}
  input,select,textarea{font-size:16px!important}
  .mobile-bottom-nav,.bottom-nav,[data-mobile-nav]{padding-bottom:var(--kairos-safe-bottom)}
  .card,.panel,.widget,[class*="card"]{min-width:0}
  .table-wrap,.table-container,[class*="table"]{overflow-x:auto;-webkit-overflow-scrolling:touch}
}
html.dark,body.dark,[data-theme="dark"]{
  color-scheme:dark;
}
html.dark input,html.dark select,html.dark textarea,
body.dark input,body.dark select,body.dark textarea,
[data-theme="dark"] input,[data-theme="dark"] select,[data-theme="dark"] textarea{
  background:#111!important;color:#fff!important;border-color:#3a3a3a!important;
}
html.dark input::placeholder,html.dark textarea::placeholder,
body.dark input::placeholder,body.dark textarea::placeholder,
[data-theme="dark"] input::placeholder,[data-theme="dark"] textarea::placeholder{
  color:#b8b8b8!important;opacity:1
}

/* V503 source 28: kairos-v471-desktop-transaction-interaction-fix */
@media (min-width:901px){
  /* Garante que ações de lançamento no desktop nunca fiquem sem clique por CSS legado. */
  [onclick*="openTransaction("],
  #txModal button,
  #txModal input,
  #txModal select,
  #txModal textarea,
  #txSubmitV156{
    pointer-events:auto !important;
  }

  /* Modal de lançamento acima de overlays antigos do app. */
  #txModal.modalbg:not(.hidden){
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    z-index:10050 !important;
  }

  #txModal.modalbg.hidden{
    display:none !important;
    pointer-events:none !important;
  }

  #txModal .modal{
    position:relative !important;
    z-index:10051 !important;
    pointer-events:auto !important;
  }

  /* Overlay do menu mobile jamais interfere no desktop. */
  #mobileOverlay,
  .mobile-overlay{
    pointer-events:none !important;
  }

  /* Sheets/navegação mobile não podem capturar clique no desktop. */
  .mobile-sheet-v172,
  #mobileQuickAddV172,
  #mobileTransactionsV172,
  #mobileMoreV172{
    pointer-events:none !important;
  }
}

/* V503 source 29: kairos-v487-close */
#txModal.modalbg.hidden{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}

/* V503 source 30: kairos-v491-mobile-real-dashboard-fix */
@media (max-width:760px){

  html,body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    background:#F9F7F1!important;
  }

  body.app-visible,
  body.app-visible #appScreen.app,
  body.app-visible #appScreen.app>.main{
    background:#F9F7F1!important;
    color:#212529!important;
  }

  body.app-visible #appScreen.app{
    display:block!important;
    width:100%!important;
    min-height:100dvh!important;
  }

  body.app-visible #appScreen.app>.side,
  body.app-visible #mobileOverlay,
  body.app-visible #mobileMenuBtn,
  body.app-visible #mobileFab{
    display:none!important;
  }

  body.app-visible #appScreen.app>.main{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 10px calc(92px + env(safe-area-inset-bottom))!important;
    overflow:visible!important;
  }

  /* HEADER REAL DO APP */
  body.app-visible #appScreen.app>.main>.top.top-v158{
    position:relative!important;
    top:auto!important;
    z-index:1200!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    width:calc(100% + 20px)!important;
    max-width:none!important;
    min-height:150px!important;
    margin:0 -10px 10px!important;
    padding:18px 14px 14px!important;
    border:0!important;
    border-radius:0 0 22px 22px!important;
    background:
      radial-gradient(circle at 88% 2%,rgba(255,255,255,.08),transparent 36%),
      linear-gradient(145deg,#12382A,#1B4332 62%,#245641)!important;
    box-shadow:0 8px 22px rgba(27,67,50,.16)!important;
    overflow:hidden!important;
  }

  body.app-visible #appScreen.app>.main>.top.top-v158::before{
    content:"Kairós";
    position:absolute;
    left:16px;
    top:16px;
    color:#F4EDD9!important;
    font-family:Georgia,serif!important;
    font-size:27px!important;
    font-weight:700!important;
    letter-spacing:.01em!important;
  }

  body.app-visible #appScreen.app>.main>.top.top-v158::after{
    content:"BUSINESS";
    position:absolute;
    left:18px;
    top:49px;
    color:#B87333!important;
    font-size:8px!important;
    font-weight:800!important;
    letter-spacing:.32em!important;
  }

  body.app-visible .top-user-v158{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    flex:1!important;
    min-width:0!important;
    margin-top:62px!important;
  }

  body.app-visible .top-user-avatar-v158{
    width:39px!important;height:39px!important;min-width:39px!important;
    border-radius:12px!important;
    border:1px solid rgba(255,255,255,.45)!important;
    background:rgba(255,255,255,.12)!important;
    color:#fff!important;
  }

  body.app-visible .top-user-copy-v158{
    min-width:0!important;
  }

  body.app-visible .top-user-copy-v158 b{
    display:block!important;
    color:#fff!important;
    font-size:17px!important;
    line-height:1.12!important;
    font-weight:800!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body.app-visible .top-user-copy-v158 small{
    display:block!important;
    margin-top:3px!important;
    color:rgba(255,255,255,.72)!important;
    font-size:9px!important;
  }

  body.app-visible .top-actions-v158{
    position:absolute!important;
    right:13px!important;
    top:16px!important;
    display:flex!important;
    gap:6px!important;
    width:auto!important;
  }

  body.app-visible #nightModeToggle,
  body.app-visible #notificationBellBtn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.22)!important;
    border-radius:11px!important;
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
    box-shadow:none!important;
  }

  body.app-visible .top-search-v158,
  body.app-visible .top-online-v158,
  body.app-visible .top-exit-v158,
  body.app-visible #installAppBtn,
  body.app-visible .top-new-expense-v158,
  body.app-visible .top-actions-v158>.btn.primary{
    display:none!important;
  }

  /* CORREÇÃO PRINCIPAL V491:
     versões antigas escondiam todos os filhos do dashboard esperando #k347Dashboard,
     mas esse elemento NÃO existe no HTML atual. Reativamos os blocos reais. */
  #page-dashboardexec{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    color:#212529!important;
    overflow:visible!important;
  }

  #page-dashboardexec>.dashboard-command-panel{
    display:block!important;
  }
  #page-dashboardexec>.dashboard-extended-kpis{
    display:grid!important;
  }
  #page-dashboardexec>.dashboard-bank-balance-v209{
    display:block!important;
  }
  #page-dashboardexec>.dashboard-analytics-v117{
    display:grid!important;
  }
  #page-dashboardexec>.dashboard-month-compare-v130{
    display:block!important;
  }
  #page-dashboardexec>.dashboard-attention-v121{
    display:block!important;
  }
  #page-dashboardexec>.dashboard-quick-actions-panel{
    display:block!important;
  }
  #page-dashboardexec>.dre,
  #page-dashboardexec>.panel{
    display:block!important;
  }

  #page-dashboardexec>.hidden,
  #page-dashboardexec>*.hidden{
    display:none!important;
  }

  /* HERO / COMANDO */
  #page-dashboardexec .dashboard-command-panel{
    position:relative!important;
    min-height:112px!important;
    margin:0 0 9px!important;
    padding:16px 14px!important;
    border:0!important;
    border-radius:18px!important;
    color:#fff!important;
    background:linear-gradient(135deg,#1B4332,#2D6A4F)!important;
    box-shadow:0 7px 18px rgba(27,67,50,.15)!important;
    overflow:hidden!important;
  }

  #page-dashboardexec .dashboard-command-head{
    display:block!important;
  }

  #page-dashboardexec #dashboardTodayLabel{
    color:rgba(255,255,255,.72)!important;
    font-size:8px!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
  }

  #page-dashboardexec #dashboardGreeting{
    color:#fff!important;
    font-size:18px!important;
    line-height:1.15!important;
    font-weight:800!important;
  }

  #page-dashboardexec #dashboardCompanyNameV251,
  #page-dashboardexec .dashboard-period-controls{
    display:none!important;
  }

  #page-dashboardexec .dashboard-command-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
    margin-top:13px!important;
  }

  #page-dashboardexec .dashboard-command-actions .btn{
    min-height:39px!important;
    padding:8px 9px!important;
    border-radius:10px!important;
    font-size:9px!important;
    font-weight:700!important;
  }

  #page-dashboardexec .dashboard-command-actions .btn.primary{
    background:#B87333!important;
    border-color:#B87333!important;
    color:#fff!important;
  }

  /* KPIs REAIS */
  #page-dashboardexec .dashboard-extended-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin:0 0 9px!important;
  }

  #page-dashboardexec .dashboard-extended-kpis>.kpi{
    min-width:0!important;
    min-height:104px!important;
    margin:0!important;
    padding:11px!important;
    border:1px solid rgba(27,67,50,.07)!important;
    border-radius:15px!important;
    background:#fff!important;
    box-shadow:0 3px 10px rgba(27,67,50,.06)!important;
  }

  #page-dashboardexec .dashboard-extended-kpis small,
  #page-dashboardexec .dashboard-real-title-v218{
    font-size:8px!important;
    line-height:1.25!important;
    color:#64716B!important;
  }

  #page-dashboardexec .dashboard-extended-kpis b,
  #page-dashboardexec .dashboard-extended-kpis .value,
  #page-dashboardexec .dashboard-extended-kpis [id*="Value"],
  #page-dashboardexec .dashboard-extended-kpis [id*="Total"]{
    max-width:100%!important;
    font-size:15px!important;
    line-height:1.1!important;
    letter-spacing:-.02em!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  #page-dashboardexec .dashboard-real-icon-v218,
  #page-dashboardexec .period-balance-icon-v155{
    width:31px!important;height:31px!important;min-width:31px!important;
    border-radius:9px!important;
  }

  /* SALDO BANCÁRIO */
  #page-dashboardexec .dashboard-bank-balance-v209{
    margin:0 0 9px!important;
    padding:12px!important;
    border:1px solid rgba(27,67,50,.07)!important;
    border-radius:15px!important;
    background:#fff!important;
    box-shadow:0 3px 10px rgba(27,67,50,.06)!important;
  }

  /* ANALYTICS / GRÁFICOS */
  #page-dashboardexec .dashboard-analytics-v117{
    grid-template-columns:1fr!important;
    gap:9px!important;
    margin:0 0 9px!important;
  }

  #page-dashboardexec .dashboard-analytics-v117>*,
  #page-dashboardexec .dashboard-month-compare-v130,
  #page-dashboardexec .dashboard-attention-v121,
  #page-dashboardexec .dashboard-quick-actions-panel,
  #page-dashboardexec>.dre,
  #page-dashboardexec>.panel{
    min-width:0!important;
    margin:0 0 9px!important;
    padding:12px!important;
    border:1px solid rgba(27,67,50,.07)!important;
    border-radius:15px!important;
    background:#fff!important;
    box-shadow:0 3px 10px rgba(27,67,50,.055)!important;
  }

  #page-dashboardexec canvas,
  #page-dashboardexec svg{
    max-width:100%!important;
  }

  #page-dashboardexec h2,
  #page-dashboardexec h3{
    font-size:12px!important;
    line-height:1.2!important;
  }

  #page-dashboardexec .sub,
  #page-dashboardexec p,
  #page-dashboardexec small{
    font-size:8px!important;
    line-height:1.3!important;
  }

  #page-dashboardexec table{
    min-width:520px!important;
    font-size:8px!important;
  }

  #page-dashboardexec .table-scroll,
  #page-dashboardexec .table-wrap,
  #page-dashboardexec [class*="table-wrap"]{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }

  /* BARRA INFERIOR */
  .mobile-app-nav-v172{
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    bottom:calc(7px + env(safe-area-inset-bottom))!important;
    z-index:3200!important;
    width:auto!important;
    height:66px!important;
    min-height:66px!important;
    padding:5px!important;
    display:grid!important;
    grid-template-columns:1fr 1fr 58px 1fr 1fr!important;
    align-items:center!important;
    gap:1px!important;
    border:1px solid rgba(27,67,50,.08)!important;
    border-radius:19px!important;
    background:rgba(255,255,255,.97)!important;
    box-shadow:0 10px 28px rgba(27,67,50,.16)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
  }

  .mobile-nav-item-v172{
    position:relative!important;
    height:55px!important;
    min-width:0!important;
    padding:5px 1px!important;
    color:#3D5148!important;
    font-size:9px!important;
    font-weight:700!important;
  }

  .mobile-nav-item-v172.active{
    color:#1B4332!important;
  }

  .mobile-nav-item-v172.active::after{
    content:""!important;
    position:absolute!important;
    left:28%!important;right:28%!important;bottom:1px!important;
    height:2px!important;border-radius:999px!important;
    background:#B87333!important;
  }

  .mobile-nav-plus-wrap-v172{
    width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;
    margin-top:-18px!important;padding:0!important;
    border-radius:50%!important;background:#fff!important;
  }

  .mobile-nav-plus-v172{
    width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;
    display:grid!important;place-items:center!important;
    border-radius:50%!important;
    background:linear-gradient(145deg,#C9884E,#A86128)!important;
    color:#fff!important;font-size:29px!important;
    box-shadow:0 7px 16px rgba(112,65,28,.28)!important;
  }

  /* MODAL */
  #txModal.modalbg{padding:8px!important}
  #txModal #txModalCardV156.tx-modal-v156{
    width:min(100%,560px)!important;
    max-width:100%!important;
    max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
    margin:auto!important;
    border-radius:18px!important;
    overflow:auto!important;
  }

  /* DARK MOBILE */
  html.dark-mode body.app-visible,
  body.dark-mode.app-visible,
  body[data-theme="dark"].app-visible{
    background:#101613!important;
  }

  html.dark-mode body.app-visible #appScreen.app>.main,
  body.dark-mode.app-visible #appScreen.app>.main,
  body[data-theme="dark"].app-visible #appScreen.app>.main{
    background:#101613!important;
  }

  html.dark-mode #page-dashboardexec,
  body.dark-mode #page-dashboardexec,
  body[data-theme="dark"] #page-dashboardexec{
    background:transparent!important;
  }

  html.dark-mode #page-dashboardexec .dashboard-extended-kpis>.kpi,
  html.dark-mode #page-dashboardexec .dashboard-bank-balance-v209,
  html.dark-mode #page-dashboardexec .dashboard-analytics-v117>*,
  html.dark-mode #page-dashboardexec .dashboard-month-compare-v130,
  html.dark-mode #page-dashboardexec .dashboard-attention-v121,
  html.dark-mode #page-dashboardexec .dashboard-quick-actions-panel,
  body.dark-mode #page-dashboardexec .dashboard-extended-kpis>.kpi,
  body.dark-mode #page-dashboardexec .dashboard-bank-balance-v209,
  body.dark-mode #page-dashboardexec .dashboard-analytics-v117>*,
  body.dark-mode #page-dashboardexec .dashboard-month-compare-v130,
  body.dark-mode #page-dashboardexec .dashboard-attention-v121,
  body.dark-mode #page-dashboardexec .dashboard-quick-actions-panel{
    background:#171D1A!important;
    border-color:#2A352F!important;
    color:#F9F7F1!important;
  }

  html.dark-mode .mobile-app-nav-v172,
  body.dark-mode .mobile-app-nav-v172{
    background:rgba(23,29,26,.97)!important;
    border-color:#2C3932!important;
  }

  html.dark-mode .mobile-nav-item-v172,
  body.dark-mode .mobile-nav-item-v172{
    color:#CBD4CF!important;
  }
}

/* V503 source 31: kairos-v492-mobile-login-cleanup */
/* =========================================================
   V492 — LOGIN MOBILE LIMPO E ALINHADO
   Escopo: somente autenticação em telas <= 760px.
   Dashboard/app V491 permanece intacto.
   ========================================================= */
@media (max-width:760px){

  /* Quando o login está ativo, nenhum elemento de navegação do app pode aparecer. */
  body.auth-visible #appScreen,
  body.auth-visible #mobileAppNavV172,
  body.auth-visible .mobile-app-nav-v172,
  body.auth-visible #mobileFab,
  body.auth-visible #mobileSheetOverlayV172,
  body.auth-visible .mobile-sheet-v172,
  body.auth-visible .mobile-sheet-overlay-v172{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }

  body.auth-visible{
    width:100%!important;
    max-width:100%!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    overflow-x:hidden!important;
    background:#F9F7F1!important;
    color:#212529!important;
  }

  body.auth-visible #authScreen.login.login-organize-style{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:calc(18px + env(safe-area-inset-top)) 12px calc(24px + env(safe-area-inset-bottom))!important;
    background:
      radial-gradient(circle at 50% 0%,rgba(184,115,51,.06),transparent 28%),
      #F9F7F1!important;
    overflow-x:hidden!important;
  }

  body.auth-visible #authScreen .organize-login-intro{
    display:none!important;
  }

  body.auth-visible #authScreen .organize-login-access{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
  }

  body.auth-visible #authScreen .organize-login-box{
    width:100%!important;
    max-width:430px!important;
    min-height:0!important;
    margin:0 auto!important;
    padding:24px 20px 22px!important;
    border:1px solid rgba(27,67,50,.11)!important;
    border-radius:20px!important;
    background:#FFFFFF!important;
    box-shadow:0 14px 34px rgba(27,67,50,.09)!important;
    overflow:visible!important;
  }

  /* Logomarca: somente Kairós, sem marca da empresa e sem distorção. */
  body.auth-visible #authScreen .organize-login-mobile-brand{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    margin:0 0 22px!important;
    padding:3px 0 0!important;
    gap:0!important;
  }

  body.auth-visible #authScreen .kairos-v325-logo{
    display:block!important;
    width:190px!important;
    max-width:68vw!important;
    height:auto!important;
    max-height:none!important;
    margin:0 auto!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:center!important;
    opacity:1!important;
    filter:drop-shadow(0 5px 12px rgba(27,67,50,.10))!important;
    transform:none!important;
  }

  body.auth-visible #authScreen .kairos-v325-company,
  body.auth-visible #authScreen .kairos-business-client-brand{
    display:none!important;
  }

  body.auth-visible #authScreen .login-online-title{
    width:100%!important;
    margin:0 0 22px!important;
    padding:0!important;
    text-align:left!important;
  }

  body.auth-visible #authScreen .login-online-title h1{
    margin:0 0 7px!important;
    padding:0!important;
    color:#212529!important;
    font-size:29px!important;
    line-height:1.12!important;
    font-weight:800!important;
    letter-spacing:-.025em!important;
  }

  body.auth-visible #authScreen .login-online-title p{
    margin:0!important;
    color:#6C757D!important;
    font-size:12px!important;
    line-height:1.45!important;
  }

  body.auth-visible #authScreen .field{
    width:100%!important;
    margin:0 0 16px!important;
  }

  body.auth-visible #authScreen .field label{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    margin:0 0 7px!important;
    color:#212529!important;
    font-size:11px!important;
    line-height:1.2!important;
    font-weight:650!important;
  }

  body.auth-visible #authScreen .login-input-wrap{
    width:100%!important;
    min-width:0!important;
  }

  body.auth-visible #authScreen .login-input-wrap input,
  body.auth-visible #authScreen #authName,
  body.auth-visible #authScreen #authEmail,
  body.auth-visible #authScreen #authPassword{
    width:100%!important;
    min-width:0!important;
    height:50px!important;
    min-height:50px!important;
    padding-top:0!important;
    padding-bottom:0!important;
    border:1px solid #DDE4E0!important;
    border-radius:12px!important;
    background:#FFFFFF!important;
    color:#212529!important;
    -webkit-text-fill-color:#212529!important;
    font-size:16px!important; /* evita zoom automático do iOS */
    line-height:50px!important;
    box-shadow:none!important;
  }

  body.auth-visible #authScreen .login-input-wrap input:focus,
  body.auth-visible #authScreen #authName:focus,
  body.auth-visible #authScreen #authEmail:focus,
  body.auth-visible #authScreen #authPassword:focus{
    outline:none!important;
    border-color:#2D6A4F!important;
    box-shadow:0 0 0 3px rgba(45,106,79,.12)!important;
  }

  body.auth-visible #authScreen .login-input-wrap input::placeholder,
  body.auth-visible #authScreen input::placeholder{
    color:#9AA39E!important;
    -webkit-text-fill-color:#9AA39E!important;
    opacity:1!important;
  }

  body.auth-visible #authScreen .login-forgot-inline{
    color:#2D6A4F!important;
    font-size:10px!important;
    font-weight:600!important;
  }

  body.auth-visible #authScreen .organize-login-main-btn{
    width:100%!important;
    height:50px!important;
    min-height:50px!important;
    margin:5px 0 0!important;
    padding:0 16px!important;
    border:0!important;
    border-radius:12px!important;
    background:linear-gradient(180deg,#2D6A4F,#1B4332)!important;
    color:#FFFFFF!important;
    font-size:13px!important;
    line-height:50px!important;
    font-weight:750!important;
    box-shadow:0 8px 18px rgba(27,67,50,.17)!important;
  }

  body.auth-visible #authScreen .login-create-row{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:wrap!important;
    gap:5px!important;
    width:100%!important;
    margin:19px 0 0!important;
    color:#7A837E!important;
    font-size:11px!important;
    line-height:1.3!important;
    text-align:center!important;
  }

  body.auth-visible #authScreen .login-create-link{
    margin:0!important;
    color:#B87333!important;
    font-size:11px!important;
    font-weight:750!important;
  }

  body.auth-visible #authScreen #authMsg{
    margin-top:10px!important;
    font-size:10px!important;
    text-align:center!important;
  }

  /* Evita sobras visuais e largura fantasma no login. */
  body.auth-visible #notificationDrawer,
  body.auth-visible .mobile-overlay{
    display:none!important;
  }
}

@media (max-width:380px){
  body.auth-visible #authScreen.login.login-organize-style{
    padding-left:9px!important;
    padding-right:9px!important;
  }
  body.auth-visible #authScreen .organize-login-box{
    padding:21px 16px 20px!important;
    border-radius:17px!important;
  }
  body.auth-visible #authScreen .kairos-v325-logo{
    width:172px!important;
  }
  body.auth-visible #authScreen .login-online-title h1{
    font-size:26px!important;
  }
}

/* V532.12 — Login Kairós moderno restaurado */
body.auth-visible #authScreen.login.login-organize-style{
  min-height:100svh!important;
  display:grid!important;
  grid-template-columns:minmax(440px,1.08fr) minmax(420px,.92fr)!important;
  padding:0!important;
  overflow:hidden!important;
  background:#f7f3ea!important;
  font-family:Manrope,Montserrat,system-ui,sans-serif!important;
}
body.auth-visible #authScreen .organize-login-intro{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  min-height:100svh!important;
  padding:clamp(38px,6vw,86px)!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 16% 18%,rgba(255,255,255,.14) 0 2px,transparent 3px) 0 0/24px 24px,
    radial-gradient(circle at 92% 8%,rgba(184,115,51,.36),transparent 31%),
    linear-gradient(145deg,#102f24 0%,#1b4332 48%,#2d6a4f 100%)!important;
}
body.auth-visible #authScreen .organize-login-intro::before{
  content:""!important;position:absolute!important;width:420px!important;height:420px!important;
  right:-190px!important;bottom:-170px!important;border:1px solid rgba(244,237,217,.2)!important;
  border-radius:50%!important;box-shadow:0 0 0 46px rgba(244,237,217,.045),0 0 0 96px rgba(244,237,217,.035)!important;
}
body.auth-visible #authScreen .organize-login-intro::after{
  content:""!important;position:absolute!important;width:180px!important;height:180px!important;
  right:9%!important;top:8%!important;border-radius:42% 58% 62% 38%!important;
  background:linear-gradient(145deg,rgba(184,115,51,.28),rgba(244,237,217,.04))!important;
  transform:rotate(18deg)!important;filter:blur(.2px)!important;
}
body.auth-visible #authScreen .organize-login-intro-inner{position:relative!important;z-index:2!important;width:min(660px,100%)!important;margin:auto!important}
body.auth-visible #authScreen .organize-brand-area{margin-bottom:clamp(40px,7vh,76px)!important}
body.auth-visible #authScreen .kairos-business-main-logo{width:min(310px,72%)!important;max-height:110px!important;object-fit:contain!important;object-position:left center!important;filter:drop-shadow(0 10px 24px rgba(0,0,0,.16))!important}
body.auth-visible #authScreen .kairos-business-client-brand,
body.auth-visible #authScreen .kairos-v325-company{display:none!important}
body.auth-visible #authScreen .organize-kicker{display:inline-flex!important;padding:7px 11px!important;border:1px solid rgba(244,237,217,.24)!important;border-radius:999px!important;background:rgba(255,255,255,.07)!important;color:#f4edd9!important;font-size:10px!important;font-weight:800!important;letter-spacing:.12em!important}
body.auth-visible #authScreen .organize-login-copy h1{max-width:590px!important;margin:20px 0 16px!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:clamp(36px,4vw,62px)!important;line-height:1.02!important;letter-spacing:-.045em!important;font-weight:800!important}
body.auth-visible #authScreen .organize-login-copy p{max-width:590px!important;margin:0!important;color:rgba(255,255,255,.77)!important;font-size:clamp(13px,1.15vw,16px)!important;line-height:1.75!important}
body.auth-visible #authScreen .organize-feature-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:11px!important;margin-top:34px!important}
body.auth-visible #authScreen .organize-feature-card{display:flex!important;align-items:center!important;gap:12px!important;min-height:76px!important;padding:14px!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:16px!important;background:rgba(255,255,255,.075)!important;box-shadow:none!important;backdrop-filter:blur(10px)!important}
body.auth-visible #authScreen .organize-feature-icon{width:38px!important;height:38px!important;display:grid!important;place-items:center!important;flex:0 0 38px!important;border-radius:12px!important;background:rgba(184,115,51,.22)!important;color:#f4d0a7!important;font-size:18px!important}
body.auth-visible #authScreen .organize-feature-card b{display:block!important;color:#fff!important;font-size:12px!important}
body.auth-visible #authScreen .organize-feature-card small{display:block!important;margin-top:3px!important;color:rgba(255,255,255,.62)!important;font-size:10px!important}
body.auth-visible #authScreen .organize-cloud-status{display:flex!important;align-items:center!important;gap:9px!important;margin-top:26px!important;color:rgba(255,255,255,.62)!important;font-size:10px!important}
body.auth-visible #authScreen .organize-cloud-dot{width:8px!important;height:8px!important;border-radius:50%!important;background:#72d69b!important;box-shadow:0 0 0 5px rgba(114,214,155,.12)!important}
body.auth-visible #authScreen .organize-login-access{display:grid!important;place-items:center!important;min-height:100svh!important;padding:clamp(28px,6vw,84px)!important;background:linear-gradient(145deg,#fbfaf6,#f4edd9)!important}
body.auth-visible #authScreen .organize-login-box{width:min(450px,100%)!important;margin:0!important;padding:clamp(28px,4vw,46px)!important;border:1px solid rgba(27,67,50,.1)!important;border-radius:24px!important;background:rgba(255,255,255,.88)!important;box-shadow:0 24px 70px rgba(27,67,50,.13)!important;backdrop-filter:blur(18px)!important}
body.auth-visible #authScreen .organize-login-mobile-brand{display:block!important;margin:0 0 32px!important;text-align:left!important}
body.auth-visible #authScreen .kairos-v325-logo{width:220px!important;max-height:76px!important;object-fit:contain!important;object-position:left center!important;filter:none!important}
body.auth-visible #authScreen .login-online-title{margin-bottom:28px!important;text-align:left!important}
body.auth-visible #authScreen .login-online-title h1{margin:0!important;color:#1b4332!important;-webkit-text-fill-color:#1b4332!important;font-size:34px!important;line-height:1.1!important;letter-spacing:-.035em!important;font-weight:800!important}
body.auth-visible #authScreen .login-online-title p{margin:9px 0 0!important;color:#66736c!important;font-size:12px!important;line-height:1.55!important}
body.auth-visible #authScreen .field{margin:0 0 17px!important}
body.auth-visible #authScreen .field label{color:#263c32!important;font-size:11px!important;font-weight:800!important}
body.auth-visible #authScreen .login-password-label{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
body.auth-visible #authScreen .login-input-wrap{min-height:54px!important;border:1px solid #d8dfda!important;border-radius:14px!important;background:#fff!important;box-shadow:0 1px 2px rgba(27,67,50,.03)!important;transition:.2s!important}
body.auth-visible #authScreen .login-input-wrap:focus-within{border-color:#2d6a4f!important;box-shadow:0 0 0 4px rgba(45,106,79,.1)!important}
body.auth-visible #authScreen .login-input-icon{color:#7b8b82!important}
body.auth-visible #authScreen .login-input-wrap input,
body.auth-visible #authScreen #authName{height:52px!important;background:transparent!important;color:#1f2d26!important;font-size:13px!important}
body.auth-visible #authScreen .login-forgot-inline,
body.auth-visible #authScreen .login-create-link{color:#b87333!important;font-weight:800!important}
body.auth-visible #authScreen .organize-login-main-btn{width:100%!important;min-height:54px!important;margin-top:5px!important;border:0!important;border-radius:14px!important;background:linear-gradient(135deg,#1b4332,#2d6a4f)!important;color:#fff!important;font-size:13px!important;font-weight:800!important;box-shadow:0 14px 28px rgba(27,67,50,.2)!important}
body.auth-visible #authScreen .organize-login-main-btn:hover{transform:translateY(-1px)!important;filter:brightness(1.04)!important}
body.auth-visible #authScreen .login-create-row{margin-top:24px!important;padding-top:19px!important;border-top:1px solid #edf0ee!important;color:#748078!important;font-size:11px!important;text-align:center!important}
body.auth-visible #authScreen #authMsg{margin-top:13px!important;padding:0!important;background:transparent!important;border:0!important;color:#b42318!important;font-size:11px!important;text-align:center!important}

@media(max-width:900px){
  body.auth-visible #authScreen.login.login-organize-style{grid-template-columns:1fr!important;overflow:auto!important;background:linear-gradient(145deg,#fbfaf6,#f4edd9)!important}
  body.auth-visible #authScreen .organize-login-intro{display:none!important}
  body.auth-visible #authScreen .organize-login-access{min-height:100svh!important;padding:24px 16px!important}
  body.auth-visible #authScreen .organize-login-box{padding:30px 24px!important;border-radius:22px!important}
  body.auth-visible #authScreen .organize-login-mobile-brand{display:block!important}
}
@media(max-width:420px){
  body.auth-visible #authScreen .organize-login-access{padding:12px!important}
  body.auth-visible #authScreen .organize-login-box{padding:26px 19px!important;border-radius:19px!important}
  body.auth-visible #authScreen .kairos-v325-logo{width:190px!important}
  body.auth-visible #authScreen .login-online-title h1{font-size:29px!important}
}

/* V532.15 — autoridade final única do login responsivo.
   Este bloco precisa permanecer no fim do arquivo para vencer CSS legado. */
html:has(body.auth-visible),body.auth-visible{
  width:100%!important;max-width:100%!important;min-height:100%!important;
  margin:0!important;overflow-x:hidden!important;background:#f7f3ea!important;
}
body.auth-visible #authScreen.login.login-organize-style{
  box-sizing:border-box!important;width:100%!important;max-width:100%!important;
  min-width:0!important;min-height:100dvh!important;height:auto!important;margin:0!important;
  padding:0!important;display:grid!important;overflow-x:hidden!important;
  grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr)!important;
}
body.auth-visible #authScreen *,body.auth-visible #authScreen *::before,body.auth-visible #authScreen *::after{box-sizing:border-box!important}
body.auth-visible #authScreen .organize-login-intro,
body.auth-visible #authScreen .organize-login-access{width:100%!important;min-width:0!important;min-height:100dvh!important}
body.auth-visible #authScreen .organize-login-intro{padding:clamp(30px,5vw,76px)!important}
body.auth-visible #authScreen .organize-login-intro-inner{width:100%!important;max-width:660px!important;min-width:0!important}
body.auth-visible #authScreen .organize-login-access{padding:clamp(24px,4vw,64px)!important}
body.auth-visible #authScreen .organize-login-box{
  width:100%!important;max-width:450px!important;min-width:0!important;
  margin:auto!important;padding:clamp(26px,3vw,42px)!important;overflow:visible!important;
}
body.auth-visible #authScreen .field,
body.auth-visible #authScreen .login-input-wrap{width:100%!important;min-width:0!important;max-width:100%!important}
body.auth-visible #authScreen .login-input-wrap{display:flex!important;align-items:center!important;overflow:hidden!important}
body.auth-visible #authScreen .login-input-wrap input,
body.auth-visible #authScreen #authName,
body.auth-visible #authScreen #authEmail,
body.auth-visible #authScreen #authPassword{
  flex:1 1 auto!important;width:1%!important;min-width:0!important;max-width:100%!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;
}
body.auth-visible #authScreen .password-eye{flex:0 0 44px!important;width:44px!important;max-width:44px!important}

@media (min-width:1500px){
  body.auth-visible #authScreen.login.login-organize-style{grid-template-columns:minmax(0,1.18fr) minmax(520px,.82fr)!important}
  body.auth-visible #authScreen .organize-login-intro{padding-left:max(64px,calc((100vw - 1760px)/2 + 64px))!important}
  body.auth-visible #authScreen .organize-login-access{padding-right:max(64px,calc((100vw - 1760px)/2 + 64px))!important}
}

@media (min-width:901px) and (max-width:1199px){
  body.auth-visible #authScreen.login.login-organize-style{grid-template-columns:minmax(0,1fr) minmax(390px,.9fr)!important}
  body.auth-visible #authScreen .organize-login-intro{padding:32px!important}
  body.auth-visible #authScreen .organize-login-access{padding:24px!important}
  body.auth-visible #authScreen .organize-brand-area{margin-bottom:28px!important}
  body.auth-visible #authScreen .organize-login-copy h1{font-size:clamp(34px,4vw,46px)!important}
}

@media (min-width:901px) and (max-height:800px){
  body.auth-visible #authScreen .organize-login-intro,
  body.auth-visible #authScreen .organize-login-access{min-height:100dvh!important;padding-top:18px!important;padding-bottom:18px!important}
  body.auth-visible #authScreen .organize-brand-area{margin-bottom:16px!important}
  body.auth-visible #authScreen .kairos-business-main-logo{max-height:64px!important}
  body.auth-visible #authScreen .organize-login-copy h1{margin:12px 0 9px!important;font-size:36px!important}
  body.auth-visible #authScreen .organize-login-copy p{font-size:11px!important;line-height:1.45!important}
  body.auth-visible #authScreen .organize-feature-grid{margin-top:14px!important;gap:7px!important}
  body.auth-visible #authScreen .organize-feature-card{min-height:54px!important;padding:8px 10px!important}
  body.auth-visible #authScreen .organize-cloud-status{margin-top:12px!important}
  body.auth-visible #authScreen .organize-login-box{padding:22px 28px!important}
  body.auth-visible #authScreen .organize-login-mobile-brand{margin-bottom:14px!important}
  body.auth-visible #authScreen .kairos-v325-logo{max-height:52px!important}
  body.auth-visible #authScreen .login-online-title{margin-bottom:15px!important}
  body.auth-visible #authScreen .login-online-title h1{font-size:27px!important}
  body.auth-visible #authScreen .field{margin-bottom:10px!important}
  body.auth-visible #authScreen .login-input-wrap{min-height:46px!important}
  body.auth-visible #authScreen .login-input-wrap input{height:44px!important}
  body.auth-visible #authScreen .organize-login-main-btn{min-height:46px!important}
  body.auth-visible #authScreen .login-create-row{margin-top:13px!important;padding-top:12px!important}
}

@media (max-width:900px){
  html:has(body.auth-visible),body.auth-visible{background:#f7f3ea!important;overflow-y:auto!important}
  body.auth-visible #authScreen.login.login-organize-style{
    display:block!important;grid-template-columns:1fr!important;min-height:100dvh!important;
    padding:calc(14px + env(safe-area-inset-top)) 12px calc(18px + env(safe-area-inset-bottom))!important;
    overflow:visible!important;background:linear-gradient(145deg,#fbfaf6,#f4edd9)!important;
  }
  body.auth-visible #authScreen .organize-login-intro{display:none!important}
  body.auth-visible #authScreen .organize-login-access{
    display:flex!important;align-items:center!important;justify-content:center!important;
    width:100%!important;min-height:calc(100dvh - 32px)!important;margin:0!important;padding:0!important;background:transparent!important;
  }
  body.auth-visible #authScreen .organize-login-box{
    width:100%!important;max-width:440px!important;min-width:0!important;margin:auto!important;
    padding:26px 21px!important;border-radius:20px!important;overflow:visible!important;
  }
  body.auth-visible #authScreen .organize-login-mobile-brand{display:block!important;margin:0 0 19px!important;text-align:center!important}
  body.auth-visible #authScreen .kairos-v325-logo{display:block!important;width:min(190px,60vw)!important;height:auto!important;max-height:64px!important;margin:auto!important;object-position:center!important}
  body.auth-visible #authScreen .login-online-title{margin-bottom:18px!important;text-align:center!important}
  body.auth-visible #authScreen .login-online-title h1{font-size:clamp(25px,8vw,29px)!important}
  body.auth-visible #authScreen .field{margin-bottom:13px!important}
  body.auth-visible #authScreen .login-input-wrap{min-height:50px!important}
  body.auth-visible #authScreen .login-input-wrap input,
  body.auth-visible #authScreen #authName,
  body.auth-visible #authScreen #authEmail,
  body.auth-visible #authScreen #authPassword{height:48px!important;font-size:16px!important;line-height:normal!important}
  body.auth-visible #authScreen .organize-login-main-btn{height:50px!important;min-height:50px!important}
  body.auth-visible #authScreen .login-create-row{margin-top:16px!important;padding-top:14px!important}
}

@media (max-width:380px){
  body.auth-visible #authScreen.login.login-organize-style{padding-left:8px!important;padding-right:8px!important}
  body.auth-visible #authScreen .organize-login-box{padding:21px 16px!important;border-radius:17px!important}
  body.auth-visible #authScreen .organize-login-mobile-brand{margin-bottom:15px!important}
  body.auth-visible #authScreen .kairos-v325-logo{width:170px!important}
  body.auth-visible #authScreen .login-online-title{margin-bottom:15px!important}
  body.auth-visible #authScreen .field{margin-bottom:11px!important}
}
