:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17211d;background:#f5f7f2;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button{border:0;border-radius:8px;cursor:pointer;font:inherit}.app-shell{display:grid;grid-template-columns:272px 1fr;min-height:100vh}.sidebar{background:#11231d;color:#eef6ef;padding:24px}.brand{align-items:center;display:flex;gap:12px;margin-bottom:32px}.brand-mark{align-items:center;background:#78d08b;border-radius:8px;color:#11231d;display:grid;font-weight:800;height:44px;place-items:center;width:44px}.brand strong,.brand span{display:block}.brand span,nav a span{color:#b7c9bf}nav{display:grid;gap:8px}nav a,nav button{align-items:center;border-radius:8px;color:#dce9df;display:flex;gap:10px;padding:12px;text-decoration:none;background:transparent;text-align:left}nav a.active,nav a:hover,nav button.active,nav button:hover{background:#20372f;color:#fff}.workspace{padding:28px}.topbar{align-items:center;display:flex;justify-content:space-between;gap:16px;margin-bottom:24px}.topbar p,.topbar h1{margin:0}.topbar p{color:#68756f;font-weight:700}.topbar h1{font-size:32px}.topbar button,.primary-action,.form-grid button,.import-panel button{align-items:center;background:#176b4d;color:#fff;display:inline-flex;gap:8px;padding:12px 16px;text-decoration:none}.form-grid button.secondary-action{background:#edf2ee;color:#334139}.stats-grid,.content-grid{display:grid;gap:16px}.dashboard-stack{display:grid;gap:24px}.balance-hero{background:#11231d;border-radius:8px;color:#fff;display:grid;gap:18px;justify-items:center;padding:34px 24px 28px}.balance-hero>span{color:#aebdb5;font-weight:800}.balance-hero>strong{font-size:48px;line-height:1}.hero-totals{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));max-width:620px;width:100%}.hero-totals div{background:#1d332b;border-radius:8px;display:grid;gap:6px;padding:16px}.hero-totals small{color:#aebdb5;font-weight:800}.hero-totals b{font-size:22px}.section-title{color:#4e5b54;font-size:20px;margin:0 0 12px}.pending-summary-grid,.dashboard-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.summary-tile,.summary-panel{background:#fff;border:1px solid #dce4de;border-radius:8px}.summary-tile{color:#17211d;display:grid;gap:8px;justify-items:start;min-height:138px;padding:22px;text-align:left}.summary-tile:hover{border-color:#91b99f;box-shadow:0 8px 20px #11231d14}.tile-count{border-radius:999px;color:#fff;display:inline-grid;font-weight:900;height:34px;place-items:center;width:34px}.positive-bg{background:#61bd6d}.negative-bg{background:#ee4f52}.summary-panel{display:grid;gap:12px;padding:18px}.summary-line,.summary-total{align-items:center;display:grid;gap:12px;grid-template-columns:1fr auto}.summary-line+.summary-line,.summary-total{border-top:1px solid #edf1ee;padding-top:12px}.summary-line span{color:#66736c;display:block}.summary-total{font-size:18px}.category-summary>div{align-items:center;display:flex;gap:10px}.color-dot{background:#7f38d8;border-radius:999px;height:12px;width:12px}.monthly-panel{grid-template-columns:84px 1fr}.balance-bars{align-items:end;display:flex;gap:16px;justify-content:center;padding:10px 0}.balance-bars span{border-radius:999px;display:block;height:96px;width:28px}.income-bar{background:#61bd6d}.expense-bar{background:#ee4f52}.monthly-lines{display:grid;gap:14px}.monthly-lines div{align-items:center;display:grid;gap:12px;grid-template-columns:1fr auto}.monthly-lines div:last-child{border-top:1px solid #edf1ee;padding-top:14px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.stat-card,.panel{background:#fff;border:1px solid #dce4de;border-radius:8px}.stat-card{display:grid;gap:8px;padding:18px;text-align:left;width:100%}.stat-card.clickable{cursor:pointer}.stat-card.clickable:hover{border-color:#91b99f;box-shadow:0 8px 20px #11231d14}.stat-card span,.panel-header span,.table-row span,.mini-card span,.account-line span,.budget-info span,.import-panel p{color:#66736c}.stat-card strong{font-size:25px}.content-grid{grid-template-columns:1.4fr 1fr}.panel{padding:18px}.panel.wide{grid-column:span 1}.panel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.panel-header h2,.import-panel h2{font-size:18px;margin:0}.icon-button{background:#edf2ee;color:#2b3a33;height:40px;width:40px}.table,.stack,.budget-list{display:grid;gap:10px}.table-row,.account-line,.mini-card,.budget-line{align-items:center;border-top:1px solid #edf1ee;display:grid;gap:12px;padding-top:12px}.table-row{grid-template-columns:1fr auto auto}.table-row.compact{grid-template-columns:1fr auto}.pending-row{align-items:center;background:transparent;border-top:1px solid #edf1ee;color:inherit;display:grid;gap:12px;grid-template-columns:1fr auto;padding:14px 0 0;text-align:left}.pending-row:hover{color:#176b4d}.pending-row strong,.pending-row span,.table-row strong,.table-row span,.account-line strong,.account-line span,.mini-card strong,.mini-card span{display:block}.badge{border-radius:999px;font-size:12px;font-weight:800;padding:5px 9px}.badge.paid{background:#e4f6e8;color:#176b4d}.badge.pending{background:#fff0cf;color:#8a5b00}.positive{color:#176b4d}.negative{color:#a93535}.account-line,.mini-card{grid-template-columns:1fr auto}.progress{background:#e7ece8;border-radius:999px;grid-column:1 / -1;height:8px;overflow:hidden}.progress span{background:#2b8a62;display:block;height:100%}.budget-line{grid-template-columns:minmax(160px,220px) 1fr 56px}.budget-line .progress{grid-column:auto}.import-panel{align-content:center;display:grid;justify-items:start;min-height:210px}.empty-state{color:#66736c;margin:0;padding:10px 0}.form-panel{align-self:start}.form-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid label{color:#3b4741;display:grid;font-size:13px;font-weight:800;gap:6px}.form-grid input,.form-grid select{background:#fbfcfb;border:1px solid #d5ded8;border-radius:8px;color:#17211d;font:inherit;min-height:42px;padding:9px 10px;width:100%}.form-grid button{justify-content:center;min-height:42px}.registration-grid,.category-list{display:grid;gap:18px}.registration-layout{display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr)}.registration-layout>section h2{font-size:18px;margin:0 0 14px}.segmented-tabs{background:#edf2ee;border-radius:8px;display:inline-grid;gap:4px;grid-template-columns:repeat(3,minmax(0,auto));margin-bottom:18px;padding:4px}.segmented-tabs button{background:transparent;color:#334139;padding:10px 12px}.segmented-tabs button.active{background:#fff;box-shadow:0 1px 2px #11231d1f}.registration-grid section{border-top:1px solid #edf1ee;padding-top:14px}.registration-grid h3{font-size:15px;margin:0 0 12px}.category-list{grid-template-columns:repeat(2,minmax(0,1fr))}.category-item{border-top:1px solid #edf1ee;display:grid;gap:8px;padding-top:12px}.category-item strong,.category-item span{display:block}.category-item span,.category-item p{color:#66736c}.category-item p{line-height:1.5;margin:0}.manageable-line{align-items:start}.row-actions{display:flex;gap:8px;grid-column:1 / -1}.row-actions button,.tag-item button{background:#edf2ee;color:#334139;font-size:12px;font-weight:800;padding:7px 9px}.row-actions .danger-action{background:#f8e6e6;color:#9f2f2f}.subcategory-tags{display:flex;flex-wrap:wrap;gap:8px}.tag-item{align-items:center;background:#edf2ee;border-radius:999px;color:#334139;display:inline-flex;gap:6px;padding:6px 8px 6px 10px}.tag-item button{border-radius:999px;line-height:1;padding:3px 6px}.modal-backdrop{align-items:center;background:#11231d7a;display:grid;inset:0;padding:18px;place-items:center;position:fixed;z-index:10}.modal{background:#fff;border-radius:8px;box-shadow:0 24px 60px #11231d3d;max-width:520px;padding:18px;width:min(100%,520px)}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}nav{grid-template-columns:repeat(5,minmax(0,1fr))}nav a{justify-content:center}.stats-grid,.content-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.workspace,.sidebar{padding:18px}.topbar,.table-row,.budget-line,.form-grid{align-items:stretch;grid-template-columns:1fr}.topbar{display:grid}.stats-grid,.content-grid,.dashboard-grid,.hero-totals,.pending-summary-grid,.registration-layout,.category-list,nav{grid-template-columns:1fr}.balance-hero>strong{font-size:38px}.monthly-panel{grid-template-columns:1fr}}.transaction-modal{max-height:min(92vh,820px);overflow:auto}.transaction-type-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.transaction-type-grid button{background:#f7faf8;border:1px solid #dce4de;color:#17211d;display:grid;gap:8px;justify-items:start;min-height:118px;padding:16px;text-align:left}.transaction-type-grid button:hover{border-color:#91b99f;box-shadow:0 8px 20px #11231d14}.transaction-type-grid span,.invoice-preview span,.invoice-preview small{color:#66736c}.quick-date-actions{align-self:end;display:flex;gap:8px}.quick-date-actions button{background:#edf2ee;color:#334139;font-weight:800;min-height:42px;padding:9px 12px}.switch-label{align-items:center;background:#f7faf8;border:1px solid #dce4de;border-radius:8px;display:flex!important;gap:10px!important;min-height:42px;padding:9px 10px}.switch-label input{min-height:auto;width:auto}.invoice-preview{background:#f7faf8;border:1px solid #dce4de;border-radius:8px;display:grid;gap:4px;padding:12px}@media(max-width:720px){.transaction-type-grid{grid-template-columns:1fr}}.date-choice-group{display:grid;gap:6px}.date-choice-group>span{color:#3b4741;font-size:13px;font-weight:800}.date-choice-group input[type=date]{background:#fbfcfb;border:1px solid #d5ded8;border-radius:8px;color:#17211d;font:inherit;min-height:42px;padding:9px 10px;width:100%}.quick-date-actions.selectable button.selected,.invoice-options button.selected{background:#176b4d;color:#fff}.invoice-options{display:grid;gap:8px}.invoice-options button{background:#edf2ee;color:#334139;font-weight:800;padding:10px 12px;text-align:left}.invoice-current{align-items:center;display:flex;gap:12px;justify-content:space-between}.invoice-current>div{display:grid;gap:4px}.invoice-current button{background:#edf2ee;color:#176b4d;font-weight:800;min-height:36px;padding:8px 12px}.invoice-current span{color:#17211d;font-weight:800}.section-heading-row{align-items:center;display:flex;justify-content:space-between}.compact-tabs{margin-bottom:4px}.card-invoices-panel{gap:10px}.card-invoice-line{align-items:stretch;display:grid;gap:8px;grid-template-columns:1fr auto}.card-invoice-main{align-items:center;background:transparent;color:#17211d;display:grid;gap:12px;grid-template-columns:auto 1fr auto;padding:10px 0;text-align:left}.card-invoice-main:hover strong{color:#176b4d}.card-brand{color:#506158;font-size:12px;font-weight:900;min-width:64px;text-transform:uppercase}.card-invoice-main div{display:grid;gap:3px}.card-invoice-main span,.card-invoice-main small{color:#66736c}.card-add-button{align-self:center;background:#edf2ee;color:#176b4d;display:grid;height:38px;place-items:center;width:38px}.invoice-detail-modal{max-height:min(92vh,860px);overflow:auto}.invoice-month-nav{align-items:center;display:inline-flex!important;gap:10px}.invoice-month-nav button{background:#edf2ee;color:#176b4d;display:inline-grid;font-size:20px;font-weight:900;height:30px;place-items:center;width:30px}.invoice-detail-summary{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-detail-summary div{background:#f7faf8;border:1px solid #dce4de;border-radius:8px;display:grid;gap:4px;padding:12px}.invoice-detail-summary span{color:#66736c;font-weight:800}.invoice-search{background:#f7faf8;border:1px solid #dce4de;border-radius:8px;color:#17211d;font:inherit;margin-top:14px;min-height:44px;padding:10px 12px;width:100%}.invoice-transactions-list{display:grid;gap:18px;margin-top:18px}.invoice-date-group h3{color:#334139;font-size:16px;margin:0 0 10px;text-transform:capitalize}.invoice-transaction-line{align-items:center;border-top:1px solid #e7eee9;display:grid;gap:12px;grid-template-columns:1fr auto;padding:12px 0}.invoice-transaction-line div{display:grid;gap:4px}.invoice-transaction-line span{color:#66736c}@media(max-width:720px){.card-invoice-main,.invoice-detail-summary{grid-template-columns:1fr}}.invoice-pay-button{background:#176b4d;color:#fff;font-weight:900;justify-self:center;margin-top:14px;min-height:44px;padding:12px 22px}.invoice-paid-note{background:#edf8f0;border:1px solid #bfe7c7;border-radius:8px;color:#176b4d;font-weight:800;margin:14px 0 0;padding:10px 12px}.invoice-payment-modal .form-grid{align-items:end}.invoice-payment-summary{display:grid;gap:12px;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-payment-summary div{background:#f7faf8;border:1px solid #dce4de;border-radius:8px;display:grid;gap:6px;padding:14px}.invoice-payment-summary span{color:#66736c;font-weight:800}.full-row{grid-column:1 / -1}.invoice-success-modal{align-items:center;display:grid;justify-items:center;max-width:560px;text-align:center}.success-mark{background:#11c968;border-radius:999px;color:#fff;display:grid;font-size:86px;font-weight:900;height:150px;line-height:1;place-items:center;width:150px}.invoice-success-modal h2{font-size:30px;margin:10px 0 0}.invoice-success-modal p{color:#66736c;font-size:18px;line-height:1.45;margin:0}.invoice-success-modal button{background:#176b4d;color:#fff;font-weight:900;min-height:46px;padding:12px 34px;width:min(100%,360px)}@media(max-width:720px){.invoice-payment-summary{grid-template-columns:1fr}}.invoice-header-actions{align-items:center;display:flex;gap:8px}.invoice-actions-menu{background:#fff;border:1px solid #dce4de;border-radius:8px;box-shadow:0 16px 42px #11231d24;display:grid;gap:2px;margin:14px 0;padding:8px}.invoice-actions-menu button{align-items:center;background:transparent;color:#17211d;display:flex;gap:12px;justify-content:flex-start;min-height:44px;padding:10px 12px;text-align:left}.invoice-actions-menu button:not(:disabled):hover{background:#edf2ee}.invoice-actions-menu button:disabled{color:#66736c;cursor:default;opacity:.72}.locked-hint{color:#66736c;font-size:12px;font-weight:800}.form-grid textarea{background:#fbfcfb;border:1px solid #d5ded8;border-radius:8px;color:#17211d;font:inherit;min-height:90px;padding:9px 10px;resize:vertical;width:100%}.category-choice-field,.tags-field{display:grid;gap:6px}.category-choice-field>span,.tags-field>span{color:#3b4741;font-size:13px;font-weight:800}.category-choice-field>button{background:#fbfcfb;border:1px solid #d5ded8;color:#17211d;display:grid;gap:3px;min-height:52px;padding:9px 10px;text-align:left}.category-choice-field small,.switch-label small,.option-summary{color:#66736c;font-weight:800}.advanced-card-options{display:grid;gap:12px;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}.advanced-card-options .switch-label{justify-content:space-between}.selected-tags{display:flex;flex-wrap:wrap;gap:6px}.selected-tags button{background:#edf2ee;color:#176b4d;min-height:30px;padding:6px 10px}.form-error{background:#f8e6e6;border:1px solid #efc7c7;border-radius:8px;color:#9f2f2f;font-weight:800;margin:0;padding:10px 12px}.category-picker-modal,.option-config-modal{max-height:min(92vh,820px);overflow:auto}.category-picker-list{display:grid;gap:16px}.category-picker-list h3{margin:0 0 8px}.category-picker-list section>div,.recurrence-days,.installment-options{display:grid;gap:8px}.category-picker-list section>div{grid-template-columns:repeat(2,minmax(0,1fr))}.category-picker-list button,.recurrence-days button,.installment-options label{background:#edf2ee;border-radius:8px;color:#334139;font-weight:800;padding:10px 12px}.recurrence-days{grid-template-columns:repeat(7,minmax(0,1fr))}.recurrence-days>span{grid-column:1 / -1;font-weight:900}.recurrence-days button.selected,.installment-options label.selected{background:#176b4d;color:#fff}.installment-options label{align-items:center;display:flex;gap:10px}@media(max-width:720px){.advanced-card-options,.category-picker-list section>div{grid-template-columns:1fr}.recurrence-days{grid-template-columns:repeat(5,minmax(0,1fr))}}.modal-backdrop:has(.category-picker-modal),.modal-backdrop:has(.option-config-modal){align-items:end;z-index:80}.category-picker-modal,.option-config-modal{border-radius:16px 16px 8px 8px;margin-bottom:0;max-height:min(78vh,760px);width:min(100%,620px)}.category-picker-list{gap:10px;padding-bottom:8px}.category-picker-list section{display:grid;gap:4px}.category-picker-list h3{align-items:center;border-top:1px solid #e7eee9;display:flex;font-size:18px;gap:10px;margin:6px 0 0;padding:14px 4px 8px}.category-picker-list h3:before{background:#176b4d;border-radius:999px;content:"";display:inline-block;height:32px;width:32px}.category-picker-list section>div{display:grid;gap:0;grid-template-columns:1fr}.category-picker-list button{align-items:center;background:transparent;border-bottom:1px solid #e7eee9;border-radius:0;color:#17211d;display:grid;font-size:16px;font-weight:800;grid-template-columns:1fr auto;min-height:48px;padding:12px 6px 12px 48px;text-align:left}.category-picker-list button:after{border:2px solid #9ba8a1;border-radius:999px;content:"";display:block;height:20px;width:20px}.category-picker-list button:hover{background:#edf2ee}.option-config-modal .panel-header{margin-bottom:18px}.option-config-modal>label{color:#3b4741;display:grid;font-size:13px;font-weight:800;gap:6px;margin-bottom:14px}.option-config-modal>label input{background:#fbfcfb;border:1px solid #d5ded8;border-radius:8px;color:#17211d;font:inherit;min-height:42px;padding:9px 10px}.option-config-modal>button{background:#176b4d;color:#fff;font-weight:900;margin-top:16px;min-height:46px;width:100%}.option-switch-row{align-items:center;background:#f7faf8;border:1px solid #dce4de;border-radius:8px;display:flex;gap:14px;justify-content:space-between;min-height:58px;padding:12px}.option-switch-row>div{display:grid;gap:3px}.option-switch-row small{color:#66736c;font-weight:800}.switch-control{background:#d9dedb;border-radius:999px;display:inline-flex;height:34px;min-width:62px;padding:3px;transition:background .16s ease;width:62px}.switch-control span{background:#fff;border-radius:999px;box-shadow:0 2px 7px #11231d3d;display:block;height:28px;transform:translate(0);transition:transform .16s ease;width:28px}.switch-control.on{background:#176b4d}.switch-control.on span{transform:translate(28px)}.form-grid .switch-control,.advanced-card-options .switch-control{background:#d9dedb;justify-content:flex-start;min-height:34px;min-width:62px;padding:3px}.form-grid .switch-control.on,.advanced-card-options .switch-control.on{background:#176b4d}.form-grid .switch-control span,.advanced-card-options .switch-control span{flex:0 0 28px}.invoice-transaction-line{background:transparent;border-left:0;border-right:0;border-bottom:0;border-radius:0;color:inherit;cursor:pointer;font:inherit;text-align:left;width:100%}.invoice-transaction-line:hover{background:#f3f8f4}.installment-edit-backdrop{z-index:95}.installment-edit-modal{border-radius:18px;max-width:560px}.installment-edit-modal h2{margin:0}.installment-edit-modal p{color:#334139;font-size:18px;font-weight:800;line-height:1.35;margin:24px 0 18px}.installment-edit-options{display:grid;gap:12px}.installment-edit-options label{align-items:center;border:1px solid #d7e2da;border-radius:12px;cursor:pointer;display:grid;font-weight:900;grid-template-columns:1fr auto;min-height:54px;padding:12px 14px}.installment-edit-options label.selected{border-color:#27aa99}.installment-edit-options input{accent-color:#27aa99;height:22px;width:22px}.installment-edit-actions{display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:28px}.installment-edit-actions button{min-height:48px}.modal-delete-action{justify-self:end;min-height:38px;padding:8px 12px}.danger-confirm-action{background:#b4232d;color:#fff}
