:root{color-scheme:dark;--bg:#1e1e1e;--card:#242424;--border:#333;--muted:#aaa;--text:#fafafa;--accent:#1d7b73;--soft:#303030;font-family:Inter,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px}body.light{color-scheme:light;--bg:#fafafa;--card:white;--border:#e7e7e7;--muted:#666;--text:#171717;--soft:#f1f1f1}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button,.button{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:7px;min-height:40px;padding:9px 13px;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover,.button:hover{background:var(--soft)}.primary{background:var(--accent);border-color:var(--accent);color:white}.primary:hover{background:#287c76}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #36bfb0;outline-offset:3px}.skip{position:fixed;top:-60px;z-index:100;background:var(--accent);padding:12px}.skip:focus{top:0}#sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:var(--card);border-right:1px solid var(--border);padding:30px 16px 16px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:10px;margin:0 8px 30px;padding:0 0 0 2px;color:var(--text);width:fit-content;border-radius:4px}.brand-mark{display:block;flex:0 0 40px;overflow:visible}.brand-building{fill:#358f84}.brand-wing{fill:#8abeb5}.brand-door{fill:var(--card)}.brand-type{display:flex;flex-direction:column;gap:4px}.brand-name{font-size:25px;line-height:1;font-weight:650;letter-spacing:-1px}.brand-period{color:#62b5a6}.brand-caption{font-size:10px;line-height:1.4;font-weight:400;letter-spacing:.3px;color:var(--muted)}.brand:hover .brand-building{fill:#49a395}body.light .brand-building{fill:#247b70}body.light .brand-wing{fill:#55938a}nav{display:flex;flex-direction:column;gap:4px;overflow:auto}nav a{padding:10px 12px;border-radius:6px;display:flex;gap:12px;align-items:center;color:var(--muted)}nav a.active,nav a:hover{background:var(--soft);color:var(--text)}nav a.active{border-left:3px solid #42b4a5;padding-left:9px}.nav-icon{width:20px;height:20px;flex:0 0 20px;display:block}.profile{margin-top:auto;padding-top:18px;border-top:1px solid var(--border)}.profile small{display:block;color:var(--muted);margin:6px 0}.profile select{width:100%}#workspace{margin-left:238px}#topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid var(--border);color:var(--muted);font-size:12px}#topbar .tools{display:flex;gap:10px;align-items:center}.mobile-toggle{display:none}main{padding:32px;max-width:1450px;margin:auto}h1{font-size:30px;letter-spacing:-.7px;margin:0 0 8px}h2{font-size:19px;letter-spacing:-.3px;margin:0 0 7px}h3{font-size:15px;margin:0 0 8px}p{line-height:1.6;margin:5px 0;color:var(--muted)}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-size:10px;color:#75c5bb;margin-bottom:12px}.grid{display:grid;gap:18px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}.card{border:1px solid var(--border);background:var(--card);border-radius:10px;padding:24px;min-width:0}.kpi .label{color:var(--muted);font-size:12px}.kpi strong{display:block;font-size:27px;letter-spacing:-.8px;margin:18px 0 12px}.kpi small{color:var(--muted);font-size:11px}.columns{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start}.stack{display:grid;gap:18px}.card-header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.activity{padding:17px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border)}.activity:last-child{border:0}.activity .dot{width:9px;height:9px;border-radius:50%;background:#d9a543;flex-shrink:0}.activity .description{flex:1;min-width:0}.activity small{display:block;color:var(--muted);margin-top:6px;font-size:12px}.badge{display:inline-block;font-size:11px;border-radius:5px;padding:5px 9px;background:#343434;color:#eee;white-space:nowrap}.badge.green{background:#173e33;color:#8fdfb9}.badge.amber{background:#42351b;color:#f0cb76}.badge.red{background:#442727;color:#ffadad}.badge.blue{background:#203849;color:#a4d5f8}.filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px}input,select,textarea{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:11px 12px;min-height:42px;max-width:100%}.filters input{flex:1;min-width:180px}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:8px}table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}th{background:var(--soft);text-align:left;font-weight:500;color:var(--muted);padding:15px 18px}td{padding:18px;border-top:1px solid var(--border);background:var(--card)}td small{display:block;margin-top:6px;color:var(--muted);font-size:11px}.row-actions{display:flex;gap:6px}
.row-actions .whatsapp{background:#25d366;border-color:#25d366;color:#111b21;font-weight:600;border-radius:999px;gap:6px;white-space:nowrap}
.row-actions .whatsapp:hover{background:#1fbd5a;border-color:#1fbd5a}
.whatsapp-logo{width:16px;height:16px;flex:0 0 16px;display:block}.row-actions button{font-size:12px;padding:6px 10px;min-height:34px}.summary{font-size:12px;color:var(--muted);margin-top:18px}.donut{width:162px;height:162px;border:22px solid #268d7e;border-right-color:#d5a23e;border-bottom-color:#536e91;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:24px auto;flex-direction:column}.donut strong{font-size:32px}.donut small{font-size:11px;color:var(--muted)}.legend{display:grid;gap:12px}.legend div{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-grid a{transition:border-color .15s}.report-grid a:hover{border-color:var(--accent)}dialog{color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:12px;width:min(650px,calc(100% - 32px));max-height:88vh;padding:26px}dialog::backdrop{background:#0009}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{display:flex;flex-direction:column;gap:8px;font-size:12px}.form-grid input,.form-grid select{width:100%}.full{grid-column:1/-1}.form-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.error{color:#ffadad;min-height:20px;margin-top:15px}.details{display:grid;grid-template-columns:1fr 1fr;gap:20px}.details dt{color:var(--muted);font-size:12px;margin-bottom:8px}.details dd{margin:0;line-height:1.6}.detail-notes{white-space:pre-wrap;line-height:1.7}.chat-log{min-height:270px;display:flex;flex-direction:column;gap:18px;margin:24px 0}.bubble{max-width:85%;background:var(--soft);padding:18px;line-height:1.7;border-radius:8px;white-space:pre-wrap}.bubble.me{align-self:flex-end;background:#1e514b;color:white}.chat-form{display:flex;gap:12px}.chat-form input{flex:1;min-width:0}.preview{white-space:pre-wrap;line-height:1.9;background:var(--bg);padding:26px;border:1px solid var(--border);border-radius:8px;margin-top:22px}.bars{display:flex;align-items:flex-end;gap:40px;height:200px;padding:20px 0 0}.bar-group{flex:1;display:flex;align-items:flex-end;justify-content:center;gap:12px;height:100%;position:relative;padding-bottom:30px}.bar{width:30%;background:#268d7e;border-radius:4px 4px 0 0}.bar.expense{background:#aa823b}.bar-group span{position:absolute;bottom:0;color:var(--muted);font-size:12px}#toast{position:fixed;bottom:24px;right:24px;background:var(--card);border:1px solid var(--accent);border-radius:8px;padding:16px 22px;z-index:100;max-width:calc(100vw - 48px);display:none}#toast.visible{display:block}.empty{text-align:center;padding:45px!important;color:var(--muted)}.settings-list{display:grid;gap:20px}.settings-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.danger{color:#ffb4b4}.subtle{font-size:12px}body.light .danger{color:#9a2121}@media(max-width:1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.columns{grid-template-columns:1fr}}@media(max-width:700px){#sidebar{transform:translateX(-100%);width:250px;box-shadow:15px 0 30px #0005}#sidebar.open{transform:translateX(0)}#workspace{margin-left:0}#topbar{padding:0 18px;height:62px}.mobile-toggle{display:inline-flex}#topbar .breadcrumb{display:none}.tools small{display:none}main{padding:24px 18px}.heading{align-items:flex-start;flex-direction:column;gap:15px}h1{font-size:27px}.kpis{gap:12px}.card{padding:18px}.kpi strong{font-size:23px}.kpi .label{font-size:11px}.kpi small{font-size:10px}.report-grid{grid-template-columns:1fr}.filters>*{width:100%;flex:auto}.form-grid,.details{grid-template-columns:1fr}.full{grid-column:auto}.activity{flex-wrap:wrap}.activity .description{min-width:160px}.activity .badge{margin-left:20px}.settings-row{align-items:flex-start;flex-direction:column}.bubble{max-width:100%}.chat-form{flex-direction:column}dialog{padding:20px}.card-header{align-items:flex-start}#topbar .tools{gap:6px}#topbar button{padding:8px 10px}}

/* Horizontal table navigation remains usable with touch, mouse and keyboard. */
.table-shell{min-width:0;position:relative}
.table-wrap{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--accent) var(--soft)}
.table-wrap:focus-visible{outline:3px solid #36bfb0;outline-offset:3px}
.table-scroll-control{padding:12px 14px;background:var(--card);border:1px solid var(--border);border-top:0;border-radius:0 0 8px 8px}
.table-scroll-control[hidden]{display:none}
.table-shell:has(.table-scroll-control:not([hidden])) .table-wrap{border-radius:8px 8px 0 0}
.table-scroll-control p{display:flex;justify-content:space-between;gap:8px;margin:0 0 4px;color:var(--muted);font-size:12px;line-height:1.5}
.table-scroll-control p span{color:var(--text);font-size:18px}
.table-scroll-track{display:flex;align-items:center;gap:12px}
.table-scroll-track button{flex:0 0 44px;min-height:44px;font-size:20px;padding:0}
.table-scroll-track button:disabled{opacity:.3;cursor:default}
.table-scroll-range{appearance:none;-webkit-appearance:none;flex:1;width:100%;min-width:0;height:44px;margin:0;padding:0;border:0;background:transparent;cursor:ew-resize}
.table-scroll-range::-webkit-slider-runnable-track{height:8px;border-radius:8px;background:var(--soft)}
.table-scroll-range::-moz-range-track{height:8px;border-radius:8px;background:var(--soft)}
.table-scroll-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:48px;height:22px;margin-top:-7px;border:2px solid #36bfb0;border-radius:7px;background:var(--accent);box-shadow:0 2px 5px #0003}
.table-scroll-range::-moz-range-thumb{width:44px;height:18px;border:2px solid #36bfb0;border-radius:7px;background:var(--accent);box-shadow:0 2px 5px #0003}
@media(max-width:700px){
 #workspace,main,.columns,.stack{min-width:0}
 #sidebar{overflow-y:auto;max-height:100dvh}
 .filters:has(#search){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
 .filters #search{grid-column:1 / -1;min-width:0}
 .filters select{min-width:0;padding-right:4px}
 input,select,textarea{font-size:16px;min-height:44px}
 th{padding:13px 14px}
 td{padding:16px 14px}
 .row-actions button{min-height:44px}
 .table-shell{display:flex;flex-direction:column}
 .table-scroll-control{order:-1;padding:10px 12px;border-top:1px solid var(--border);border-bottom:0;border-radius:8px 8px 0 0}
 .table-shell:has(.table-scroll-control:not([hidden])) .table-wrap{border-radius:0 0 8px 8px}
 .summary{margin-top:12px}
 .card-header{flex-wrap:wrap;gap:12px}
 .heading .primary{min-height:44px}
}

.dialog-heading{align-items:flex-start;gap:16px}.dialog-title{min-width:0}.dialog-title .eyebrow{margin-bottom:6px}.dialog-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.dialog-title-row h2{margin:0;outline:none}.dialog-title-row .badge{margin-left:0}
.icon-button{flex:0 0 36px;width:36px;min-height:36px;padding:0;border-color:transparent;background:transparent;color:var(--muted)}.icon-button:hover{background:var(--soft);color:var(--text)}
.back-link{border:0;background:transparent;color:var(--muted);padding:0;min-height:28px;font-size:12px;margin-bottom:8px}.back-link:hover{color:var(--text)}
.details{padding:16px 18px;background:var(--soft);border-radius:10px}.detail-notes{margin:14px 0 0;color:var(--muted)}
.links{margin-top:24px}.links h3{margin:0 0 4px;font-size:15px}.link-group{margin-top:14px}.link-group h4{margin:0 0 8px;font-size:12px;font-weight:500;color:var(--muted)}.link-group h4 span{margin-left:4px;padding:1px 7px;border-radius:999px;background:var(--soft);color:var(--text);font-size:11px}
.link-rows{border:1px solid var(--border);border-radius:10px;overflow:hidden}.link-row{display:flex;width:100%;justify-content:flex-start;gap:12px;border:0;border-radius:0;background:transparent;padding:10px 14px;min-height:52px;text-align:left}.link-row+.link-row{border-top:1px solid var(--border)}.link-row:hover{background:var(--soft)}.link-row:focus-visible{outline-offset:-2px}
.link-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.link-main strong{font-size:13px;font-weight:600}.link-main strong,.link-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-main small{font-size:12px;color:var(--muted)}.link-row .badge{margin-left:0;flex:none}.link-chevron{color:var(--muted);font-size:18px;line-height:1}
.link-empty{margin:0;padding:14px;border:1px dashed var(--border);border-radius:10px;color:var(--muted);font-size:13px}.form-footer .push-left{margin-right:auto}
@media(max-width:640px){.form-footer{flex-wrap:wrap}.form-footer .push-left{margin-right:0}}
.guarantee-fields fieldset{margin:8px 0 0;padding:18px;border:1px solid var(--border);border-radius:8px;min-width:0}
.guarantee-fields fieldset[hidden]{display:none}
.guarantee-fields legend{padding:0 8px;color:var(--muted);font-size:13px}
.details dd{overflow-wrap:anywhere}
.report-card{display:flex;flex-direction:column;gap:6px;padding:22px}.report-card h2{margin:12px 0 0;font-size:17px}.report-card p{margin:0;color:var(--muted);line-height:1.5}
.report-icon{width:40px;height:40px;border-radius:10px;background:var(--soft);color:#75c5bb;display:grid;place-items:center}
.report-metric{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:baseline}.report-metric strong{font-size:24px;letter-spacing:-.6px}.report-metric span{font-size:12px;color:var(--muted)}.report-metric small{grid-column:1 / -1;font-size:11px;color:var(--muted);margin-top:4px}
.report-open{margin-top:14px;font-size:13px;font-weight:600;color:#75c5bb}.report-open span{display:inline-block;transition:transform .15s}.report-card:hover .report-open span{transform:translateX(4px)}
body.light .report-icon,body.light .report-open{color:var(--accent)}
a.back-link{display:inline-flex;align-items:center}
.export{display:flex;align-items:center;gap:6px;padding:5px;border:1px solid var(--border);border-radius:10px;background:var(--card)}.export>span{font-size:12px;color:var(--muted);padding:0 8px}.export button{min-height:36px;padding:6px 14px;border-color:transparent;background:var(--soft);font-size:13px}.export button:hover:not(:disabled){background:var(--accent);color:white}.export button:disabled{opacity:.6;cursor:progress}
.section-title{font-size:15px;margin:28px 0 12px}
.dist{display:flex;gap:2px;height:14px;border-radius:999px;overflow:hidden;margin:18px 0}.dist-seg{flex:1 1 0;min-width:6px}
.dist-legend{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:13px}.dist-legend div{display:flex;align-items:center;gap:8px}.dist-legend small{color:var(--muted)}.dist-dot{width:10px;height:10px;border-radius:3px}
.tone-0{background:#536e91}.tone-1{background:#268d7e}.tone-2{background:#d5a23e}.tone-3{background:#678bca}.tone-4{background:#777}.tone-5{background:#9176af}.tone-expense{background:#aa823b}
@media(max-width:640px){.export{width:100%}.export button{flex:1;min-height:44px}}
.settings-tabs{display:flex;flex-direction:row;flex-shrink:0;gap:8px;overflow-x:auto;border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:8px}
.settings-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:7px;white-space:nowrap;color:var(--muted);text-decoration:none}
.settings-tabs a:hover{background:var(--soft);color:var(--text)}
.settings-tabs a[aria-current="page"]{background:var(--accent);color:#fff}
.profile-account{display:flex;align-items:center;gap:11px;padding:10px 8px;border-radius:9px;text-decoration:none;color:var(--text);min-height:64px;transition:background-color .15s}
.profile-account:hover{background:var(--soft)}
.profile-avatar{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px;font-weight:600;letter-spacing:.5px}
.profile-identity{flex:1;min-width:0;line-height:1.4}
.profile-identity strong{display:block;font-size:13px;font-weight:600}
.profile .profile-identity small{font-size:11px;margin:3px 0 0;color:var(--muted)}
.profile-settings{display:flex;color:var(--muted)}
.profile-settings .nav-icon{width:18px;height:18px}
.form-intro{margin:-8px 0 20px;color:var(--muted);line-height:1.5}
.form-section{border:0;padding:0;margin:0 0 24px;min-width:0}.form-section legend{padding:0;margin-bottom:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.4px;color:#75c5bb}body.light .form-section legend{color:var(--accent)}
.form-grid textarea{width:100%}.req{color:#f0a3a3}body.light .req{color:#9a2121}.form-required{margin:0;font-size:11px;color:var(--muted)}

/* Dashboard layout and progressive disclosure. */
.dashboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}
.dashboard-actions{display:flex;gap:8px;align-items:center}
.dashboard-link{color:var(--muted);font-size:12px;text-decoration:none;display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
.dashboard-link:hover{color:var(--text)}
.section-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;margin-left:5px;padding:0 6px;border:1px solid var(--border);border-radius:6px;font-size:11px;color:var(--muted);vertical-align:middle}
.dashboard .pending-row{display:grid;grid-template-columns:9px minmax(0,1fr) auto auto;column-gap:12px;row-gap:6px}
.pending-row .dot{grid-column:1;grid-row:1 / 3}
.pending-row .description{grid-column:2;grid-row:1 / 3}
.pending-row .pending-date{grid-column:3;grid-row:2;font-size:11px;color:var(--muted)}
.pending-row .pending-amount{grid-column:3;grid-row:1;text-align:right;white-space:nowrap}
.pending-row .badge{grid-column:4;grid-row:1 / 3;margin:0;justify-self:end}
.dashboard summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.dashboard summary::-webkit-details-marker{display:none}
.dashboard summary h2{margin:0}
.fold-chevron{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);flex-shrink:0;margin-right:4px;color:var(--muted)}
.dashboard details[open]>summary .fold-chevron{transform:rotate(225deg)}
.dashboard summary:focus-visible{outline:3px solid #36bfb0;outline-offset:4px;border-radius:4px}
.pending-more>summary{display:none}
.history-card>summary .fold-chevron{display:none}
.expiring-row{color:var(--text);text-decoration:none}
.expiring-row:hover{color:#75c5bb}
.expiring-row>div{min-width:0}
.expiring-row time{font-size:12px;white-space:nowrap;color:var(--muted)}
@media(max-width:700px){
 main:has(.dashboard){padding:20px 14px}
 .dashboard .heading{margin-bottom:16px;gap:0}
 .dashboard .heading h1{font-size:25px}
 .dashboard .heading p{display:none}
 .dashboard-toolbar{gap:8px;margin-bottom:16px}
 .dashboard-toolbar select{flex:1;min-width:0;width:0;font-size:14px;padding:10px 8px}
 .dashboard-actions{gap:6px}
 .dashboard-actions .primary{font-size:12px;padding:10px;min-height:44px;white-space:nowrap}
 .dashboard .privacy-label{display:none}
 .dashboard .privacy-button{width:44px;min-height:44px;padding:0;flex-shrink:0}
 .dashboard .kpis{gap:10px;margin-bottom:16px}
 .dashboard .kpi{padding:14px 12px}
 .dashboard .kpi .label{font-size:12px;line-height:1.4;display:block}
 .dashboard .kpi strong{font-size:clamp(18px,5.1vw,23px);letter-spacing:-.6px;margin:10px 0 0;white-space:nowrap}
 .dashboard .kpi small{display:none}
 .dashboard-columns{display:flex;flex-direction:column;gap:14px}
 .dashboard-columns>.stack{display:contents}
 .dashboard .pending-card{order:1}
 .dashboard .expiring-card{order:2}
 .dashboard .portfolio-card{order:3}
 .dashboard .history-card{order:4;width:100%}
 .dashboard-columns>.stack>.card{width:100%;padding:16px}
 .dashboard h2{font-size:16px;line-height:1.4}
 .dashboard .card-header{flex-wrap:nowrap;align-items:center;gap:8px;margin-bottom:4px}
 .dashboard .card-header .subtle{font-size:11px;margin:4px 0 0;line-height:1.5}
 .dashboard .pending-row{grid-template-columns:minmax(0,1fr) auto;padding:12px 0;gap:7px 8px;align-items:start}
 .pending-row .dot{display:none}
 .dashboard .pending-row .description{grid-column:1 / -1;grid-row:1;min-width:0}
 .dashboard .pending-row .description strong{font-size:13px;line-height:1.5}
 .dashboard .pending-row .description small{font-size:11px;line-height:1.5;margin-top:2px;overflow-wrap:anywhere}
 .dashboard .pending-row .pending-date{grid-column:1;grid-row:3;align-self:center;font-size:11px}
 .dashboard .pending-row .pending-amount{grid-column:1;grid-row:2;text-align:left;font-size:13px;align-self:center}
 .dashboard .pending-row .badge{grid-column:2;grid-row:2 / 4;align-self:center;font-size:10px}
 .pending-more>summary{display:flex;border-top:1px solid var(--border);font-size:12px;color:var(--muted);padding-top:4px}
 .pending-more[open]>summary{margin-bottom:4px}
 .history-card>summary .fold-chevron{display:block}
 .dashboard .expiring-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:12px 0}
 .dashboard .expiring-row strong{font-size:12px;line-height:1.5}
 .dashboard .expiring-row small{font-size:11px;margin-top:3px}
 .dashboard .expiring-row time{font-size:11px}
 .portfolio-layout{display:flex;align-items:center;gap:20px;margin-top:12px}
 .dashboard .donut{width:104px;height:104px;flex:0 0 104px;margin:0}
 .dashboard .donut strong{font-size:25px}
 .dashboard .legend{flex:1;gap:10px;min-width:0}
 .dashboard .legend .badge{font-size:10px;padding:4px 7px}
 .dashboard .legend div{align-items:center;gap:8px}
 .dashboard .history-content .activity{display:grid;gap:5px;padding:12px 0;justify-content:start}
 .dashboard .history-content .activity strong{font-size:12px}
 .dashboard .history-content .activity span{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
 .dashboard .empty{padding:20px 0!important;font-size:12px;line-height:1.5;white-space:normal}
}
@media(max-width:350px){
 .dashboard-toolbar{flex-wrap:wrap}
 .dashboard-toolbar select{width:100%;flex-basis:100%}
 .dashboard-actions{width:100%;justify-content:flex-end}
 .portfolio-layout{gap:12px}
 .dashboard .donut{width:88px;height:88px;flex-basis:88px}
}

.dashboard .pending-financial{grid-column:3;grid-row:1 / 3;display:flex;flex-direction:column;gap:6px;align-items:flex-end}
@media(max-width:700px){
 .dashboard .pending-financial{grid-column:1;grid-row:2;flex-direction:row;gap:10px;align-items:baseline;flex-wrap:wrap}
 .dashboard .pending-row .badge{grid-row:2}
 .dashboard .pending-row .pending-date{font-size:10px}
}
.detail-section+.detail-section{margin-top:16px}.detail-section h3{margin:0 0 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.4px;color:#75c5bb}body.light .detail-section h3{color:var(--accent)}

.dashboard .fold-open{display:none}
.dashboard details[open]>summary .fold-open{display:inline}
.dashboard details[open]>summary .fold-closed{display:none}
.history-card>summary .fold-chevron{display:block}

/* Pagamentos: mês de competência, indicadores que filtram a tabela e gráficos por status. */
.pay-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px}
.pay-month{display:flex;align-items:center;gap:6px}
.pay-month button{width:42px;min-height:42px;padding:0;font-size:18px}
.pay-month select{min-width:190px}
.pay-alert{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:6px 12px;margin-bottom:18px;padding:12px 16px;border-color:#6b3a3a;background:#442727;color:#ffd2d2;text-align:left}
.pay-alert:hover{background:#512d2d}
.pay-alert span:last-child{margin-left:auto;font-weight:600}
body.light .pay-alert{background:#fdeeee;border-color:#f0c4c4;color:#7a1c1c}
body.light .pay-alert:hover{background:#fae0e0}
.pay-kpi{display:block;width:100%;text-align:left}
.pay-kpi .label{display:flex;align-items:center;gap:8px}
.pay-kpi[aria-pressed="true"]{border-color:#42b4a5;box-shadow:inset 0 0 0 1px #42b4a5}
.pay-dot{display:inline-block;width:10px;height:10px;border-radius:3px;flex:none}
.pay-paid{background:#268d7e}.pay-pending{background:#d5a23e}.pay-late{background:#c9605c}
.pay-charts{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:24px}
.pay-rate{text-align:right}
.pay-rate strong{display:block;font-size:27px;letter-spacing:-.8px}
.pay-rate small{color:var(--muted);font-size:11px}
.pay-legend{display:grid;gap:10px;font-size:13px}
.pay-legend div{display:grid;grid-template-columns:10px minmax(0,1fr) auto 110px;align-items:center;gap:10px}
.pay-legend small{color:var(--muted);font-size:11px;text-align:right}
.pay-key{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px;font-size:12px;color:var(--muted)}
.pay-key>span{display:inline-flex;align-items:center;gap:7px}
.pay-cols{display:flex;align-items:flex-end;gap:8px;overflow-x:auto}
.pay-col{flex:1 1 0;min-width:64px;max-width:110px;flex-direction:column;align-items:stretch;gap:8px;padding:10px 8px;border-color:transparent;background:transparent}
.pay-col[aria-pressed="true"]{background:var(--soft);border-color:var(--border)}
.pay-col-value{font-size:11px;color:var(--muted);text-align:center;white-space:nowrap}
.pay-col-stack{display:flex;flex-direction:column;gap:2px;height:120px;border-bottom:1px solid var(--border)}
.pay-col-stack span{flex:0 1 0;min-height:0;border-radius:3px}
.pay-col-label{font-size:12px;text-align:center}
.num{text-align:right}
.pay-table td strong{font-weight:600}
td .due-late{color:#ffadad}
body.light td .due-late{color:#9a2121}
@media(max-width:1100px){.pay-charts{grid-template-columns:1fr}}
@media(max-width:700px){
 .pay-month{flex:1}
 .pay-month select{flex:1;min-width:0}
 .pay-month button{width:44px;min-height:44px}
 .pay-kpi{padding:14px 12px}
 .pay-kpi strong{font-size:clamp(18px,5.1vw,23px);letter-spacing:-.6px;margin:10px 0 8px;white-space:nowrap}
 .pay-legend div{grid-template-columns:10px minmax(0,1fr) auto}
 .pay-legend small{grid-column:2 / -1;text-align:left}
}

/* Portfolio controls occupy their own row and scroll with the page. */
.demo-toolbar-slot{display:flex;justify-content:flex-end;padding:12px 32px 0;min-width:0}
.demo-toolbar{color-scheme:light;display:flex;align-items:center;gap:12px;max-width:100%;padding:8px 10px;background:#faf7f1;border:1px solid #dedbd4;border-radius:12px;color:#25231f;font-family:"Segoe UI",Arial,sans-serif;font-size:12px;box-shadow:0 8px 28px #25231f14}
.demo-toolbar__identity{display:flex;flex-direction:column;gap:3px;flex:none}
.demo-toolbar__identity strong{font-size:11px;font-weight:650;line-height:1.2;letter-spacing:.7px;text-transform:uppercase}
.demo-toolbar__identity>span{font-size:11px;line-height:1.2;color:#6c6861}
.demo-toolbar__separator{width:1px;height:28px;background:#d3d0c9;flex:none}
.demo-toolbar__actions{display:flex;align-items:center;gap:4px;min-width:0}
.demo-toolbar__action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;border:0;border-radius:7px;background:transparent;color:#25231f;font:inherit;text-decoration:none;white-space:nowrap;cursor:pointer}
.demo-toolbar__action:hover{background:#e9e5de}
.demo-toolbar__action:focus-visible{outline:2px solid #1d7b73;outline-offset:2px}
@media(max-width:700px){.demo-toolbar-slot{padding:12px 18px 0}.demo-toolbar{margin-left:auto}}
@media(max-width:420px){
 .demo-toolbar-slot{padding:10px 14px 0}
 .demo-toolbar{width:100%;padding:8px 10px;gap:4px;flex-wrap:wrap}
 .demo-toolbar__identity{flex-direction:row;align-items:center;justify-content:space-between;flex-basis:100%;gap:8px;padding:2px 2px 4px}
 .demo-toolbar__separator{display:none}
 .demo-toolbar__actions{width:100%;gap:4px}
 .demo-toolbar__action{flex:1;padding:8px 6px}
}
