@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap");:root{--ink:#12241f;--muted:#73817c;--line:#e4eae7;--green:#0b7254;--mint:#e9f5f0;--bg:#f4f7f5;--cream:#fffdf8}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:DM Sans,sans-serif}.shell{min-height:100vh;display:grid;grid-template-columns:238px 1fr}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;background:#0d2f27;color:white;padding:30px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:0 10px 32px;font:800 22px Manrope}.brand span{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#8ee0bc;color:#0d2f27;font-size:22px}.sidebar nav{display:grid;grid-gap:6px;gap:6px}.sidebar button{border:0;background:none;color:#b8cbc4;border-radius:10px;padding:12px 13px;display:flex;align-items:center;gap:12px;font:500 14px DM Sans;cursor:pointer;text-align:left}.sidebar button svg{width:18px}.sidebar button.active,.sidebar button:hover{background:#19483b;color:white}.side-bottom{margin-top:auto;display:grid;grid-gap:10px;gap:10px}.demo{padding:14px;background:#173f35;border:1px solid #28574b;border-radius:12px}.demo span{display:block;color:#8ee0bc;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.demo small{display:block;color:#b8cbc4;line-height:1.35;margin-top:5px}.profile{border-top:1px solid #285047;margin-top:8px;padding:20px 7px 0;display:flex;gap:10px;align-items:center}.profile>span{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#e5b96c;color:#173128;font-weight:800}.profile small,.profile strong{display:block}.profile strong{font-size:13px}.profile small{font-size:11px;color:#9eb5ad;margin-top:2px}.main{min-width:0}.topbar{height:100px;padding:22px 40px;background:rgba(255,255,255,.82);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.eyebrow{margin:0 0 4px;color:#83908b;font-size:10px;font-weight:800;letter-spacing:.14em}.topbar h1{font:800 25px Manrope;margin:0}.top-actions{display:flex;gap:10px}.period,.primary,.soft{border-radius:10px;height:42px;padding:0 15px;display:flex;align-items:center;gap:8px;font:600 13px DM Sans;cursor:pointer}.period{border:1px solid var(--line);background:white;color:#35433f}.primary{border:1px solid var(--green);color:white}.content{padding:32px 40px 60px;max-width:1440px;margin:auto}.welcome{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.welcome h2{font:800 28px Manrope;margin:0 0 6px}.welcome p{margin:0;color:var(--muted)}.health{padding:9px 13px;border-radius:30px;background:#e6f5ed;color:#166d51;font-weight:700;font-size:12px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#24a270;margin-right:7px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;margin-bottom:18px}.stat{position:relative;background:white;border:1px solid var(--line);border-radius:15px;padding:21px;box-shadow:0 2px 10px #17312808}.stat.featured{background:#0e513f;color:white;border-color:#0e513f}.stat-icon{position:absolute;right:18px;top:18px;width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--mint)}.stat-icon.warn{background:#fff1e9;color:#c55b25}.stat-icon svg{width:17px}.stat p{margin:0 0 9px;color:var(--muted);font-size:13px}.featured p,.featured small{color:#bcd7ce}.stat>strong{display:block;font:800 25px Manrope;margin-bottom:5px}.stat small{font-size:11px;color:var(--muted)}.two-col{display:grid;grid-template-columns:1.25fr .75fr;grid-gap:18px;gap:18px;margin-bottom:18px}.card{background:white;border:1px solid var(--line);border-radius:15px;padding:21px;box-shadow:0 2px 10px #17312808}.card-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card-title h3{font:800 16px Manrope;margin:0}.card-title button{border:0;background:none;color:var(--green);font-weight:700;font-size:12px;cursor:pointer}.budget-total{display:flex;justify-content:space-between}.budget-total small,.budget-total strong{display:block}.budget-total small{color:var(--muted);font-size:11px}.budget-total strong{font:800 20px Manrope;margin-top:3px}.budget-total .right{text-align:right}.budget-total .right strong{color:var(--green);font-size:13px}.bar{height:7px;background:#edf0ee;overflow:hidden;margin:13px 0 20px}.bar,.bar i{border-radius:99px}.bar i{display:block;height:100%;background:#158361}.budget-list{display:grid;grid-template-columns:1fr 1fr;grid-gap:13px 28px;gap:13px 28px}.budget-list>div{display:flex;align-items:center;gap:10px}.budget-list p{margin:0;flex:1 1;font-size:12px;font-weight:600}.budget-list small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.budget-list>div>strong{font-size:11px}.cat{display:block;width:8px;height:30px;border-radius:8px;background:#198565}.cat.c1{background:#e2a64c}.cat.c2{background:#7866d7}.cat.c3{background:#3392c7}.cat.c4{background:#de6a6a}.payment-list>div{display:grid;grid-template-columns:43px 1fr auto;align-items:center;border-bottom:1px solid #edf0ee;padding:12px 0}.payment-list time{width:36px;text-align:center;border-radius:8px;background:#f1f5f3;padding:6px 3px;font-weight:800;font-size:10px;text-transform:uppercase}.payment-list p{margin:0;font-size:13px;font-weight:700}.payment-list small{display:block;color:var(--muted);font-weight:400;font-size:10px;margin-top:3px}.payment-list strong{font-size:12px}.soft{border:0;background:var(--mint);justify-content:center;width:100%;height:37px;margin-top:15px}.table{overflow:auto}.tr{display:grid;grid-template-columns:90px 1.3fr 1.2fr 1fr 130px;min-width:720px;align-items:center;border-top:1px solid #edf0ee;padding:13px 2px;font-size:12px;color:#60706a}.tr.head{border:0;padding-top:0;color:#95a09c;font-size:9px;font-weight:800;letter-spacing:.07em}.tr strong{color:#283a34}.tr span:last-child,.tr strong:last-child{text-align:right}.negative{color:#b34c3e!important}.mini-dot{display:inline-block;width:6px;height:6px;background:#e1a24c;border-radius:50%;margin-right:6px}.toolbar{display:flex;justify-content:space-between;margin-bottom:16px}.search{height:42px;width:340px;border:1px solid var(--line);background:white;border-radius:10px;display:flex;align-items:center;padding:0 13px;color:#81908a}.search input{border:0;outline:0;width:100%;padding-left:9px;font:13px DM Sans}.category-row{display:grid;grid-template-columns:10px 220px 1fr 120px;align-items:center;grid-gap:15px;gap:15px;padding:15px 0;border-top:1px solid #edf0ee}.category-row>div small,.category-row>div strong{display:block}.category-row>div small{color:var(--muted);font-size:11px;margin-top:3px}.category-row>.bar{margin:0}.category-row>strong{text-align:right}.account-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.account{--accent:#16805f;background:white;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:14px;padding:20px}.account-head{display:flex;align-items:center;justify-content:space-between}.account-head span{width:38px;height:38px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,white);color:var(--accent);border-radius:10px;font-weight:800}.account-head small{font-size:9px;letter-spacing:.08em;color:var(--muted)}.account>p{font-size:11px;color:var(--muted);margin:22px 0 3px}.account>strong{font:800 24px Manrope}.account>div:not(.account-head){display:flex;justify-content:space-between;border-top:1px solid #edf0ee;padding-top:11px;margin-top:16px}.account b{font-size:12px}.payment-table>div{display:grid;grid-template-columns:32px 80px 1fr 120px 90px;align-items:center;border-top:1px solid #edf0ee;padding:14px 0}.payment-table time{font-size:12px;color:var(--muted)}.payment-table p{margin:0;font-weight:700;font-size:13px}.payment-table p small{display:block;color:var(--muted);font-weight:400;margin-top:3px}.payment-table>div>strong{text-align:right}.check{width:20px;height:20px;border-radius:6px;border:1px solid #b9c6c1;background:white;color:white}.pill{justify-self:end;border-radius:30px;padding:5px 9px;font-size:10px;font-weight:700}.pill.pending{background:#fff1df;color:#9b651c}.pill.paid{background:#e7f4ed;color:#18704f}.overlay{position:fixed;inset:0;background:#12241f88;z-index:20;display:grid;place-items:center;padding:20px}.modal{width:min(500px,100%);background:white;border-radius:18px;padding:26px;box-shadow:0 30px 80px #00130d55}.modal-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:22px}.modal-head h2{margin:0;font:800 22px Manrope}.modal-head button{border:0;background:#f0f3f2;width:34px;height:34px;border-radius:9px;display:grid;place-items:center}.modal-head svg{width:17px}.modal label{font-size:11px;font-weight:700;color:#53635d;display:block;margin-bottom:15px}.modal input,.modal select{display:block;width:100%;height:43px;border:1px solid #dbe3df;border-radius:9px;margin-top:6px;padding:0 11px;background:white;font:13px DM Sans}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.submit{width:100%;justify-content:center;margin-top:6px}@media(max-width:950px){.shell{grid-template-columns:76px 1fr}.sidebar{padding:25px 10px}.brand strong,.sidebar nav button:not(.active){font-size:0}.sidebar nav button{justify-content:center}.side-bottom{display:none}.brand{padding:0 10px 30px}.account-grid,.stat-grid{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}}@media(max-width:700px){.shell{display:block}.sidebar{position:fixed;z-index:10;top:auto;bottom:0;width:100%;height:68px;padding:8px;background:#0d2f27}.brand,.side-bottom{display:none}.sidebar nav{display:flex;justify-content:space-around}.sidebar nav button,.sidebar nav button:not(.active){font-size:0;padding:12px}.topbar{height:auto;padding:18px 20px}.top-actions .period{display:none}.content{padding:22px 16px 90px}.welcome{align-items:flex-start}.welcome h2{font-size:23px}.welcome p{font-size:13px}.health{display:none}.account-grid,.budget-list,.stat-grid,.two-col{grid-template-columns:1fr}.category-row{grid-template-columns:10px 1fr 80px}.category-row>.bar{display:none}.payment-table>div{grid-template-columns:28px 55px 1fr auto}.payment-table .pill{display:none}.search{width:100%}.toolbar .period{display:none}}:root{--ink:#f0f7f3;--muted:#8fa69a;--line:#294239;--green:#20e88f;--mint:#17392c;--bg:#07110d;--cream:#0d1d16;--surface:#0d1d16;--surface-raised:#12261d;--surface-soft:#173329;--lime:#dfff00;--amber:#f2ae59;--coral:#ff7269;--shadow:#0000004d}body{background:radial-gradient(circle at 78% 2%,#0c402b 0,transparent 31rem),linear-gradient(145deg,#07110d,#081611 55%,#06100c);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif}.account>strong,.brand,.budget-total strong,.card-title h3,.modal-head h2,.stat>strong,.topbar h1,.welcome h2{font-family:Inter,Segoe UI,Arial,sans-serif;letter-spacing:-.025em}.modal input,.modal select,.period,.primary,.search input,.sidebar button,.soft{font-family:Inter,Segoe UI,Arial,sans-serif}.sidebar{background:#08150f;border-right:1px solid #1e382d}.brand span{background:var(--green);color:#03130c;box-shadow:0 0 22px #20e88f45}.sidebar button{color:#8da69a}.sidebar button.active,.sidebar button:hover{background:#143328;color:#f5fff9}.sidebar button.active{box-shadow:inset 3px 0 0 var(--green)}.demo{background:#10261d;border-color:#28523f}.demo span{color:var(--green)}.profile{border-color:#1e382d}.profile>span{background:var(--amber);color:#221407}.topbar{background:#091610e8;border-color:#223a31;box-shadow:0 10px 30px #0000001f}.eyebrow{color:var(--green)}.period{border-color:#304a40;background:#102219;color:#d9e7df}.primary{border-color:var(--green);background:var(--green);color:#03130c;box-shadow:0 8px 24px #20e88f29}.primary:hover{background:#5af0ad}.health{background:#123528;color:#69efb0;border:1px solid #245642}.dot{background:var(--green);box-shadow:0 0 8px var(--green)}.account,.card,.stat{background:linear-gradient(145deg,#102219,#0c1b15);border-color:#294239;box-shadow:0 16px 45px var(--shadow)}.stat.featured{background:linear-gradient(135deg,#126342,#0c4932);border-color:#258960}.stat-icon{background:#193b2d;color:var(--green)}.stat-icon.warn{background:#42291c;color:var(--amber)}.budget-total .right strong,.card-title button{color:var(--green)}.bar{background:#25372f}.bar i{background:linear-gradient(90deg,#19cf7d,#42efaa);box-shadow:0 0 12px #20e88f52}.cat.c1,.mini-dot{background:var(--amber)}.cat.c4{background:var(--coral)}.account>div:not(.account-head),.category-row,.payment-list>div,.payment-table>div,.tr{border-color:#263b33}.payment-list time{background:#173329;color:#d9eee4}.soft{background:#17392c;color:var(--green);border:1px solid #275441}.account-head small,.account>p,.budget-list small,.category-row>div small,.payment-list small,.payment-table p small,.tr{color:var(--muted)}.budget-list p,.payment-list p,.tr strong{color:#eff8f3}.negative{color:var(--coral)!important}.search{background:#102219;border-color:#304a40;color:#91a79c}.search input{background:transparent;color:var(--ink)}.search input::placeholder{color:#698076}.account-head span{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent)}.pill.pending{background:#3d2d16;color:#ffc873}.pill.paid{background:#143c2c;color:#66efad}.check{background:#102219;border-color:#466157}.check.checked{background:var(--green);border-color:var(--green);color:#06140e}.overlay{background:#020906d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal{background:#102219;border:1px solid #2e4d40;box-shadow:0 35px 90px #000000a3}.modal-head button{background:#1b352a;color:#dcece4}.modal label{color:#a9bcb3}.modal input,.modal select{background:#0a1812;border-color:#345044;color:var(--ink);color-scheme:dark}@media (max-width:700px){.sidebar{background:#08150ff2;border-top:1px solid #2b463a;border-right:0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.sidebar nav button.active{box-shadow:inset 0 -3px 0 var(--green)}}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-heading h2{margin:0 0 4px;font:800 22px Manrope}.section-heading p{margin:0;color:var(--muted);font-size:13px}.empty-state{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted);gap:10px}.empty-state h3,.empty-state p{margin:0}.empty-state>svg{width:32px;height:32px;color:var(--green)}.account{position:relative}.account-actions{position:absolute;right:15px;top:57px!important;border:0!important;margin:0!important;padding:0!important;display:flex!important;gap:5px}.account-actions button{width:28px;height:28px;border:1px solid #304a40;border-radius:8px;background:#173329;color:#a9bcb3;display:grid;place-items:center;cursor:pointer}.account-actions svg{width:13px}.account-actions button:hover{color:var(--green);border-color:var(--green)}.categories-section{margin-top:38px;padding-top:30px;border-top:1px solid #294239}.category-columns{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.category-column-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.category-column-title h3{margin:0;font:800 16px Manrope}.category-column-title span{min-width:25px;height:25px;border-radius:20px;display:grid;place-items:center;background:#17392c;color:var(--green);font-size:11px;font-weight:800}.category-items>div{display:grid;grid-template-columns:9px 1fr 28px 28px;align-items:center;grid-gap:8px;gap:8px;padding:11px 0;border-top:1px solid #263b33}.category-items strong{font-size:13px}.category-empty,.category-items p{color:var(--muted);font-size:13px}.category-items button{width:27px;height:27px;display:grid;place-items:center;border:0;border-radius:7px;background:#173329;color:#a9bcb3;cursor:pointer}.category-items button:hover{color:var(--green)}.category-items svg{width:13px}.category-kind{width:7px;height:22px;border-radius:8px;background:var(--coral)}.category-kind.income{background:var(--green)}.category-empty{min-height:90px;display:flex;align-items:center;justify-content:center;gap:8px}@media(max-width:700px){.section-heading{align-items:flex-start;gap:12px}.section-heading .primary{font-size:0;padding:0 12px}.section-heading .primary svg{margin:0}.category-columns{grid-template-columns:1fr}}.filter-select{height:42px;min-width:170px;border:1px solid #304a40;background:#102219;border-radius:10px;display:flex;align-items:center;padding:0 12px;color:#a9bcb3}.filter-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1 1;border:0;outline:0;background:transparent;color:inherit;font:600 12px DM Sans;color-scheme:dark}.transaction-real .tr{grid-template-columns:80px 1.3fr 1fr 1fr 120px 70px}.positive{color:var(--green)!important}.row-actions{display:flex;justify-content:flex-end;gap:5px}.row-actions button{width:27px;height:27px;border:0;border-radius:7px;background:#173329;color:#a9bcb3;display:grid;place-items:center;cursor:pointer}.row-actions button:hover{color:var(--green)}.row-actions svg{width:13px}.card-title>span{font-size:11px;color:var(--muted)}@media(max-width:700px){.filter-select{display:none}.transaction-real .tr{grid-template-columns:65px 1fr 100px 62px}.transaction-real .tr>:nth-child(3),.transaction-real .tr>:nth-child(4){display:none}}.heading-actions{display:flex;gap:10px}.soft.compact{width:auto;margin:0;height:42px}.soft:disabled{opacity:.45;cursor:not-allowed}.month-picker{height:42px;border:1px solid #304a40;background:#102219;color:var(--ink);color-scheme:dark;border-radius:10px;padding:0 12px;font:600 13px Inter,Segoe UI,Arial,sans-serif}.form-message.success{background:#123528;color:#69efb0;border:1px solid #245642}.budget-real-table{display:grid;grid-gap:0;gap:0}.budget-real-row{display:grid;grid-template-columns:1.3fr 150px 1fr 130px 58px;grid-gap:14px;gap:14px;align-items:center;border-top:1px solid #263b33;padding:13px 0}.budget-real-row.head{border-top:0;padding-top:0;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.budget-real-row input{height:38px;border:1px solid #345044;border-radius:9px;background:#0a1812;color:var(--ink);color-scheme:dark;padding:0 10px;font:600 13px Inter,Segoe UI,Arial,sans-serif}.budget-category{display:flex;align-items:center;gap:10px}.budget-category strong{font-size:13px}.budget-real-row .bar{margin:7px 0 0}.budget-real-row .soft{width:42px;padding:0}@media(max-width:700px){.heading-actions{flex-wrap:wrap}.month-picker{width:100%}.budget-real-row{grid-template-columns:1fr 105px 44px}.budget-real-row.head span:nth-child(3),.budget-real-row.head span:nth-child(4),.budget-real-row>div:nth-child(3),.budget-real-row>strong:nth-child(4){display:none}}.payment-real>div{grid-template-columns:32px 80px 1fr 120px 90px 44px}.payment-real .row-actions{justify-content:flex-end}.payment-real .row-actions button{width:28px;height:28px}.payment-real .check:disabled{cursor:not-allowed;opacity:.75}.payment-real .check svg{width:12px}@media(max-width:700px){.payment-real>div{grid-template-columns:28px 55px 1fr auto 38px}.payment-real .pill{display:none}}.ai-fab{bottom:86px;z-index:24;height:52px;border:1px solid var(--green);border-radius:999px;background:var(--green);color:#03130c;align-items:center;gap:8px;padding:0 18px;font:800 13px Inter,Segoe UI,Arial,sans-serif;box-shadow:0 18px 45px #00000055;cursor:pointer}.ai-fab,.ai-panel{position:fixed;right:24px;display:flex}.ai-panel{bottom:150px;z-index:23;width:min(420px,calc(100vw - 32px));max-height:min(620px,calc(100vh - 175px));flex-direction:column;background:#102219;border:1px solid #2e4d40;border-radius:16px;box-shadow:0 35px 90px #000000a3;overflow:hidden}.ai-head{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 18px 12px;border-bottom:1px solid #263b33}.ai-head h2{margin:0;font:800 20px Inter,Segoe UI,Arial,sans-serif}.ai-head button{width:32px;height:32px;border:0;border-radius:8px;background:#1b352a;color:#dcece4;display:grid;place-items:center;cursor:pointer}.ai-head svg{width:16px}.ai-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;padding:12px 14px}.ai-tabs.three{grid-template-columns:1fr 1fr 1fr}.ai-tabs button{height:36px;border:1px solid #304a40;border-radius:9px;background:#0a1812;color:#a9bcb3;display:flex;align-items:center;justify-content:center;gap:7px;font:700 12px Inter,Segoe UI,Arial,sans-serif;cursor:pointer}.ai-tabs button.active{border-color:var(--green);color:var(--green);background:#17392c}.ai-thread{flex:1 1;overflow:auto;padding:8px 14px 14px;display:flex;flex-direction:column;gap:10px}.ai-message{max-width:88%;border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.4;white-space:pre-wrap}.ai-message.assistant{align-self:flex-start;background:#173329;color:#dcece4}.ai-message.user{align-self:flex-end;background:#1d6a4d;color:white}.ai-compose{display:grid;grid-template-columns:1fr 46px;grid-gap:10px;gap:10px;padding:14px;border-top:1px solid #263b33}.ai-compose textarea{resize:none;border:1px solid #345044;border-radius:10px;background:#0a1812;color:var(--ink);padding:10px;font:13px Inter,Segoe UI,Arial,sans-serif;outline:0}.ai-compose .primary{width:46px;height:auto;justify-content:center;padding:0}@media(max-width:700px){.ai-fab{right:16px;bottom:136px}.ai-panel{right:12px;left:12px;bottom:200px;width:auto;max-height:calc(100vh - 225px)}}.month-filter{position:relative;min-width:190px;padding-right:12px}.month-filter select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;outline:0;background:transparent;color:inherit;font:800 13px Inter,Segoe UI,Arial,sans-serif;cursor:pointer;flex:1 1;min-width:0;color-scheme:dark}.month-filter select option{background:#102219;color:#d9e7df}.payment-date{position:relative;width:74px;height:34px;border:1px solid #2c4a3d;border-radius:8px;background:#102219;color:#cfe2d9;display:grid;place-items:center;font-size:12px;font-weight:700;cursor:pointer;overflow:hidden}.payment-date span{pointer-events:none}.payment-date input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;color-scheme:dark}.payment-date input:disabled{cursor:not-allowed}.payment-date:focus-within{border-color:var(--green);box-shadow:0 0 0 2px #21e49b22}.payments-heading{gap:16px}.payments-heading-actions{display:flex;align-items:center;gap:10px}.segmented-control{height:42px;padding:4px;border:1px solid #304a40;background:#102219;border-radius:10px;display:flex;gap:4px}.segmented-control button{border:0;border-radius:7px;background:transparent;color:#a9bcb3;padding:0 13px;display:flex;align-items:center;gap:7px;font:800 12px Inter,Segoe UI,Arial,sans-serif;cursor:pointer}.segmented-control button.active{background:#17392c;color:var(--green);box-shadow:inset 0 0 0 1px #21e49b55}.payments-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:18px;gap:18px}.payments-calendar-card{padding:16px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:8px;gap:8px;margin-bottom:8px}.calendar-weekdays span{text-align:center;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.payments-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px}.calendar-day{min-height:122px;border:1px solid #263b33;border-radius:8px;background:#0c1c15;color:#dcece4;padding:9px;display:flex;flex-direction:column;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.calendar-day:hover{border-color:#21e49b66;transform:translateY(-1px)}.calendar-day.outside{opacity:.35;border-style:dashed;background:transparent}.calendar-day.has-events{background:#102219}.calendar-day.selected{border-color:var(--green);background:#17392c;box-shadow:0 0 0 1px #21e49b33}.calendar-day.high-spend{background:linear-gradient(145deg,#17392c,#102219)}.calendar-day-number{font-weight:900;font-size:13px;color:#eff8f3}.calendar-events{display:grid;grid-gap:4px;gap:4px;margin-top:8px;min-height:0}.calendar-chip{min-width:0;border-left:2px solid #21e49b;border-radius:5px;background:#143326;color:#dcece4;padding:3px 5px;display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:10px}.calendar-chip b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-chip em{font-style:normal;color:var(--green);font-weight:900}.calendar-chip.paid{border-left-color:#66a9ef;color:#9ec9f4;text-decoration:line-through;opacity:.8}.calendar-more{color:var(--muted);font-size:10px}.calendar-day>strong{margin-top:auto;padding-top:7px;border-top:1px solid #263b33;text-align:right;color:var(--green);font-size:11px}.calendar-side{display:grid;grid-gap:18px;gap:18px;align-content:start}.day-detail-card{border-color:#2d5847}.day-payments{display:grid;grid-gap:10px;gap:10px}.day-payment{display:grid;grid-template-columns:1fr auto;grid-gap:10px;gap:10px;align-items:center;border:1px solid #263b33;border-radius:8px;background:#0c1c15;padding:11px}.day-payment b,.day-payment small,.day-payment strong{display:block}.day-payment strong{font-size:13px;color:#eff8f3}.day-payment small{font-size:10px;color:var(--muted);margin-top:3px}.day-payment b{font-size:12px;color:var(--green);margin-top:5px}.day-total{border-top:1px solid #263b33;margin-top:14px;padding-top:14px;display:flex;justify-content:space-between;align-items:flex-end}.day-total span{font-size:12px;color:var(--muted)}.day-total strong{font-size:22px;color:var(--green)}.mark-day-paid{margin-top:12px}.icon-date{width:28px;height:28px;border:0;border-radius:7px;background:#173329;color:#a9bcb3;display:grid;place-items:center;cursor:pointer;position:relative;overflow:hidden}.icon-date svg{width:13px}.icon-date input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;color-scheme:dark}.week-totals-card .card-title{margin-bottom:16px}.week-total{display:grid;grid-gap:8px;gap:8px;margin-top:14px}.week-total div{display:flex;justify-content:space-between;gap:12px;font-size:12px}.week-total span{color:#eff8f3;font-weight:800}.week-total strong{color:var(--green)}.week-total i{height:7px;border-radius:999px;background:#08130e;overflow:hidden}.week-total i b{display:block;height:100%;border-radius:999px;background:var(--green)}@media(max-width:1050px){.payments-calendar-layout{grid-template-columns:1fr}.calendar-side{grid-template-columns:1fr 1fr}.calendar-day{min-height:112px}}@media(max-width:700px){.payments-heading{align-items:stretch}.payments-heading-actions{width:100%;align-items:stretch}.segmented-control{flex:1 1}.segmented-control button{flex:1 1;justify-content:center}.calendar-weekdays,.payments-calendar-grid{gap:5px}.calendar-day{min-height:88px;padding:6px}.calendar-chip{font-size:9px}.calendar-chip em,.calendar-day>strong{display:none}.calendar-side,.day-payment{grid-template-columns:1fr}.day-payment .row-actions{justify-content:flex-start}}.ai-reconcile{display:flex;flex-direction:column;gap:12px}.ai-upload{min-height:74px;border:1px dashed #3c6655;border-radius:12px;background:#0a1812;color:#dcece4;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;text-align:center;font:800 13px Inter,Segoe UI,Arial,sans-serif;cursor:pointer}.ai-upload input{display:none}.ai-reconcile-result{display:flex;flex-direction:column;gap:12px}.ai-summary{margin:0;color:#c7ded3;font-size:13px;line-height:1.45}.ai-reconcile-totals{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.ai-reconcile-totals span{background:#0a1812;border:1px solid #263b33;border-radius:10px;padding:9px 10px;color:#9fb8ad;font-size:12px}.ai-reconcile-totals b{display:block;color:#fff;font-size:16px}.ai-reconcile-list{display:flex;flex-direction:column;gap:8px}.ai-reconcile-item{display:grid;grid-template-columns:1fr auto;grid-gap:12px;gap:12px;align-items:start;border:1px solid #263b33;border-radius:12px;background:#0c1d15;padding:11px}.ai-reconcile-item h3{margin:5px 0 3px;font:800 13px Inter,Segoe UI,Arial,sans-serif;color:#fff}.ai-reconcile-item p{margin:2px 0;color:#9fb8ad;font-size:11px;line-height:1.35}.ai-reconcile-item strong{color:#fff;font-size:13px;white-space:nowrap}.ai-status{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:900}.ai-reconcile-item.matched .ai-status{background:#0f5138;color:#6effb7}.ai-reconcile-item.missing .ai-status{background:#5a3510;color:#ffd38a}.ai-reconcile-item.possible_duplicate .ai-status{background:#4a3216;color:#ffc46b}.ai-reconcile-item.needs_review .ai-status{background:#44272a;color:#ffb7c0}@media(max-width:700px){.sidebar nav{justify-content:stretch;gap:2px}.sidebar nav button,.sidebar nav button:not(.active){flex:1 1;min-width:0;padding:12px 0;justify-content:center}}:root{--ease-out:cubic-bezier(.22,1,.36,1)}@keyframes ambient-drift{0%{transform:translate3d(-4%,-3%,0) scale(1)}to{transform:translate3d(5%,4%,0) scale(1.15)}}@keyframes view-enter{0%{opacity:0;transform:translateY(14px)}}@keyframes title-enter{0%{opacity:0;transform:translateX(-10px)}}@keyframes bar-grow{0%{transform:scaleX(0)}}body:before{content:"";position:fixed;inset:-20%;z-index:-1;pointer-events:none;background:radial-gradient(38rem circle at 22% 28%,#20e88f14,transparent 60%),radial-gradient(34rem circle at 78% 68%,#75b5ff10,transparent 60%),radial-gradient(26rem circle at 60% 12%,#dfff000a,transparent 60%);animation:ambient-drift 26s ease-in-out infinite alternate}.view-enter{animation:view-enter .5s var(--ease-out) both}.title-enter{animation:title-enter .45s var(--ease-out) both}.topbar{-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3)}.sidebar button{position:relative;transition:background .25s,color .25s,transform .25s var(--ease-out)}.sidebar button svg{transition:transform .3s var(--ease-out)}.sidebar nav button.active svg,.sidebar nav button:hover svg{transform:scale(1.15)}.sidebar nav button:active{transform:scale(.97)}.sidebar nav button.active{background:linear-gradient(90deg,#17402f,#12291f);box-shadow:inset 3px 0 0 var(--green),0 8px 24px #20e88f14}.period,.primary,.soft{transition:transform .2s var(--ease-out),box-shadow .25s,background .25s,border-color .25s}.primary:hover{transform:translateY(-2px);box-shadow:0 14px 34px #20e88f47}.primary:active,.soft:active{transform:scale(.97)}.account,.card,.stat{transition:transform .35s var(--ease-out),border-color .35s,box-shadow .35s}.account:hover,.card:hover,.stat:hover{border-color:#3b6453;box-shadow:0 24px 60px #00000066}.account:hover,.stat:hover{transform:translateY(-3px)}.bar i{transform-origin:left;animation:bar-grow 1s var(--ease-out) .15s both}.category-row,.payment-table>div,.tr:not(.head){transition:background .25s}.category-row:hover,.payment-table>div:hover,.tr:not(.head):hover{background:#ffffff08}@media (prefers-reduced-motion:reduce){.bar i,.title-enter,.view-enter,body:before{animation:none}.account,.card,.primary,.sidebar button,.sidebar button svg,.stat{transition:none}.account:hover,.primary:hover,.stat:hover{transform:none}}@keyframes cell-enter{0%{opacity:0;transform:scale(.94)}}.calendar-day{animation:cell-enter .45s var(--ease-out) both;transition:transform .25s var(--ease-out),border-color .25s,background .25s,box-shadow .25s}.calendar-day:hover{transform:translateY(-2px);box-shadow:0 12px 28px #00000055}.calendar-day.today .calendar-day-number{display:inline-grid;place-items:center;width:-moz-fit-content;width:fit-content;min-width:24px;height:24px;padding:0 6px;border-radius:99px;background:var(--green);color:#03130c;font-weight:800}.week-total i b{transform-origin:left;animation:bar-grow 1s var(--ease-out) .2s both}@media (prefers-reduced-motion:reduce){.calendar-day,.week-total i b{animation:none;transition:none}.calendar-day:hover{transform:none}}.auth-page{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;background:radial-gradient(circle at 15% 20%,#0b4a31 0,transparent 35rem),#07110d;color:#f0f7f3}.auth-story{padding:clamp(40px,7vw,100px);display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid #294239}.auth-brand{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:800}.auth-brand span,.auth-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#20e88f;color:#03130c;font-weight:900;box-shadow:0 0 24px #20e88f4a}.auth-story h1{font-size:clamp(42px,5vw,72px);line-height:1.02;margin:14px 0 20px;letter-spacing:-.055em}.auth-story h1 em{font-style:normal;color:#20e88f}.auth-story>div>p:last-child{max-width:520px;color:#9bb0a5;font-size:18px;line-height:1.6}.auth-story ul{list-style:none;padding:0;margin:0;display:grid;grid-gap:12px;gap:12px;color:#bed0c7}.auth-story li{display:flex;align-items:center;gap:10px}.auth-story li svg{width:19px;color:#20e88f}.auth-panel{display:grid;place-items:center;padding:32px}.auth-card,.setup-card{width:min(440px,100%);background:linear-gradient(145deg,#12261d,#0c1b15);border:1px solid #2a473a;border-radius:24px;padding:36px;box-shadow:0 30px 90px #0008}.auth-card-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#17392c;color:#20e88f;margin-bottom:24px}.auth-card h2,.setup-card h1{font-size:30px;letter-spacing:-.04em;margin:8px 0}.auth-subtitle,.setup-card>p{color:#8fa69a;line-height:1.5;margin:0 0 28px}.auth-card form,.setup-card form{display:grid;grid-gap:17px;gap:17px}.auth-card label,.setup-card label{font-size:12px;font-weight:700;color:#b7c9c0}.auth-card input,.setup-card input{display:block;width:100%;height:48px;border:1px solid #345044;border-radius:11px;background:#091712;color:#f0f7f3;padding:0 14px;margin-top:7px;font:14px Inter,Segoe UI,sans-serif;outline:0}.auth-card input:focus,.setup-card input:focus{border-color:#20e88f;box-shadow:0 0 0 3px #20e88f1f}.password-field{position:relative}.password-field button{position:absolute;right:8px;top:14px;width:35px;height:35px;border:0;background:transparent;color:#789085;cursor:pointer}.password-field button svg{width:18px}.password-field input{padding-right:44px}.auth-submit{width:100%;justify-content:center;margin-top:4px;border:0;font-weight:800}.auth-submit svg{width:18px}.auth-submit:disabled{opacity:.6;cursor:wait}.auth-switch{width:100%;border:0;background:transparent;color:#69efb0;margin-top:22px;font-weight:700;cursor:pointer}.form-message{padding:10px 12px;border-radius:9px;margin:0;font-size:12px;line-height:1.4}.form-message.error{background:#3d201d;color:#ffaaa3;border:1px solid #63302b}.form-message.success{background:#143c2c;color:#7ef3bc;border:1px solid #265d45}.auth-loading{min-height:100vh;display:grid;place-items:center;align-content:center;grid-gap:16px;gap:16px;grid-column:1/-1}.auth-loading p{color:#9bb0a5}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.setup-page{grid-template-columns:1fr;place-items:center;padding:24px}.setup-card{text-align:left}.session-strip{position:fixed;z-index:20;right:18px;bottom:18px;display:flex;align-items:center;gap:12px;background:#102219e8;border:1px solid #315043;border-radius:999px;padding:7px 8px 7px 13px;box-shadow:0 12px 30px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:11px}.session-strip span{display:flex;align-items:center;gap:6px}.session-strip span:first-child{color:#74efb4;font-weight:700}.session-strip button{border:0;border-radius:999px;padding:7px 10px;background:#203a30;color:#d5e4dc;display:flex;align-items:center;gap:5px;cursor:pointer}.session-email{color:#81968c}@media(max-width:800px){.auth-page{grid-template-columns:1fr}.auth-story{display:none}.auth-panel{padding:18px}.auth-card,.setup-card{padding:27px;border-radius:19px}.session-strip{left:12px;right:12px;bottom:78px;justify-content:space-between}.session-email{display:none}}