:root{--bg:#edf2f6;--panel:#fff;--ink:#061a30;--muted:#64768b;--line:#d7e0e8;--green:#08a650;--green-soft:#e4f7ec;--red:#df273c;--red-soft:#ffe7eb;--yellow:#b67800;--yellow-soft:#fff3c8;--blue:#2866d7;--blue-soft:#e7efff;--orange:#d76a14;--orange-soft:#fff0e4;--dark:#000;--shadow:0 14px 32px #071a2e12;--radius:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}.hidden{display:none!important}button{cursor:pointer}.auth-view{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#06101a,#12304c);padding:18px}.auth-card{width:min(440px,92vw);background:#fff;border-radius:24px;padding:30px;box-shadow:0 24px 70px #0008}.logo{display:block;max-width:205px;height:auto;object-fit:contain;margin:0 auto 18px}.eyebrow{margin:0;color:var(--green);font-weight:900;font-size:11px;letter-spacing:.12em}.auth-card h1{text-align:center;margin:0}.auth-card>.muted{text-align:center;color:var(--muted)}.small{font-size:12px}.stack{display:grid;gap:14px;margin-top:22px}label{display:grid;gap:6px;font-size:12px;font-weight:900;color:#506176;text-transform:uppercase}input,select,textarea{width:100%;padding:11px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);outline:none}textarea{min-height:88px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #08a65022}.button{border:0;border-radius:11px;padding:11px 15px;font-weight:850}.button.primary{background:var(--green);color:#fff}.button.secondary{background:#fff;color:#071019;border:1px solid var(--line)}.button.link{background:#fff;color:#071019;border:1px solid var(--line)}.button.icon{background:#eef3f6;color:#071019}.button.logout{width:100%;background:#fff;color:#071019}.notice{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f5f7f9;color:#42566d;margin:14px 0}.notice.warning{background:var(--yellow-soft);border-color:#e3b544;color:#7a4a00}.toast{position:fixed;z-index:100;right:22px;bottom:22px;max-width:min(440px,calc(100vw - 32px));padding:13px 16px;border-radius:12px;background:#061a30;color:#fff;box-shadow:0 12px 30px #0004;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;font-weight:700}.toast.show{opacity:1;transform:none}.toast.error{background:#991b1b}.app{display:grid;grid-template-columns:255px 1fr;min-height:100vh}.sidebar{background:var(--dark);color:#fff;padding:18px 14px;display:flex;flex-direction:column;min-height:100vh}.brand{display:flex;flex-direction:column;align-items:center;color:#9cd9b5;letter-spacing:1.6px;font-size:13px;margin-bottom:15px;text-align:center}.brand-logo{max-width:175px;width:100%;height:auto;margin-bottom:8px;background:#000}.brand small{color:#9cd9b5}.role-card{order:5;margin-top:auto;border-top:1px solid #263540;border-radius:0;border-left:0;border-right:0;border-bottom:0;padding:14px 0 0;display:grid;gap:3px}.role-card span{font-weight:900;overflow-wrap:anywhere}.role-card small{color:#9dafc0;text-transform:uppercase;letter-spacing:.08em}.nav{display:grid;gap:2px;overflow:auto}.nav button{width:100%;text-align:left;border:0;background:transparent;color:#fff;padding:11px 12px;border-radius:10px;font-weight:750;margin:2px 0}.nav button.active,.nav button:hover{background:#0b3524;color:#fff;border-left:3px solid #18d271;padding-left:9px}.sidebar .logout{order:6;margin-top:12px}.main{min-width:0;padding:22px;overflow:auto}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.topbar h1{margin:0;font-size:30px}.topbar .eyebrow{display:none}.top-actions{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}.top-actions select{min-width:210px}.dashboard-toolbar{display:flex;justify-content:flex-end;align-items:end;gap:16px;margin-bottom:10px}.dashboard-toolbar>div{display:none}.month-picker{width:150px}.metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.metric{min-width:0;height:145px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;display:flex;flex-direction:column;justify-content:flex-start;cursor:pointer;overflow:hidden;box-shadow:var(--shadow);border-top:4px solid var(--ink)}.metric.green{border-top-color:var(--green)}.metric.red{border-top-color:var(--red)}.metric.amber{border-top-color:var(--yellow)}.metric small{font-size:11px;font-weight:950;color:#61748a;text-transform:uppercase;min-height:28px}.metric strong{display:block;font-size:clamp(16px,1.55vw,22px);line-height:1.1;margin:7px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric span{color:var(--muted);font-size:12px;margin-top:auto}.metric.green strong{color:var(--green)}.metric.red strong{color:var(--red)}.metric.amber strong{color:var(--yellow)}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:16px;box-shadow:var(--shadow)}.panel-head,.split{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.panel h2{margin:0 0 14px;font-size:19px}.actions{display:flex;gap:8px;flex-wrap:wrap}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:1000px}.table th,.table td{padding:11px;border-bottom:1px solid var(--line);font-size:13px;text-align:left;vertical-align:middle}.table th{background:#f2f6f9;color:#4f6278;position:sticky;top:0}.table td.money{font-weight:900;white-space:nowrap}.status,.approval{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}.status.paga,.approval.aprovada{background:var(--blue-soft);color:var(--blue)}.status.a_pagar,.approval.aguardando{background:var(--green-soft);color:var(--green)}.status.atrasada,.approval.reprovada{background:var(--red-soft);color:var(--red)}.status.parcial{background:var(--orange-soft);color:var(--orange)}.empty{text-align:center;padding:32px;border:1px dashed #bfd0dc;border-radius:12px;color:var(--muted)}.timeline-scroll{overflow:auto;padding-bottom:5px}.timeline-grid{display:grid;grid-template-columns:repeat(6,minmax(155px,1fr));gap:12px;min-width:950px}.timeline-item{border:2px solid #70cd98;border-radius:14px;padding:12px;min-height:105px;cursor:pointer;background:var(--green-soft);display:grid;gap:5px}.timeline-item.amber{background:var(--yellow-soft);border-color:#e3b544}.timeline-item.red{background:var(--red-soft);border-color:#ed7783}.timeline-item b{font-size:16px}.timeline-item small{color:var(--muted)}.plan-bars{display:grid;gap:12px}.plan-row{display:grid;grid-template-columns:minmax(180px,34%) 1fr minmax(100px,130px);gap:12px;align-items:center;cursor:pointer}.plan-row span{font-size:13px;font-weight:800;line-height:1.25;overflow-wrap:anywhere}.plan-row>b{text-align:right;font-weight:900;white-space:nowrap}.plan-bar{height:28px;background:#eef3f8;border-radius:9px;overflow:hidden}.plan-bar i{height:100%;min-width:4px;display:block;background:#2f68d4;border-radius:9px}.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px}.card h3{margin:0 0 8px}.card strong{font-size:21px}.modal{position:fixed;inset:0;background:#0008;display:grid;place-items:center;padding:18px;z-index:50}.modal-card{width:min(1050px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;padding:20px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.modal-head h2{margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.full{grid-column:1/-1}.modal-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.user-invite-form{max-width:850px}.month-picker input{font-size:12px}.series-field{display:grid}.chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.chart-box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.ia-box{background:linear-gradient(135deg,#071019,#12304c);color:#fff;border-radius:18px;padding:20px}.rh-section{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:#f8fafc}.doc-list{display:grid;gap:8px;margin-top:12px}.doc-item{display:grid;grid-template-columns:1fr auto;gap:12px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}@media(max-width:1150px){.metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.app{grid-template-columns:1fr}.sidebar{min-height:auto}.role-card{order:0;margin-top:12px}.sidebar .logout{order:0}.main{padding:14px}.metrics{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.grid2,.grid3{grid-template-columns:1fr}.dashboard-toolbar{display:block}.month-picker{width:100%;display:block;margin-bottom:10px}.plan-row{grid-template-columns:1fr}.plan-row>b{text-align:left}}@media print{.sidebar,.topbar,.toolbar,.tabs,.button{display:none!important}.app{display:block}.main{padding:0}.panel{border:0}.table{min-width:0}.table-wrap{overflow:visible}}
.mfa-card{width:min(620px,96vw)}.mfa-enroll-layout{display:grid;grid-template-columns:230px 1fr;gap:24px;align-items:start}.mfa-qr-box{min-height:230px;display:grid;place-items:center;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff}.mfa-qr-box img{width:200px;height:200px;display:block}.mfa-secret code{display:block;word-break:break-all;padding:12px;border:1px dashed var(--line);border-radius:10px;background:#f6f8fa;color:var(--ink);font-size:12px}.mfa-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mfa-badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900;background:var(--yellow-soft);color:#7a4a00}.mfa-badge.active{background:var(--green-soft);color:var(--green)}@media(max-width:620px){.mfa-enroll-layout{grid-template-columns:1fr}.mfa-qr-box{justify-self:center}}
.toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-top:10px}.toolbar>label{min-width:180px}.toolbar>label.grow{flex:1;min-width:260px}.grid2,.grid3{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.freelancer-calendar{display:grid;grid-template-columns:repeat(7,minmax(36px,1fr));gap:6px}.cal-head{text-align:center;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;padding:5px}.cal-day{min-height:42px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-weight:800}.cal-day:hover{border-color:var(--green);background:var(--green-soft)}.cal-day.selected{background:var(--green);border-color:var(--green);color:#fff}.cal-day.empty{border:0;background:transparent}.cal-summary{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;padding:12px;border-radius:11px;background:#eef7f1;color:#155d36;font-size:12px}.rh-section h3{margin:0 0 12px;color:#12304c}.doc-list .button{align-self:center}@media(max-width:620px){.calendar-toolbar{align-items:stretch;flex-direction:column}.calendar-toolbar .button{width:100%}.freelancer-calendar{gap:3px}.cal-day{min-height:35px}}

/* Layout: sidebar e conteúdo possuem rolagens independentes. */
@media (min-width:821px){html,body{height:100%;overflow:hidden}.app{height:100vh;min-height:100vh;overflow:hidden}.sidebar{height:100vh;min-height:0;overflow:hidden}.nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.main{height:100vh;overflow-y:auto;overflow-x:hidden}}
@media (max-width:820px){.app{min-height:100vh;overflow:visible}.sidebar{height:auto;min-height:auto;max-height:100vh;overflow:hidden}.nav{max-height:calc(100vh - 170px);overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.main{height:auto;overflow:visible}}

/* Exceções individuais e ações de usuários: cores semânticas. */
.button.action-edit{background:#e7efff;color:#174a9b;border:1px solid #9fbeef}
.button.action-reset{background:#fff3c8;color:#7a4a00;border:1px solid #e3b544}
.button.action-block{background:#ffe7eb;color:#a7192e;border:1px solid #ed7783}
.button.action-unblock{background:#e4f7ec;color:#126b3a;border:1px solid #70cd98}
.button.action-refresh{background:#e7efff;color:#174a9b;border:1px solid #9fbeef}
.button.action-restore{background:#fff0e4;color:#9a4300;border:1px solid #e8a56e}
.user-permission-panel{border:1px solid var(--line,#d7e0e8);border-radius:16px;background:#f8fafc;padding:16px}
.user-permission-panel h3{margin:0 0 6px;color:#12304c}
.user-permission-grid{display:grid;gap:7px;margin-top:12px}
.user-permission-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,220px) auto;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line,#d7e0e8);border-radius:10px;background:#fff}
.user-permission-check{display:flex;align-items:center;gap:8px;text-transform:none;color:#061a30;font-size:13px}
.user-permission-check input{width:auto}
.user-permission-state{font-size:11px;color:#64768b}
.user-permission-row .button{padding:7px 10px;font-size:11px}
@media(max-width:620px){.user-permission-row{grid-template-columns:1fr;gap:5px}.user-permission-row .button{justify-self:start}}
/* Sidebar e conteúdo possuem rolagens independentes. */
@media (min-width:821px){html,body{height:100%;overflow:hidden}.app{height:100vh;min-height:100vh;overflow:hidden}.sidebar{height:100vh;min-height:0;overflow:hidden}.nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.main{height:100vh;overflow-y:auto;overflow-x:hidden}}
@media (max-width:820px){.app{min-height:100vh;overflow:visible}.sidebar{height:auto;min-height:auto;max-height:100vh;overflow:hidden}.nav{max-height:calc(100vh - 170px);overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.main{height:auto;overflow:visible}}
/* Barra da navegação lateral: fina e discreta. */
.nav{scrollbar-width:thin;scrollbar-color:#3b4650 transparent}
.nav::-webkit-scrollbar{width:5px;height:5px}
.nav::-webkit-scrollbar-track{background:transparent}
.nav::-webkit-scrollbar-thumb{background:#3b4650;border-radius:999px;border:1px solid #000}
.nav::-webkit-scrollbar-thumb:hover{background:#607080}

/* Todos os botões têm hierarquia visual; o verde permanece reservado às ações primárias. */
.button.secondary{background:#eef2f6;color:#243447;border:1px solid #c9d3de}
.button.secondary:hover{background:#dce7ef;border-color:#9fb1c2}
.button.icon{background:#e7efff;color:#174a9b;border:1px solid #9fbeef}
.button.action-report-overdue,.button.action-remove{background:var(--red-soft);color:#a7192e;border:1px solid #ed7783}
.button.action-report-paid,.button.action-export{background:var(--blue-soft);color:#174a9b;border:1px solid #9fbeef}
.button.action-map{background:var(--yellow-soft);color:#7a4a00;border:1px solid #e3b544}

/* Tipografia dos botões: peso regular, sem negrito excessivo. */
.button,.nav button,.cal-day{font-weight:400}

/* Tema escuro opcional; o tema claro permanece o padrão. */
body.theme-dark{--bg:#10161d;--panel:#18222c;--ink:#edf3f7;--muted:#a9b7c4;--line:#344452;--green-soft:#123b28;--red-soft:#4a222c;--yellow-soft:#493a16;--blue-soft:#1c3558;--orange-soft:#4b2d17;--shadow:0 14px 32px #0006}
body.theme-dark .auth-view{background:linear-gradient(135deg,#05090d,#102638)}
body.theme-dark .auth-card,body.theme-dark .panel,body.theme-dark .card,body.theme-dark .modal-card,body.theme-dark .chart-box,body.theme-dark .mfa-qr-box,body.theme-dark .user-permission-row,body.theme-dark .doc-item{background:var(--panel);color:var(--ink);border-color:var(--line)}
body.theme-dark input,body.theme-dark select,body.theme-dark textarea{background:#101820;color:var(--ink);border-color:var(--line)}
body.theme-dark .button.secondary,body.theme-dark .button.link,body.theme-dark .button.logout{background:#202d38;color:var(--ink);border-color:#465968}
body.theme-dark .button.secondary:hover,body.theme-dark .button.link:hover{background:#2b3b48;border-color:#668092}
body.theme-dark .button.icon{background:#233b5e;color:#e1edff;border-color:#5273a2}
body.theme-dark .notice{background:#202d38;color:#c4d0da;border-color:var(--line)}
body.theme-dark .table th{background:#202d38;color:#c4d0da}
body.theme-dark .empty{border-color:#536675}
body.theme-dark .plan-bar{background:#263541}
body.theme-dark .cal-day{background:#101820;color:var(--ink);border-color:var(--line)}
body.theme-dark .cal-day.empty{background:transparent;border-color:transparent}
body.theme-dark .mfa-secret code{background:#101820;color:var(--ink);border-color:var(--line)}
body.theme-dark .rh-section,body.theme-dark .user-permission-panel{background:#111b24;border-color:var(--line)}
body.theme-dark .user-permission-check{color:var(--ink)}
body.theme-dark .button.action-edit,body.theme-dark .button.action-refresh,body.theme-dark .button.action-report-paid,body.theme-dark .button.action-export{background:#203a62;color:#cfe0ff;border-color:#5b86c4}
body.theme-dark .button.action-reset,body.theme-dark .button.action-map,body.theme-dark .button.action-restore{background:#4a3815;color:#ffe7a1;border-color:#b38a32}
body.theme-dark .button.action-block,body.theme-dark .button.action-report-overdue,body.theme-dark .button.action-remove{background:#4b202a;color:#ffc6ce;border-color:#bd6273}
body.theme-dark .button.action-unblock{background:#153b28;color:#baf1cf;border-color:#5bbd85}

/* Estados de integração: nunca deixar a tela presa em carregamento. */
.empty.error-state{display:grid;place-items:center;gap:10px;color:var(--muted)}
.empty.error-state .button{justify-self:center}

/* MONCOC IA e integração Proton: estados informativos sem credenciais no navegador. */
.ia-answer{margin-top:16px;padding:14px;border:1px solid #70cd98;border-radius:12px;background:#e4f7ec;color:#126b3a;white-space:pre-wrap}
.ia-box label{display:grid;gap:7px;color:#fff;margin-top:14px}
.ia-box textarea{width:100%;box-sizing:border-box;background:#fff;color:#061a30;border:1px solid #b9cad7;border-radius:10px;padding:11px;resize:vertical}
.integration-grid .card{display:grid;gap:8px;align-content:start}
.integration-grid .card small{color:var(--muted);font-size:11px;letter-spacing:.04em}
.integration-grid .card strong{font-size:18px}
body.theme-dark .ia-answer{background:#153b28;color:#baf1cf;border-color:#5bbd85}
body.theme-dark .ia-box textarea{background:#101820;color:var(--ink);border-color:var(--line)}

/* Cards de Lançamento: valores informativos sem negrito excessivo. */
.launch-metric-card{display:grid;gap:8px;align-content:start}
.launch-metric-card small{color:var(--muted);font-size:11px;letter-spacing:.04em}
.launch-metric-value{display:block;font-size:18px;line-height:1.25;font-weight:400;color:var(--ink)}

/* Financeiro mensal: consulta por competência e calendário por vencimento. */
.month-filter-box{margin-top:18px;padding:16px;border:1px solid var(--line,#d7e0e8);border-radius:12px;background:var(--panel-soft,#f7fafc)}
.month-filter-box h3{margin:0 0 4px;font-size:1rem;font-weight:500}
.month-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-top:12px}
.month-filter-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line,#d7e0e8);border-radius:9px;background:var(--panel,#fff);cursor:pointer;transition:border-color .15s,background .15s}
.month-filter-item:hover{border-color:#3bb58a;background:#f1fbf6}
.month-filter-item input{width:16px;height:16px;accent-color:#0b9b68;flex:0 0 auto}
.month-filter-item span{display:grid;gap:3px;min-width:0}
.month-filter-item strong{font-weight:500}
.month-filter-item small{color:var(--muted,#64768a);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.finance-calendar-head,.finance-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.finance-calendar-head{margin:16px 0 6px;color:var(--muted,#64768a);font-size:.78rem;text-align:center}
.finance-calendar-day,.finance-calendar-empty{min-height:82px;border:1px solid var(--line,#d7e0e8);border-radius:9px}
.finance-calendar-empty{background:transparent;border-color:transparent}
.finance-calendar-day{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;gap:2px;padding:8px;background:var(--panel,#fff);color:var(--ink,#061a30);text-align:left;cursor:pointer;font:inherit;transition:transform .12s,border-color .15s,background .15s}
.finance-calendar-day:hover{transform:translateY(-1px);border-color:#159a6c}
.finance-calendar-day small{grid-column:1/-1;color:var(--muted,#64768a);font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.finance-calendar-day strong{font-weight:500;color:#0b9b68;font-size:.78rem;text-align:right}
.finance-calendar-number{font-size:.9rem;font-weight:500}
.finance-calendar-day.open{background:#f0fbf5;border-color:#9ed9bd}
.finance-calendar-day.paid{background:#eef7ff;border-color:#a5c8e8}
.finance-calendar-day.paid strong{color:#2872ad}
.finance-calendar-day.overdue{background:#fff3f1;border-color:#efb2aa}
.finance-calendar-day.overdue strong{color:#c74438}
body.theme-dark .month-filter-box{background:#151f2c;border-color:#2e4052}
body.theme-dark .month-filter-item{background:#1b2836;border-color:#324559}
body.theme-dark .month-filter-item:hover{background:#1d3a34;border-color:#3da77f}
body.theme-dark .finance-calendar-day{background:#1b2836;color:#e6edf5;border-color:#324559}
body.theme-dark .finance-calendar-day.open{background:#18372f;border-color:#347f68}
body.theme-dark .finance-calendar-day.paid{background:#1b3144;border-color:#3d688c}
body.theme-dark .finance-calendar-day.overdue{background:#452c2e;border-color:#8d4a4b}
@media (max-width:700px){.finance-calendar-head,.finance-calendar{gap:3px}.finance-calendar-day,.finance-calendar-empty{min-height:62px}.finance-calendar-day{padding:5px}.finance-calendar-day small{font-size:.62rem}.month-filter-grid{grid-template-columns:1fr}}

/* Listas do Dashboard: aproximadamente seis itens visíveis, rolagem estreita e independente. */
  .monthly-expense-scroll,.timeline-list-scroll{max-height:300px;overflow-y:auto;overflow-x:auto;padding-right:5px;scrollbar-width:thin;scrollbar-color:#8a98a6 transparent}
.monthly-expense-scroll::-webkit-scrollbar,.timeline-list-scroll::-webkit-scrollbar{width:5px;height:5px}
.monthly-expense-scroll::-webkit-scrollbar-track,.timeline-list-scroll::-webkit-scrollbar-track{background:transparent}
.monthly-expense-scroll::-webkit-scrollbar-thumb,.timeline-list-scroll::-webkit-scrollbar-thumb{background:#8a98a6;border-radius:999px}
.monthly-expense-scroll .table-wrap{overflow:visible}
.monthly-expense-scroll .table{min-width:1000px}
.timeline-list{display:grid;gap:8px}
.timeline-list .timeline-item{display:grid;grid-template-columns:150px minmax(150px,220px) 1fr;align-items:center;min-height:52px;padding:10px 12px}
.timeline-list .timeline-item strong{font-weight:500}
.timeline-list .timeline-item b{font-size:15px}
.timeline-list .timeline-item small{justify-self:end}
.calendar-legend{display:flex;gap:16px;flex-wrap:wrap;margin:6px 0 2px;color:var(--muted,#64768a);font-size:12px}
.calendar-legend span{display:inline-flex;align-items:center;gap:6px}
.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:#9ed9bd}
.legend-dot.paid{background:#a5c8e8}
.legend-dot.overdue{background:#efb2aa}
.calendar-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.calendar-summary-grid>div{display:grid;gap:5px;padding:14px;border:1px solid var(--line,#d7e0e8);border-radius:11px;background:var(--panel-soft,#f7fafc)}
.calendar-summary-grid small{color:var(--muted,#64768a);font-size:12px}
.calendar-summary-grid strong{font-size:18px;font-weight:500}
body.theme-dark .monthly-expense-scroll,body.theme-dark .timeline-list-scroll{scrollbar-color:#526477 transparent}
body.theme-dark .monthly-expense-scroll::-webkit-scrollbar-thumb,body.theme-dark .timeline-list-scroll::-webkit-scrollbar-thumb{background:#526477}
body.theme-dark .calendar-summary-grid>div{background:#151f2c;border-color:#2e4052}
@media(max-width:820px){.timeline-list .timeline-item{grid-template-columns:1fr auto}.timeline-list .timeline-item small{grid-column:1/-1;justify-self:start}.calendar-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.calendar-summary-grid{grid-template-columns:1fr}.monthly-expense-scroll,.timeline-list-scroll{max-height:300px}}
/* A lista vertical da Linha do Tempo mostra cerca de seis datas antes de rolar. */
.timeline-list-scroll{max-height:300px}
.timeline-list{gap:6px}
.timeline-list .timeline-item{min-height:42px;padding:8px 12px}

/* Tema escuro: cards navy permanecem claros e usam texto preto para contraste. */
body.theme-dark .metric.navy,
body.theme-dark .metric.navy small,
body.theme-dark .metric.navy strong,
body.theme-dark .metric.navy span{color:#000}

/* Folha/vales no calendário e na Linha do Tempo. */
.legend-dot.payroll{background:#c28a18}
.finance-calendar-day.payroll{background:#fff8df;border-color:#e3c36a}
.finance-calendar-day.payroll strong{color:#946b0b}
.finance-calendar-day em{grid-column:1/-1;color:#946b0b;font-size:.68rem;font-style:normal}
.timeline-item.blue{background:var(--blue-soft);border-color:#9fbeef}
.timeline-item.blue b{color:var(--blue)}
.timeline-section-title{margin:18px 0 10px}
.timeline-total{display:flex;justify-content:space-between;gap:12px;margin-top:14px;padding:12px 14px;border-top:2px solid var(--line);font-size:14px}
body.theme-dark .finance-calendar-day.payroll{background:#493a16;border-color:#b38a32}
body.theme-dark .finance-calendar-day.payroll strong,body.theme-dark .finance-calendar-day.payroll em{color:#ffe7a1}
body.theme-dark .timeline-item.blue{background:#203a62;border-color:#5b86c4}
body.theme-dark .timeline-item.blue b{color:#cfe0ff}

/* Listas financeiras das telas Lançamento, Contas e Aprovações. */
.finance-table-scroll{max-height:500px;overflow-y:auto;overflow-x:auto;padding-right:5px;scrollbar-width:thin;scrollbar-color:#8a98a6 transparent}
.finance-table-scroll::-webkit-scrollbar{width:5px;height:5px}
.finance-table-scroll::-webkit-scrollbar-track{background:transparent}
.finance-table-scroll::-webkit-scrollbar-thumb{background:#8a98a6;border-radius:999px}
.finance-table-scroll .table-wrap{overflow:visible}
.finance-table-scroll .table{min-width:1000px}
.recent-expense-scroll,.approval-scroll{max-height:500px}
.expense-list-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 12px}
.expense-list-toolbar>.muted{font-size:12px}
.expense-search{position:relative;flex:1 1 320px;min-width:240px}
.expense-search input{padding-left:38px}
.search-icon{position:absolute;left:12px;top:50%;width:18px;height:18px;transform:translateY(-50%);pointer-events:none;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.expense-selection-prompt{display:grid;gap:8px;margin-top:4px;padding:22px 18px;border:1px solid #70cd98;border-left:5px solid var(--green);border-radius:12px;background:var(--green-soft);color:#126b3a;text-align:center;font-size:14px}
.expense-selection-prompt strong{font-size:15px;font-weight:600}
.expense-selection-prompt span{color:#246044}
body.theme-dark .finance-table-scroll{scrollbar-color:#526477 transparent}
body.theme-dark .finance-table-scroll::-webkit-scrollbar-thumb{background:#526477}
body.theme-dark .expense-selection-prompt{background:#153b28;border-color:#5bbd85;color:#baf1cf}
body.theme-dark .expense-selection-prompt span{color:#d2f5df}
@media(max-width:520px){.finance-table-scroll{max-height:460px}.expense-search{min-width:100%}}
