:root{color:#162033;font-synthesis:none;text-rendering:optimizelegibility;background:#eef2f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.66}.page-shell,.auth-shell{background:radial-gradient(circle at 100% 0,#305cb426,#0000 34%),linear-gradient(145deg,#f7f9fc,#e8edf5);place-items:center;min-height:100vh;padding:32px 20px;display:grid}.status-card,.auth-panel{background:#fffffff5;border:1px solid #12294c1a;border-radius:24px;width:min(880px,100%);box-shadow:0 24px 70px #1c2d4b1f}.status-card{padding:clamp(28px,5vw,52px)}.auth-panel{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);display:grid;overflow:hidden}.brand-block{color:#fff;background:linear-gradient(145deg,#0e2244f0,#234f9beb),radial-gradient(circle at 100% 0,#ffffff2e,#0000 38%);flex-direction:column;justify-content:center;min-height:520px;padding:clamp(36px,6vw,68px);display:flex}.brand-block h1,.dashboard-header h1{color:inherit}.brand-block .eyebrow,.brand-block .lead{color:#ffffffc7}.auth-form{flex-direction:column;justify-content:center;gap:20px;padding:clamp(32px,5vw,56px);display:flex}.eyebrow{color:#2b5fb6;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-size:.78rem;font-weight:800}h1,h2{color:#10203b;margin:0;line-height:1.08}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.35rem,3vw,2rem)}.lead{color:#536176;max-width:640px;margin:20px 0 28px;font-size:1.05rem;line-height:1.7}.field-group{gap:8px;display:grid}.field-group label{color:#263650;font-size:.92rem;font-weight:700}.field-group input{color:#162033;background:#fff;border:1px solid #cad3e1;border-radius:12px;outline:none;width:100%;min-height:48px;padding:0 14px;transition:border-color .16s,box-shadow .16s}.field-group input:focus{border-color:#2b5fb6;box-shadow:0 0 0 4px #2b5fb621}.primary-button,.secondary-button{border-radius:12px;min-height:44px;font-weight:800;transition:transform .16s,box-shadow .16s}.primary-button{color:#fff;background:#234f9b;border:0;padding:0 18px;box-shadow:0 10px 24px #234f9b3d}.primary-button:not(:disabled):hover,.secondary-button:not(:disabled):hover{transform:translateY(-1px)}.secondary-button{color:#fff;background:#ffffff1a;border:1px solid #ffffff52;padding:0 18px}.security-note{color:#6a7588;margin:0;font-size:.82rem;line-height:1.55}.form-alert{border-radius:12px;margin:0;padding:12px 14px;line-height:1.5}.form-alert.error{color:#8c2525;background:#fff1f1;border:1px solid #f0b8b8}.status-row{background:#f5f7fb;border-radius:16px;align-items:flex-start;gap:14px;padding:18px;display:flex}.status-row p{color:#667287;margin:5px 0 0;line-height:1.5}.status-dot{border-radius:999px;flex:none;width:12px;height:12px;margin-top:5px}.status-dot.ready{background:#1c9b69;box-shadow:0 0 0 5px #1c9b691f}.status-dot.pending{background:#d99020;box-shadow:0 0 0 5px #d9902024}.loading-card{background:#fff;border-radius:18px;align-items:center;gap:14px;min-width:min(360px,100%);padding:28px;display:flex;box-shadow:0 20px 55px #1c2d4b1f}.loading-spinner{border:3px solid #dce3ee;border-top-color:#234f9b;border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-shell{background:#eef2f7;min-height:100vh;padding:clamp(24px,4vw,48px)}.dashboard-header{color:#fff;background:linear-gradient(135deg,#10203b,#234f9b);border-radius:22px;justify-content:space-between;align-items:center;gap:24px;max-width:1240px;margin:0 auto 24px;padding:clamp(24px,4vw,40px);display:flex;box-shadow:0 20px 55px #1935622e}.dashboard-header .eyebrow{color:#ffffffb3}.header-subtitle{color:#ffffffc2;margin:10px 0 0}.dashboard-alert{max-width:1240px;margin:0 auto 20px}.summary-grid,.cards-grid{gap:18px;max-width:1240px;margin-left:auto;margin-right:auto;display:grid}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}.summary-card,.dashboard-section{background:#fff;border:1px solid #e0e6ef;box-shadow:0 14px 35px #1c2d4b12}.summary-card{border-radius:18px;flex-direction:column;min-height:150px;padding:22px;display:flex}.summary-card span{color:#647187;font-size:.9rem;font-weight:700}.summary-card strong{color:#10203b;margin-top:16px;font-size:1.75rem}.summary-card small{color:#7a8597;margin-top:auto;padding-top:14px}.dashboard-section{border-radius:22px;max-width:1240px;margin:0 auto;padding:clamp(22px,4vw,34px)}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.section-badge{color:#315b9f;background:#edf3fc;border-radius:999px;padding:8px 12px;font-size:.82rem;font-weight:800}.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.credit-card{color:#fff;background:radial-gradient(circle at 100% 0,#fff3,#0000 34%),linear-gradient(145deg,#162949,#305fad);border-radius:18px;flex-direction:column;min-height:190px;padding:22px;display:flex;box-shadow:0 16px 34px #1a3a6c33}.credit-card-brand{letter-spacing:.1em;text-transform:uppercase;opacity:.72;font-size:.74rem;font-weight:800}.credit-card>strong{margin-top:12px;font-size:1.35rem}.credit-card-details{justify-content:space-between;gap:12px;margin-top:auto;padding-top:22px;display:flex}.credit-card-details span,.credit-card small{color:#ffffffb8}.credit-card small{margin-top:12px;line-height:1.5}.empty-state{color:#687589;text-align:center;background:#f8fafc;border:1px dashed #cbd5e3;border-radius:16px;grid-column:1/-1;margin:0;padding:30px}@media (width<=980px){.summary-grid,.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.auth-panel{grid-template-columns:1fr}.brand-block{min-height:auto;padding:36px 28px}.auth-form{padding:34px 28px}.dashboard-header,.section-heading{flex-direction:column;align-items:flex-start}}@media (width<=560px){.status-card,.auth-panel{border-radius:18px}.summary-grid,.cards-grid{grid-template-columns:1fr}.dashboard-shell{padding:16px}}.section-description{color:#687589;max-width:680px;margin:10px 0 0;line-height:1.55}.form-alert.success{color:#176c4d;background:#eefbf5;border:1px solid #a9ddc5}.card-configure-button{color:#fff;background:#ffffff1a;border:1px solid #ffffff52;border-radius:10px;min-height:40px;margin-top:18px;padding:0 14px;font-weight:800}.card-configure-button:not(:disabled):hover{background:#ffffff2e}.card-edit-form{background:#f8fafc;border:1px solid #d8e0ec;border-radius:18px;grid-column:1/-1;padding:clamp(20px,4vw,30px)}.card-edit-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.card-edit-heading h3{color:#10203b;margin:0;font-size:1.35rem}.card-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.card-form-grid .field-group input[aria-invalid=true]{border-color:#c95b5b;box-shadow:0 0 0 4px #c95b5b1a}.field-error{color:#9b3131;font-size:.78rem;line-height:1.4}.card-form-actions{justify-content:flex-end;gap:12px;margin-top:22px;display:flex}.outline-button,.text-button{color:#234f9b;border-radius:12px;min-height:44px;font-weight:800}.outline-button{background:#fff;border:1px solid #b9c8df;padding:0 18px}.text-button{background:0 0;border:0;min-height:auto;padding:6px 0}.outline-button:not(:disabled):hover{background:#f2f6fc;border-color:#234f9b}.text-button:not(:disabled):hover{text-decoration:underline}@media (width<=980px){.card-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.card-edit-heading{flex-direction:column}.card-form-grid{grid-template-columns:1fr}.card-form-actions{flex-direction:column-reverse}.card-form-actions button{width:100%}}.transactions-section{margin-bottom:24px}.transactions-alert{margin-bottom:18px}.transaction-form{background:#f8fafc;border:1px solid #d8e0ec;border-radius:18px;margin-bottom:24px;padding:clamp(20px,4vw,30px)}.transaction-form-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.transaction-form-heading h3{color:#10203b;margin:0;font-size:1.35rem}.transaction-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.transaction-description-field{grid-column:span 2}.transaction-notes-field{grid-column:1/-1}.transaction-form .field-group input,.transaction-form .field-group select,.transaction-form .field-group textarea{color:#162033;background:#fff;border:1px solid #cad3e1;border-radius:12px;outline:none;width:100%;min-height:48px;padding:0 14px;transition:border-color .16s,box-shadow .16s}.transaction-form .field-group textarea{resize:vertical;min-height:92px;padding-top:12px}.transaction-form .field-group input:focus,.transaction-form .field-group select:focus,.transaction-form .field-group textarea:focus{border-color:#2b5fb6;box-shadow:0 0 0 4px #2b5fb621}.transaction-form .field-group input[aria-invalid=true],.transaction-form .field-group select[aria-invalid=true],.transaction-form .field-group textarea[aria-invalid=true]{border-color:#c95b5b;box-shadow:0 0 0 4px #c95b5b1a}.transaction-form .field-group input:disabled{color:#79869a;background:#edf1f6}.transactions-table-wrapper{border:1px solid #e0e6ef;border-radius:16px;overflow-x:auto}.transactions-table{border-collapse:collapse;background:#fff;width:100%}.transactions-table th,.transactions-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e7ebf2;padding:15px 16px}.transactions-table th{color:#607089;letter-spacing:.04em;text-transform:uppercase;background:#f6f8fb;font-size:.78rem;font-weight:800}.transactions-table tbody tr:last-child td{border-bottom:0}.transactions-table tbody tr:hover{background:#fafbfd}.transactions-table td strong,.transactions-table td small{display:block}.transactions-table td small{color:#7a8597;margin-top:5px}.status-chip{border-radius:999px;align-items:center;min-height:28px;padding:4px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.status-chip.paid{color:#176c4d;background:#e5f7ef}.status-chip.pending{color:#8a5a0c;background:#fff4d8}.status-chip.overdue{color:#9b3131;background:#ffe8e8}.status-chip.cancelled{color:#5e6878;background:#edf0f4}.transaction-value{white-space:nowrap}.transaction-value.income{color:#17714f}.transaction-value.expense{color:#a43c3c}.row-actions{gap:8px;display:flex}.table-action-button{color:#234f9b;background:#fff;border:1px solid #b9c8df;border-radius:9px;min-height:34px;padding:0 11px;font-size:.8rem;font-weight:800}.table-action-button:not(:disabled):hover{background:#f2f6fc;border-color:#234f9b}.table-action-button.danger{color:#9b3131;border-color:#e2baba}.table-action-button.danger:not(:disabled):hover{background:#fff1f1;border-color:#c95b5b}@media (width<=980px){.transaction-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.transaction-form-heading{flex-direction:column}.transactions-table-wrapper{border:0;overflow:visible}.transactions-table,.transactions-table tbody,.transactions-table tr,.transactions-table td{width:100%;display:block}.transactions-table thead{display:none}.transactions-table tbody{gap:14px;display:grid}.transactions-table tr{background:#fff;border:1px solid #e0e6ef;border-radius:14px;padding:10px 16px}.transactions-table td{border-bottom:1px solid #edf0f4;grid-template-columns:minmax(90px,.35fr) minmax(0,1fr);gap:12px;padding:10px 0;display:grid}.transactions-table td:last-child{border-bottom:0}.transactions-table td:before{content:attr(data-label);color:#687589;text-transform:uppercase;font-size:.78rem;font-weight:800}}@media (width<=560px){.transaction-form-grid{grid-template-columns:1fr}.transaction-description-field,.transaction-notes-field{grid-column:auto}.row-actions{flex-direction:column}.table-action-button{width:100%}}.accounts-section{margin-bottom:24px}.accounts-alert{margin-bottom:18px}.account-form{background:#f8fafc;border:1px solid #d8e0ec;border-radius:18px;margin-bottom:22px;padding:clamp(20px,4vw,30px)}.account-form-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.account-form-heading h3,.account-card h3{color:#10203b;margin:0}.account-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.account-form-grid .field-group input[aria-invalid=true]{border-color:#c95b5b;box-shadow:0 0 0 4px #c95b5b1a}.account-active-field{cursor:pointer;background:#fff;border:1px solid #cad3e1;border-radius:12px;align-self:end;align-items:center;gap:10px;min-height:48px;padding:10px 14px;display:flex}.account-active-field input{width:18px;height:18px}.account-active-field span{gap:2px;display:grid}.account-active-field strong{color:#263650;font-size:.9rem}.account-active-field small{color:#748095}.accounts-total{background:linear-gradient(145deg,#f8fbff,#eef4fc);border:1px solid #cfd9e8;border-radius:16px;grid-template-columns:1fr auto;align-items:center;gap:4px 18px;margin-bottom:18px;padding:18px 20px;display:grid}.accounts-total span{color:#536176;text-transform:uppercase;letter-spacing:.06em;font-size:.88rem;font-weight:800}.accounts-total strong{color:#10203b;grid-area:1/2/span 2;font-size:1.7rem}.accounts-total small{color:#748095}.accounts-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.account-card{background:#fff;border:1px solid #dce4ef;border-radius:18px;flex-direction:column;min-height:250px;padding:22px;display:flex;box-shadow:0 12px 28px #1c2d4b12}.account-card.inactive{opacity:.7;background:#f5f7fa}.account-card-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.account-kind{color:#315b9f;letter-spacing:.07em;text-transform:uppercase;margin-bottom:8px;font-size:.75rem;font-weight:800;display:block}.account-status{border-radius:999px;padding:6px 9px;font-size:.75rem;font-weight:800}.account-status.active{color:#176c4d;background:#eaf8f1}.account-status.inactive{color:#6a7588;background:#e8ecf2}.account-institution,.account-reference{color:#667287;margin:14px 0 0;line-height:1.45}.account-reference{margin-top:4px;font-size:.88rem}.account-balance{gap:5px;margin-top:auto;padding-top:22px;display:grid}.account-balance span,.account-balance small{color:#748095}.account-balance strong{color:#10203b;font-size:1.6rem}.account-actions{gap:10px;margin-top:18px;display:flex}.account-actions .table-action-button{flex:1}@media (width<=980px){.account-form-grid,.accounts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.account-form-heading{flex-direction:column}.account-form-grid,.accounts-grid,.accounts-total{grid-template-columns:1fr}.accounts-total strong{grid-area:auto/1}.account-actions{flex-direction:column}}.fixed-expenses-section{margin-top:24px}.fixed-expense-alert{margin-bottom:18px}.fixed-expense-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.fixed-expense-form{background:#f8fafc;border:1px solid #d8e0ec;border-radius:18px;margin-bottom:28px;padding:clamp(20px,4vw,30px)}.fixed-expense-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.fixed-expense-form-grid .field-group input,.fixed-expense-form-grid .field-group select,.fixed-expense-form-grid .field-group textarea{color:#162033;background:#fff;border:1px solid #cad3e1;border-radius:11px;outline:none;width:100%;min-height:46px;padding:0 13px}.fixed-expense-form-grid .field-group textarea{resize:vertical;min-height:92px;padding-top:12px}.fixed-expense-form-grid [aria-invalid=true]{border-color:#c95b5b;box-shadow:0 0 0 4px #c95b5b1a}.fixed-expense-description-field{grid-column:span 2}.fixed-expense-notes-field{grid-column:1/-1}.fixed-expense-active-field{color:#35435a;cursor:pointer;background:#fff;border:1px solid #cad3e1;border-radius:11px;align-self:end;align-items:center;gap:10px;min-height:46px;padding:0 14px;display:flex}.fixed-expense-active-field input{width:18px;height:18px}.fixed-expense-history-note{color:#5e6c81;background:#edf3fc;border-radius:12px;margin:18px 0 0;padding:13px 15px;line-height:1.5}.fixed-expenses-table td small{color:#788497;margin-top:5px;line-height:1.4;display:block}.fixed-expenses-table .inactive-row{opacity:.68;background:#f9fafb}.recurrence-chip{border-radius:999px;width:fit-content;margin-top:8px;padding:5px 8px;font-size:.72rem;font-weight:800;display:inline-flex}.recurrence-chip.active{color:#176c4d;background:#eaf8f1}.recurrence-chip.inactive{color:#657287;background:#edf0f4}.fixed-expense-row-actions{min-width:132px}.table-action-button.success-action{color:#176c4d;background:#edf9f3;border-color:#b7ddca}@media (width<=1050px){.fixed-expense-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.fixed-expense-heading-actions,.fixed-expense-heading-actions button{width:100%}.fixed-expense-form-grid{grid-template-columns:1fr}.fixed-expense-description-field,.fixed-expense-notes-field{grid-column:auto}.fixed-expense-row-actions{min-width:0}}.card-invoices-section{margin-top:24px}.card-invoices-alert{margin-bottom:18px}.card-limit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.card-limit-item{background:#f8fafc;border:1px solid #dce4ef;border-radius:18px;padding:20px}.card-limit-item.inactive{opacity:.68}.card-limit-heading,.card-limit-values,.invoice-card-heading,.subsection-heading,.invoice-payment-actions{justify-content:space-between;gap:16px;display:flex}.card-limit-heading{align-items:flex-start}.card-limit-heading div{gap:4px;display:grid}.card-limit-heading span{color:#718096;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.card-limit-heading strong{color:#17233a;font-size:1.05rem}.card-limit-heading b{color:#1f4e96;font-size:1.12rem}.limit-progress{background:#e5eaf2;border-radius:999px;height:9px;margin:18px 0 12px;overflow:hidden}.limit-progress span{border-radius:inherit;background:linear-gradient(90deg,#2e61ad,#173f7d);height:100%;display:block}.card-limit-values{color:#657287}.card-warning{color:#9a5a12;margin:14px 0 0;font-size:.82rem;line-height:1.45}.card-purchase-form{background:#f8fafc;border:1px solid #d8e0ec;border-radius:18px;margin-bottom:28px;padding:clamp(20px,4vw,30px)}.card-purchase-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.card-purchase-form-grid .field-group input,.card-purchase-form-grid .field-group select,.card-purchase-form-grid .field-group textarea,.invoice-payment-form .field-group input,.invoice-payment-form .field-group select{color:#162033;background:#fff;border:1px solid #cad3e1;border-radius:11px;outline:none;width:100%;min-height:46px;padding:0 13px}.card-purchase-form-grid .field-group textarea{resize:vertical;min-height:92px;padding-top:12px}.card-purchase-form-grid [aria-invalid=true]{border-color:#c95b5b;box-shadow:0 0 0 4px #c95b5b1a}.purchase-description-field{grid-column:span 2}.purchase-notes-field{grid-column:1/-1}.installment-preview{color:#536176;background:#edf3fc;border-radius:14px;gap:6px;margin-top:18px;padding:16px;display:grid}.installment-preview strong{color:#1d4581}.card-module-block+.card-module-block{margin-top:30px}.subsection-heading{align-items:center;margin-bottom:16px}.subsection-heading h3{color:#15233b;margin:0;font-size:1.2rem}.subsection-heading p{color:#718096;margin:6px 0 0}.invoice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.invoice-card{background:#fff;border:1px solid #dce4ef;border-radius:18px;padding:20px;box-shadow:0 10px 26px #1c2d4b0f}.invoice-card.open{border-color:#d6b26c}.invoice-card.paid{border-color:#a9ddc5}.invoice-card.cancelled{opacity:.72}.invoice-card-heading{align-items:flex-start}.invoice-card-heading>div{gap:5px;display:grid}.invoice-card-heading>div>span{color:#687589;font-size:.82rem;font-weight:700}.invoice-card-heading strong{color:#10203b;text-transform:capitalize}.invoice-status,.purchase-status-chip{border-radius:999px;padding:6px 9px;font-size:.74rem;font-weight:800}.invoice-status.open{color:#8a570b;background:#fff4d8}.invoice-status.paid{color:#176c4d;background:#eaf8f1}.invoice-status.cancelled,.purchase-status-chip{color:#5d6879;background:#edf0f4}.invoice-total{color:#10203b;margin-top:20px;font-size:1.65rem;display:block}.invoice-metadata{color:#687589;gap:6px;margin-top:14px;font-size:.86rem;display:grid}.invoice-pay-button{width:100%;margin-top:18px}.invoice-payment-form{border-top:1px solid #e1e7ef;gap:14px;margin-top:18px;padding-top:18px;display:grid}.invoice-payment-actions{align-items:center}.card-purchases-table td small{color:#7a8597;margin-top:4px;display:block}@media (width<=1050px){.card-limit-grid,.invoice-grid,.card-purchase-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.card-limit-grid,.invoice-grid,.card-purchase-form-grid{grid-template-columns:1fr}.purchase-description-field,.purchase-notes-field{grid-column:auto}.subsection-heading,.invoice-payment-actions{flex-direction:column;align-items:flex-start}.invoice-payment-actions button{width:100%}}.budgets-shell{padding-top:0}.budgets-section{margin-top:24px}.budgets-heading{align-items:flex-start}.budget-month-toolbar,.budget-actions,.budget-form-heading,.budget-category-heading,.budget-card-actions{justify-content:space-between;align-items:center;gap:14px;display:flex}.budget-month-toolbar{background:#f8fafc;border:1px solid #dbe3ef;border-radius:16px;margin:22px 0;padding:16px}.budget-month-field{color:#536176;text-align:center;gap:6px;font-size:.8rem;font-weight:800;display:grid}.budget-month-field input{color:#17233a;background:#fff;border:1px solid #cbd5e1;border-radius:10px;min-height:42px;padding:0 12px}.budget-alert{margin-bottom:18px}.budget-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.budget-summary-grid article{background:#fff;border:1px solid #dce4ef;border-radius:16px;gap:7px;min-width:0;padding:18px;display:grid;box-shadow:0 8px 24px #1c2d4b0d}.budget-summary-grid span{color:#66748a;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:800}.budget-summary-grid strong{color:#15233b;font-size:clamp(1.15rem,2vw,1.45rem)}.budget-summary-grid small{color:#788497}.budget-summary-grid article.negative strong{color:#a53d3d}.budget-actions{justify-content:flex-start;margin-bottom:12px}.budget-helper,.budget-footnote{color:#6c788b;font-size:.86rem;line-height:1.55}.budget-helper{margin:0 0 16px}.budget-form{background:#f8fafc;border:1px solid #d8e0ec;border-radius:18px;margin:18px 0 24px;padding:clamp(20px,4vw,28px)}.budget-form-heading{align-items:flex-start;margin-bottom:18px}.budget-form-heading h3{color:#16233b;margin:4px 0 0}.budget-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.budget-form-grid input,.budget-form-grid select{color:#162033;background:#fff;border:1px solid #cad3e1;border-radius:11px;outline:none;width:100%;min-height:46px;padding:0 13px}.budget-form-grid [aria-invalid=true]{border-color:#c95b5b;box-shadow:0 0 0 4px #c95b5b1a}.budget-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.budget-category-card{background:#fff;border:1px solid #dce4ef;border-radius:18px;min-width:0;padding:20px;box-shadow:0 10px 26px #1c2d4b0f}.budget-category-card.warning{background:#fffdf7;border-color:#e2bd72}.budget-category-card.exceeded{background:snow;border-color:#dda2a2}.budget-category-heading{align-items:flex-start}.budget-category-heading>div{gap:4px;min-width:0;display:grid}.budget-category-heading>div>span{color:#718096;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.budget-category-heading strong{overflow-wrap:anywhere;color:#17233a;font-size:1.08rem}.budget-category-heading small{color:#8a6470}.budget-status{text-align:center;border-radius:999px;flex:none;padding:6px 9px;font-size:.72rem;font-weight:800}.budget-status.normal{color:#176c4d;background:#eaf8f1}.budget-status.warning{color:#8a570b;background:#fff1cb}.budget-status.exceeded{color:#9d3434;background:#fdeaea}.budget-progress{background:#e8edf4;border-radius:999px;height:10px;margin:20px 0 16px;overflow:hidden}.budget-progress span{border-radius:inherit;background:linear-gradient(90deg,#2e61ad,#173f7d);height:100%;display:block}.budget-category-card.warning .budget-progress span{background:linear-gradient(90deg,#d59a35,#9a650f)}.budget-category-card.exceeded .budget-progress span{background:linear-gradient(90deg,#d45d5d,#9f3131)}.budget-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.budget-values div{gap:4px;min-width:0;display:grid}.budget-values span{color:#758196;font-size:.72rem}.budget-values strong{overflow-wrap:anywhere;color:#1b2940;font-size:.94rem}.budget-category-card.exceeded .budget-values div:last-child strong{color:#a53d3d}.budget-percentage{color:#5f6d82;margin:16px 0;font-size:.86rem;font-weight:700}.budget-card-actions{border-top:1px solid #e7ebf1;justify-content:flex-start;padding-top:15px}.text-button.danger{color:#a23f3f}.budget-footnote{border-top:1px solid #e4e9f0;margin:20px 0 0;padding-top:16px}@media (width<=1050px){.budget-summary-grid,.budget-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.budget-month-toolbar,.budget-actions,.budget-form-heading,.budget-category-heading,.budget-card-actions{flex-direction:column;align-items:stretch}.budget-month-toolbar button,.budget-actions button,.budget-card-actions button{width:100%}.budget-month-field{text-align:left;width:100%}.budget-summary-grid,.budget-form-grid,.budget-category-grid,.budget-values{grid-template-columns:1fr}}.reports-section{margin-top:24px}.reports-heading{align-items:flex-start}.report-filters{background:#f8fafc;border:1px solid #d8e0ec;border-radius:18px;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;padding:clamp(18px,3vw,26px);display:grid}.report-filters .field-group input,.report-filters .field-group select{color:#162033;background:#fff;border:1px solid #cad3e1;border-radius:11px;outline:none;width:100%;min-height:46px;padding:0 13px}.report-filter-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:12px;display:flex}.report-alert{margin-bottom:18px}.print-report-heading{display:none}.report-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.report-summary-grid article{background:#fff;border:1px solid #dce4ef;border-radius:18px;align-content:start;gap:8px;min-height:132px;padding:20px;display:grid;box-shadow:0 10px 26px #1c2d4b0d}.report-summary-grid article span{color:#657287;letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;font-weight:800}.report-summary-grid article strong{color:#10203b;font-size:clamp(1.35rem,2.6vw,1.9rem)}.report-summary-grid article small{color:#7a8597;line-height:1.45}.report-summary-grid article.negative strong,.negative-text{color:#b33a3a}.report-block{border-top:1px solid #e1e7ef;margin-top:28px;padding-top:26px}.report-block-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.report-block-heading h3{color:#15233b;margin:0;font-size:1.18rem}.report-block-heading p{color:#718096;margin:6px 0 0;line-height:1.5}.report-block-heading>span{color:#526178;background:#edf1f6;border-radius:999px;flex:none;padding:7px 10px;font-size:.78rem;font-weight:800}.category-report-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.category-report-list article{background:#fff;border:1px solid #dce4ef;border-radius:15px;padding:17px}.category-report-list article>div:first-child{color:#17233a;justify-content:space-between;gap:14px;display:flex}.category-report-list article>div:first-child span{font-weight:800}.report-progress{background:#e6ebf2;border-radius:999px;height:8px;margin-top:13px;overflow:hidden}.report-progress span{border-radius:inherit;background:linear-gradient(90deg,#2f61ad,#173f7d);height:100%;display:block}.monthly-evolution-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.monthly-evolution-list article{background:#fff;border:1px solid #dce4ef;border-radius:16px;padding:18px}.monthly-evolution-list article>strong{color:#15233b;text-transform:capitalize;margin-bottom:14px;display:block}.evolution-line{color:#607087;grid-template-columns:76px minmax(80px,1fr) auto;align-items:center;gap:10px;margin:10px 0;font-size:.82rem;display:grid}.evolution-line>div{background:#e9edf3;border-radius:999px;height:8px;overflow:hidden}.evolution-line i{border-radius:inherit;height:100%;display:block}.evolution-line.income i{background:#2d8a62}.evolution-line.expense i{background:#c25757}.evolution-line b{color:#26364f;font-size:.8rem}.monthly-evolution-list article>small{color:#5f6e83;margin-top:12px;font-weight:800;display:block}.report-table-wrapper{background:#fff;border:1px solid #dce4ef;border-radius:16px;overflow-x:auto}.report-table{border-collapse:collapse;width:100%;min-width:720px}.report-table th,.report-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e6ebf2;padding:13px 14px}.report-table th{color:#59677c;letter-spacing:.04em;text-transform:uppercase;background:#f5f7fa;font-size:.76rem}.report-table td{color:#26364f;font-size:.88rem}.report-table tbody tr:last-child td{border-bottom:0}.report-table td small{color:#7a8597;margin-top:4px;display:block}.report-status,.invoice-report-status{white-space:nowrap;border-radius:999px;align-items:center;padding:5px 8px;font-size:.72rem;font-weight:800;display:inline-flex}.report-status.paid,.invoice-report-status.paid{color:#176c4d;background:#e8f7f0}.report-status.pending,.invoice-report-status.open{color:#8a570b;background:#fff3d2}.report-status.overdue{color:#a63333;background:#fdeaea}.report-status.cancelled,.invoice-report-status.cancelled{color:#5f697a;background:#edf0f4}.report-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.report-card-grid article{background:#fff;border:1px solid #dce4ef;border-radius:16px;gap:8px;padding:18px;display:grid;box-shadow:0 8px 22px #1c2d4b0a}.report-card-grid article>div{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.report-card-grid article>div strong{color:#17233a}.report-card-grid article>b{color:#10203b;font-size:1.35rem}.report-card-grid article>small{color:#6f7c8f}@media (width<=1050px){.report-filters,.report-summary-grid,.report-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.report-filters,.report-summary-grid,.category-report-list,.monthly-evolution-list,.report-card-grid{grid-template-columns:1fr}.report-filter-actions,.report-block-heading{flex-direction:column;align-items:stretch}.report-filter-actions button{width:100%}.evolution-line{grid-template-columns:68px minmax(60px,1fr)}.evolution-line b{grid-column:2}}@media print{@page{size:A4 landscape;margin:12mm}body{color:#000;background:#fff}body>*{visibility:hidden}.reports-section,.reports-section *{visibility:visible}.reports-section{width:100%;box-shadow:none;border:0;margin:0;padding:0;position:absolute;inset:0}.no-print,.reports-heading .section-badge{display:none!important}.reports-heading{margin-bottom:10px}.reports-heading .eyebrow,.reports-heading .section-description{display:none}.reports-heading h2{margin:0;font-size:20px}.print-report-heading{border-bottom:1px solid #999;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;font-size:11px;display:flex}.report-summary-grid{grid-template-columns:repeat(6,1fr);gap:6px}.report-summary-grid article,.category-report-list article,.monthly-evolution-list article,.report-card-grid article{min-height:0;box-shadow:none;break-inside:avoid;border-color:#aaa;padding:8px}.report-summary-grid article span,.report-summary-grid article small{font-size:8px}.report-summary-grid article strong{font-size:12px}.report-block{break-inside:auto;margin-top:12px;padding-top:10px}.report-block-heading{margin-bottom:6px}.report-block-heading h3{font-size:12px}.report-block-heading p,.report-block-heading>span{font-size:8px}.category-report-list,.monthly-evolution-list,.report-card-grid{grid-template-columns:repeat(3,1fr);gap:6px}.report-table{min-width:0}.report-table th,.report-table td{padding:5px;font-size:7px}.report-status,.invoice-report-status{padding:2px 4px;font-size:6px}}.card-invoices-shell{min-height:auto;margin-top:-48px;padding-top:0}.card-invoices-shell .card-invoices-section{margin-top:0}@media (width<=560px){.card-invoices-shell{margin-top:-16px}}
