:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#17231d;background:#f3f5ef}.status-unplanned{border-color:#8ba6c8;background:#f5f9ff}.status-unplanned .status-badge{background:#dceaff;color:#244f85}.previsions-sticky-header{position:-webkit-sticky;position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;background:rgba(243,245,239,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.previsions-sticky-header h1,.previsions-sticky-header p{margin-bottom:0}.previsions-sticky-header .button-link{white-space:nowrap}.new-forecast-panel{scroll-margin-top:130px}@media (max-width:640px){.previsions-sticky-header{align-items:stretch;flex-direction:column;padding:10px 0}.previsions-sticky-header .button-link{text-align:center}}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}a{color:#315c40}main{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at top left,rgba(183,212,179,.7),transparent 38%),#f3f5ef}.hero{width:min(760px,100%);padding:clamp(32px,7vw,72px);border:1px solid #d8dfd5;border-radius:28px;background:rgba(255,255,255,.88);box-shadow:0 24px 70px rgba(38,57,47,.12)}.eyebrow{color:#56715f;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}h1{max-width:12ch;margin:14px 0;font-family:Georgia,serif;font-size:clamp(2.7rem,8vw,5.4rem);font-weight:500;line-height:.96}.intro{max-width:58ch;font-size:1.1rem;line-height:1.65}ol{margin:32px 0 0;padding-left:24px}li{margin:12px 0;padding-left:8px}.auth-card,.dashboard-card{width:min(620px,100%);padding:clamp(28px,6vw,56px);border:1px solid #d8dfd5;border-radius:28px;background:rgba(255,255,255,.92);box-shadow:0 24px 70px rgba(38,57,47,.12)}.stack{display:grid;grid-gap:18px;gap:18px}.legal-page{align-items:start}.legal-card{width:min(900px,100%);padding:clamp(28px,5vw,58px);border:1px solid #d8dfd5;border-radius:28px;background:rgba(255,255,255,.94);box-shadow:0 24px 70px rgba(38,57,47,.12)}.legal-card h1{max-width:none;font-size:clamp(2.4rem,7vw,4.8rem)}.legal-card h2{margin:30px 0 10px;font-family:Georgia,serif;font-size:clamp(1.35rem,3vw,1.85rem);font-weight:500}.legal-card li,.legal-card p{line-height:1.65}.legal-card ul{padding-left:24px}.legal-card footer{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:36px;padding-top:20px;border-top:1px solid #d8dfd5}.legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:22px;font-size:.9rem}label{display:grid;grid-gap:8px;gap:8px;font-weight:650}input,select,textarea{width:100%;padding:13px 15px;border:1px solid #b9c5bc;border-radius:12px;background:#fff;color:inherit}textarea{resize:vertical}button:focus-visible,input:focus-visible{outline:3px solid rgba(63,112,79,.28);outline-offset:2px}button{min-height:46px;padding:11px 18px;border:0;border-radius:12px;background:#274b34;color:#fff;cursor:pointer;font-weight:750}button.secondary{background:#e5ebe4;color:#274b34}.muted{color:#647168}.error{background:#fff0ee;color:#8d2f25}.error,.success{padding:12px;border-radius:10px}.success{background:#edf7ee;color:#255c32}.warning{padding:12px;border-radius:10px;background:#fff8df;color:#6f5412}.button-link{display:inline-block;padding:12px 18px;border-radius:12px;background:#274b34;color:#fff;font-weight:750;text-decoration:none}.import-card{width:min(920px,100%)}.pending-import-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.pending-import-card{border:1px solid var(--line);border-radius:22px;padding:22px;background:var(--surface-soft)}.pending-import-card h2{font-size:clamp(1.2rem,2vw,1.65rem);overflow-wrap:anywhere}.import-progress{height:10px;overflow:hidden;border-radius:999px;background:var(--line)}.import-progress span{display:block;height:100%;border-radius:inherit;background:var(--forest)}.annual-matrix-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;max-height:72vh}.annual-matrix{min-width:2300px;border-collapse:separate;border-spacing:0}.annual-matrix thead th{position:-webkit-sticky;position:sticky;top:0;z-index:3;background:#f3f5ef;box-shadow:0 1px 0 var(--line)}.annual-matrix th:first-child{min-width:190px}.annual-matrix tbody tr:not(.annual-kind-row)>th:first-child{position:-webkit-sticky;position:sticky;left:0;z-index:2;background:#f3f5ef;box-shadow:1px 0 0 var(--line)}.annual-matrix thead th:first-child{left:0;z-index:4}.annual-matrix td{min-width:155px;vertical-align:top}.annual-matrix td small,.annual-matrix td span{display:block;white-space:nowrap}.annual-mobile{display:none}.annual-mobile-category{border:1px solid #d8dfd5;border-radius:15px;background:#fff}.annual-mobile-category>summary{min-height:54px;display:grid;grid-gap:3px;gap:3px;padding:14px;cursor:pointer;font-weight:800}.annual-mobile-category>summary small{color:#647168;font-weight:650}.annual-mobile-category>div{display:grid;grid-gap:10px;gap:10px;padding:0 12px 12px}.annual-mobile-category article{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px 12px;gap:6px 12px;padding:12px;border-radius:12px;background:#f7f9f5}.annual-mobile-category article .month-add,.annual-mobile-category article strong{grid-column:1/-1}.annual-mobile-category article .month-add{min-height:44px;display:flex;align-items:center;margin-top:4px}.annual-kind-row th{position:static;text-align:left;color:var(--forest);background:#fff}.month-add{display:inline-flex;align-items:center;justify-content:center;margin-top:10px;padding:5px 9px;border:1px solid #173b27;border-radius:999px;background-color:#274b34;color:#fff!important;text-decoration:none;font-size:.78rem;font-weight:800}.occurrence-totals{display:grid;grid-gap:3px;gap:3px;text-align:right}.linked-movements{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px}.linked-movement{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0}.linked-movement-actions,.linked-movement-actions form{display:flex;align-items:center;gap:8px}.linked-movement-actions select{max-width:220px}.available-movements{display:grid;grid-gap:8px;gap:8px}.available-movement{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.available-movement form{flex:0 0 auto}.available-movement-actions,.available-movement-actions form{display:flex;align-items:center;gap:8px}.available-movement-actions select{max-width:220px}.movement-plan-link{color:inherit;font-weight:700;text-decoration-thickness:1px;text-underline-offset:3px}.suggestion-badge{display:inline-flex;margin:0 8px 5px 0;padding:4px 8px;border-radius:999px;background:#e6ddff;color:#534086;font-size:.72rem;font-weight:850;text-transform:uppercase}.inline-occurrence-form{flex-wrap:wrap}.inline-operation-error{flex-basis:100%;max-width:280px;color:#9f2f28;font-size:.82rem;line-height:1.25}.collapsible-summary{padding-bottom:18px}.collapsible-summary summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0;cursor:pointer}.collapsible-summary summary span{color:var(--muted,#647168);font-size:.9rem;font-weight:500}.collapsible-summary[open] summary{margin-bottom:14px}.occurrence-item{scroll-margin-top:20px}.occurrence-summary{grid-column:1/-1;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:start;cursor:pointer;text-align:left;color:inherit;background:transparent;border:0;padding:0}.occurrence-summary:hover{transform:none;box-shadow:none}.occurrence-summary p{margin-bottom:0}.occurrence-detail{grid-column:1/-1;display:grid;grid-gap:16px;gap:16px}.occurrence-editor{grid-column:1/-1;border-top:1px solid #e5e9e3;padding-top:10px}.occurrence-editor>summary{cursor:pointer;font-weight:800;color:var(--primary)}.occurrence-edit-form{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr 1.5fr;grid-gap:10px;gap:10px;align-items:end;margin-top:12px}.occurrence-edit-form label{display:grid;grid-gap:5px;gap:5px}.occurrence-edit-form .inline-operation-error,.occurrence-edit-form .inline-operation-success,.occurrence-edit-form button{grid-column:1/-1}.inline-operation-success{color:#256638;font-weight:700}.cancel-occurrence-form{grid-template-columns:minmax(180px,1fr) auto!important}.operation-toast{position:fixed;top:18px;left:50%;z-index:100;width:min(560px,calc(100vw - 32px));margin:0;transform:translateX(-50%);box-shadow:0 12px 36px rgba(23,35,29,.2)}button[disabled]{cursor:wait;opacity:.7}.text-button{padding:5px 10px;font-size:.85rem}.occurrence-actions select[multiple]{min-height:100px}.regularization-edit,.regularization-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;grid-gap:12px;gap:12px;align-items:end}.regularization-item,.regularization-list{display:grid;grid-gap:14px;gap:14px}.regularization-item{border:1px solid var(--line);border-radius:18px;padding:18px;background:var(--surface-soft)}.regularization-item.void{opacity:.72}.regularization-status{display:flex;gap:10px;justify-content:flex-end}.regularization-status input{max-width:360px}@media(max-width:850px){.regularization-edit,.regularization-form{grid-template-columns:1fr}.regularization-status{align-items:stretch;flex-direction:column}.regularization-status input{max-width:none}}.bank-import-grid{display:grid;grid-template-columns:minmax(160px,.55fr) minmax(260px,1.45fr);grid-gap:14px;gap:14px;align-items:end}.preview{padding-top:20px;border-top:1px solid #d8dfd5}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px;margin:0}.metrics div{padding:14px;border-radius:12px;background:#f3f5ef}.metrics dt{color:#647168;font-size:.82rem}.metrics dd{margin:4px 0 0;font-weight:750}.hash,.metrics dd{overflow-wrap:anywhere}.table-wrap{overflow-x:auto}.category-table{max-height:420px;border:1px solid #d8dfd5;border-radius:12px}.confirmation-form{padding-top:24px;border-top:2px solid #b9c5bc}.editable-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:14px;gap:14px}.category-editor{max-height:520px;overflow-y:auto;padding:4px}fieldset{min-width:0;padding:14px;border:1px solid #d8dfd5;border-radius:12px}legend{max-width:100%;padding:0 5px;font-weight:750;overflow-wrap:anywhere}table{width:100%;border-collapse:collapse}.decision-label{display:block;margin-bottom:8px;font-weight:700}.decision-actions{display:flex;flex-wrap:wrap;gap:8px}.decision-actions button{width:auto}.review-import-card{width:min(1320px,100%);padding:clamp(24px,3vw,42px)}.review-import-card h1{max-width:none;font-size:clamp(2.2rem,5vw,4.2rem)}.review-import-table-wrap{max-height:min(68vh,820px);border:1px solid #d8dfd5;border-radius:14px}.review-import-table{min-width:1080px;table-layout:fixed}.review-import-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:#f3f5ef}.review-import-table th:first-child{width:76px}.review-import-table th:nth-child(2),.review-import-table th:nth-child(3){width:125px}.review-import-table th:nth-child(4){width:auto}.review-import-table th:nth-child(5){width:125px}.review-import-table th:nth-child(6){width:390px}.review-import-table tr{scroll-margin-top:64px}.review-import-table tr:target{background:#edf7ee;box-shadow:inset 4px 0 #3f704f}.review-import-table td{vertical-align:top}.review-row-actions{display:grid;grid-template-columns:minmax(170px,1.4fr) minmax(135px,.9fr) auto;align-items:center;flex-wrap:nowrap}.review-row-actions select{min-width:0}.review-row-actions button{white-space:nowrap}.duplicate-review-table{min-width:1050px;table-layout:fixed}.duplicate-review-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:#f3f5ef}.duplicate-review-table th:first-child{width:130px}.duplicate-review-table th:nth-child(2){width:125px}.duplicate-review-table th:nth-child(3){width:auto}.duplicate-review-table th:nth-child(4){width:190px}.duplicate-review-table th:nth-child(5){width:125px}.duplicate-review-table th:nth-child(6){width:260px}.duplicate-review-table tr{scroll-margin-top:64px}.duplicate-review-table tr:target{background:#edf7ee;box-shadow:inset 4px 0 #3f704f}.duplicate-review-table td{vertical-align:top}.confirm-check{display:flex;align-items:flex-start;gap:10px;font-weight:650}.confirm-check input{width:auto;margin-top:4px}td,th{padding:11px;border-bottom:1px solid #d8dfd5;text-align:left}th{color:#56715f;font-size:.82rem;text-transform:uppercase}.app-header{display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(1080px,100%);margin:0 auto 24px}.app-nav{display:flex;flex-wrap:wrap;gap:12px}.app-nav a{min-height:44px;display:inline-flex;align-items:center;font-weight:700;text-decoration:none}.app-menu{display:none}.app-menu summary{min-height:46px;align-items:center;padding:11px 14px;border:1px solid #b9c5bc;border-radius:12px;background:#fff;color:#315c40;font-weight:800;cursor:pointer}.app-menu nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:10px}.app-menu a{min-height:44px;display:flex;align-items:center;padding:9px 11px;border-radius:10px;background:rgba(255,255,255,.72);font-weight:750;text-decoration:none}.admin-card{width:min(1080px,100%)}.admin-row{display:grid;grid-template-columns:minmax(180px,2fr) minmax(150px,1fr) minmax(120px,1fr) auto;grid-gap:10px;gap:10px;align-items:end}.account-row{grid-template-columns:minmax(150px,2fr) minmax(130px,1fr) minmax(130px,1fr) minmax(145px,1fr) minmax(100px,.7fr) auto}.new-row{padding:16px;border-radius:14px;background:#f3f5ef}.dashboard-shell{min-width:0}.dashboard-shell,.summary-card{width:min(1080px,100%)}.bank-account-card{padding:18px;border:1px solid #d4ddd2;border-radius:16px;background:#fbfcfa}.bank-preview{padding-top:12px;border-top:1px solid #e1e7df}.bank-preview label{display:grid;grid-gap:5px;gap:5px}.bank-preview table{min-width:720px}.bank-preview td:last-child,.bank-preview th:last-child{text-align:right}.bank-preview .movement-expense{background:#fff4f2}.bank-preview .movement-income{background:#f0f8f1}details.notice summary{cursor:pointer}.summary-card h1{max-width:none}.summary-card h2{margin:4px 0;font-family:Georgia,serif;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:500;text-transform:capitalize}.summary-metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.positive{color:#21643a}.negative{color:#a13b31}.summary-section{min-width:0;padding-top:22px;border-top:1px solid #d8dfd5}.monthly-chart{display:grid;grid-gap:13px;gap:13px}.month-row{display:grid;grid-template-columns:minmax(110px,1.2fr) minmax(100px,3fr) minmax(90px,auto) minmax(100px,3fr) minmax(90px,auto);grid-gap:10px;gap:10px;align-items:center}.month-row>span{text-transform:capitalize}.bar-track{height:10px;overflow:hidden;border-radius:999px;background:#edf0ea}.bar{display:block;height:100%;min-width:2px;border-radius:inherit}.income-bar,.income-dot{background:#4f8b62}.expense-bar,.expense-dot{background:#c56d5f}.chart-legend{display:flex;align-items:center;gap:8px;color:#647168}.expense-dot,.income-dot{width:10px;height:10px;border-radius:50%}.category-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px}.category-list{margin:0;padding:0;list-style:none}.category-list li{display:flex;justify-content:space-between;gap:12px;margin:0;padding:10px 0;border-bottom:1px solid #e5e9e3}.month-selector{display:grid;grid-template-columns:minmax(220px,1fr) auto;grid-gap:12px;gap:12px;align-items:end}.month-selector button{min-width:120px}.month-row a{font-weight:700;text-transform:capitalize}.selected-month{padding:8px;border-radius:10px;background:#f3f5ef}.category-list small{color:#647168}.pagination{display:flex;justify-content:space-between;gap:16px;align-items:center}.movements-card{width:min(1080px,100%);overflow:hidden}.movements-card h1{max-width:none}.movement-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:14px;gap:14px;align-items:end;padding:18px;border:1px solid #dfe5dc;border-radius:18px;background:#f7f9f5}.movement-filters a{align-self:center;font-weight:700;text-align:center}.movement-list{display:grid;grid-gap:14px;gap:14px}.movement-month,.movement-months{display:grid;grid-gap:18px;gap:18px}.movement-month{padding-top:8px}.movement-month-heading{position:-webkit-sticky;position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 4px;border-bottom:2px solid #cbd8cd;background:#fff}.movement-month-heading h2{margin:0;text-transform:capitalize;color:#254f34}.movement-month-heading span{color:#647168;font-weight:750;white-space:nowrap}.movement-item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:16px;gap:16px;padding:20px;border:1px solid #d8dfd5;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(38,57,47,.06)}.movement-item>div>strong{font-size:1.05rem;overflow-wrap:anywhere}.movement-item>strong{color:#263f30;font-size:1.15rem;white-space:nowrap}.movement-item p{margin:7px 0 0;color:#647168;font-size:.9rem;line-height:1.45}.movement-category{display:inline-flex;margin-top:10px;padding:5px 9px;border-radius:999px;background:#edf3ec;color:#315c40;font-size:.8rem;font-weight:800}.financial-income{color:#21643a!important}.financial-expense{color:#a13b31!important}.movement-kind{display:inline-flex;margin:10px 0 0 7px;padding:4px 8px;border-radius:999px;font-size:.75rem;font-weight:850}.movement-kind.financial-income{background:#e4f4e8}.movement-kind.financial-expense{background:#ffe6e2}.movement-item.movement-income{border-left:6px solid #4f9b67;background:#fbfffc}.movement-item.movement-expense{border-left:6px solid #cf756a;background:#fffdfc}.financial-row-income{box-shadow:inset 5px 0 #4f9b67;background:#fbfffc}.financial-row-expense{box-shadow:inset 5px 0 #cf756a;background:#fffdfc}.movement-plan-link.financial-income{background:#edf8f0}.movement-plan-link.financial-expense{background:#fff1ef}.focus-notice{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:14px;background:#edf4ff;color:#294f7e}.focus-notice a{font-weight:800;white-space:nowrap}.movement-single-editor{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;padding:16px;border-radius:16px;background:#f4f7f2}.movement-edit,.movement-single-editor .form-actions,.movement-single-editor [role=status]{grid-column:1/-1}.movement-edit{display:grid;grid-template-columns:minmax(160px,1fr) minmax(145px,.75fr) minmax(190px,1.25fr) auto;grid-gap:10px;gap:10px;padding-top:14px;border-top:1px solid #e5e9e3}.movement-edit button{min-width:100px}.manual-movement-form{padding:20px;border:1px solid #dfe5dc;border-radius:18px;background:#f7f9f5}.manual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.manual-description,.manual-detail{grid-column:1/-1}.form-actions{display:flex;align-items:center;gap:18px}.form-actions a{font-weight:700}.transfer-preview{display:grid;grid-gap:7px;gap:7px;padding:16px;border-radius:14px;background:#eaf3ea;color:#274b34}.plan-table-wrap{overflow-x:auto;border:1px solid #d8dfd5;border-radius:14px}.annual-selector{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.annual-selector label{max-width:180px}.annual-selector a{padding:12px;font-weight:700}.annual-group{margin:18px 0 26px}.annual-chart{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.annual-month{display:grid;grid-gap:7px;gap:7px;padding:15px;border:1px solid #d8dfd5;border-radius:14px;color:inherit;text-decoration:none;background:#fff}.annual-month>strong{text-transform:capitalize}.annual-month small{color:#647168}.plan-series-list{margin:0;padding:0;list-style:none}.plan-series-list li{display:flex;justify-content:space-between;gap:16px;margin:0;padding:13px 0;border-bottom:1px solid #e5e9e3}.plan-series-list span{display:grid;grid-gap:3px;gap:3px}.plan-series-list small{color:#647168}.series-card,.series-manager{min-width:0}.series-card,.series-manager{display:grid;grid-gap:14px;gap:14px}.series-card{width:100%;padding:18px;border:1px solid #d8dfd5;border-radius:16px;background:#fff}.series-card p{margin:6px 0;color:#647168;overflow-wrap:anywhere}.series-card summary{cursor:pointer;font-weight:800}.series-edit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:14px;padding:16px;border-radius:14px;background:#f7f9f5}.series-toggle{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(220px,1.5fr) auto;grid-gap:10px;gap:10px;align-items:flex-end;padding-top:12px;border-top:1px solid #e5e9e3}.series-groups{display:grid;grid-gap:30px;gap:30px}.series-group{display:grid;grid-gap:14px;gap:14px}.series-group-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 4px 10px;border-bottom:2px solid #cbd8cd}.series-group-heading h2{margin:0!important;color:#254f34}.series-group-heading span{padding:5px 9px;border-radius:999px;background:#edf3ec;color:#466250;font-size:.8rem;font-weight:800;white-space:nowrap}.occurrence-list{display:grid;grid-gap:14px;gap:14px}.occurrence-item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:14px;gap:14px;padding:18px;border:1px solid #d8dfd5;border-radius:16px;background:#fff}.occurrence-item p{margin:6px 0 0;color:#647168}.status-badge{display:inline-block;margin:0 9px 7px 0;padding:4px 8px;border-radius:999px;background:#edf1eb;color:#365442;font-size:.75rem;font-weight:800;text-transform:uppercase}.status-pending{border-color:#d8b566;background:#fffaf0}.status-pending .status-badge{background:#fff0c9;color:#76520c}.status-overdue{border-color:#d8897f;background:#fff8f6}.status-overdue .status-badge{background:#ffe4df;color:#8d2f25}.status-reconciled{border-color:#91c49d;background:#f4fbf5}.status-reconciled .status-badge{background:#dff2e3;color:#255c32}.status-omitted{border-color:#b8c0ba;background:#f1f3f1}.status-omitted .status-badge{background:#dfe3df;color:#525b55}.available-badge{display:inline-block;margin:0 9px 7px 0;padding:4px 8px;border-radius:999px;background:#dceaff;color:#244f85;font-size:.75rem;font-weight:800}.occurrence-actions,.occurrence-resolution{grid-column:1/-1;display:grid;grid-gap:10px;gap:10px;padding-top:12px;border-top:1px solid #e5e9e3}.occurrence-actions form,.occurrence-resolution form{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px}button:disabled{cursor:wait;opacity:.65}.projection-card{width:min(1080px,100%)}.projection-card h1{max-width:none}.projection-metrics dd{font-size:1.15rem}.projection-legend{display:flex;flex-wrap:wrap;gap:14px 22px;padding:14px;border-radius:14px;background:#f3f5ef;color:#46564c;font-size:.9rem}.projection-legend span{display:flex;align-items:center;gap:9px}.legend-line{width:34px;border-top:4px solid #2f7048}.legend-line.prudent{border-color:#5b4d96;border-top-style:dashed}.legend-anchor{width:12px;height:12px;border:3px solid #b06d29;border-radius:50%;background:#fff}.projection-chart-wrap{width:100%;overflow:hidden;border:1px solid #d8dfd5;border-radius:18px;background:#fff}.projection-chart{display:block;width:100%;min-width:650px;height:auto}.chart-grid{stroke:#e2e7df;stroke-width:1}.chart-label{fill:#647168;font-size:12px}.chart-line{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chart-line-legacy{stroke:#2f7048}.chart-line-prudent{stroke:#5b4d96;stroke-dasharray:11 8}.chart-regularization{stroke:#b06d29;stroke-width:2;stroke-dasharray:4 5}.chart-anchor{fill:#fff;stroke:#b06d29;stroke-width:3}.projection-table-wrap{border:1px solid #d8dfd5;border-radius:14px}.projection-table{min-width:1040px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.projection-table thead{background:#f3f5ef}.projection-table td:not(:first-child),.projection-table thead th:not(:first-child){text-align:right;white-space:nowrap}.projection-table tbody th{color:inherit;font-size:.9rem;text-transform:capitalize;white-space:nowrap}.regularization-badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#fff2df;color:#774916;font-weight:750}.projection-note{margin-bottom:0;line-height:1.55}.liquidity-section{padding:20px;border:1px solid #d8dfd5;border-radius:18px;background:#f8faf7}.liquidity-alert h3,.liquidity-section h2{margin:0}.liquidity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.liquidity-alert{padding:18px;border:2px solid;border-radius:15px}.liquidity-alert.safe{border-color:#83b892;background:#eff9f1}.liquidity-alert.risk{border-color:#d4776b;background:#fff1ef}.liquidity-alert p{line-height:1.5}.liquidity-alert details{margin-top:12px}.liquidity-alert summary{cursor:pointer;font-weight:800}.liquidity-alert ul{padding-left:20px}.liquidity-alert li{margin:8px 0;line-height:1.4}.calculation-detail{position:relative;text-align:left}.calculation-detail summary{cursor:pointer;color:#315c40;font-weight:750;white-space:nowrap}.calculation-panel{position:absolute;z-index:5;right:0;width:min(620px,calc(100vw - 64px));margin-top:10px;padding:18px;border:1px solid #cbd5c9;border-radius:16px;background:#fff;box-shadow:0 16px 45px rgba(38,57,47,.2);white-space:normal}.calculation-intro{margin-top:0}.calculation-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.calculation-curve{padding:14px;border-radius:12px;background:#f7f9f5}.calculation-curve h4{margin:0 0 10px}.calculation-curve p{display:flex;justify-content:space-between;gap:15px;margin:7px 0;font-size:.86rem}.calculation-curve strong{white-space:nowrap}.calculation-subtotal{padding-top:8px;border-top:1px solid #d8dfd5}.calculation-total{padding-top:8px;border-top:2px solid #829588}.calculation-rule{margin-bottom:0;font-size:.85rem;line-height:1.45}@media (max-width:860px){.app-header{align-items:flex-start;flex-wrap:wrap}.app-header>div,.app-header>form,.app-nav{min-width:0}.app-nav{order:3;width:100%;padding-top:4px}.app-nav a{padding:7px 10px;border-radius:9px;background:rgba(255,255,255,.5)}.movement-edit{grid-template-columns:repeat(2,minmax(0,1fr))}.movement-edit button{width:100%}.series-toggle{grid-template-columns:1fr}.account-row,.admin-card .admin-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){main{padding:18px}.app-header{align-items:flex-start;flex-direction:column}.account-row,.admin-card .admin-row,.admin-row{grid-template-columns:1fr}.app-nav{display:none}.app-menu{order:3;display:block;width:100%}.app-menu summary{display:flex}.app-menu[open] summary{background:#edf3ec}.app-header>form button{min-height:44px}.month-row{grid-template-columns:1fr minmax(100px,2fr) auto}.category-columns,.month-selector{grid-template-columns:1fr}.movements-card{padding:24px 18px;border-radius:22px}.movements-card h1{font-size:clamp(2.5rem,14vw,4rem)}.movement-filters{padding:14px}.bank-import-grid,.manual-grid,.movement-filters{grid-template-columns:1fr}.manual-description,.manual-detail{grid-column:auto}.annual-chart,.movement-edit,.movement-item,.movement-single-editor,.occurrence-actions form,.occurrence-edit-form,.occurrence-item,.occurrence-resolution form,.series-edit,.series-toggle{grid-template-columns:1fr}.movement-item{padding:16px}.movement-month-heading{align-items:flex-start;flex-direction:column;gap:4px}.movement-item>strong{grid-row:2}.projection-card{padding:24px 18px}.projection-chart-wrap{overflow-x:auto}.series-card summary{min-height:44px;display:flex;align-items:center}.annual-matrix-wrap{display:none}.annual-mobile{display:grid;grid-gap:12px;gap:12px}.annual-mobile>h2{margin:14px 0 0}.projection-table-wrap,.review-import-table-wrap{max-height:none;overflow:visible;border:0}.duplicate-review-table,.projection-table,.review-import-table{display:block;min-width:0}.duplicate-review-table thead,.projection-table thead,.review-import-table thead{display:none}.duplicate-review-table tbody,.projection-table tbody,.review-import-table tbody{display:grid;grid-gap:14px;gap:14px}.duplicate-review-table tr,.projection-table tr,.review-import-table tr{display:block;padding:14px;border:1px solid #d8dfd5;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(38,57,47,.06)}.duplicate-review-table td,.projection-table tbody th,.projection-table td,.review-import-table td{display:grid;grid-template-columns:minmax(105px,.42fr) minmax(0,1fr);grid-gap:12px;gap:12px;padding:10px 0;border-bottom:1px solid #e5e9e3;text-align:left!important;white-space:normal!important}.duplicate-review-table td:before,.projection-table td:before,.review-import-table td:before{content:attr(data-label);color:#56715f;font-size:.75rem;font-weight:800;text-transform:uppercase}.projection-table tbody th{display:block;padding-bottom:12px;color:#254f34;font-size:1.1rem}.duplicate-review-table td:last-child,.projection-table td:last-child,.review-import-table td:last-child{border-bottom:0}.review-row-actions{grid-template-columns:1fr}.decision-actions button{min-height:44px}.calculation-panel{max-width:calc(100vw - 24px)}.calculation-columns,.liquidity-grid{grid-template-columns:1fr}.calculation-panel{position:fixed;z-index:20;inset:12px;width:auto;margin:0;overflow-y:auto}}