.auth-page{padding-top:56px}.auth-intro{color:#5e6e61;line-height:1.5;margin-bottom:0}.auth-card{background:#fff;border:1px solid #dce7db;border-radius:20px;box-shadow:0 12px 28px #14532d12;padding:24px}.auth-card h2{margin-bottom:8px}.auth-card>p:not(.auth-message):not(.auth-error),.auth-status{color:#5e6e61;line-height:1.5}.auth-card form{display:grid;gap:10px;margin-top:22px}.auth-card label{color:#405744;font-size:.875rem;font-weight:700}.auth-card input{border:1px solid #b9c9ba;border-radius:10px;font:inherit;padding:13px;width:100%}.auth-card input:focus{border-color:#1c6938;outline:3px solid #d7f0d6}.auth-message,.auth-error{border-radius:10px;font-size:.9rem;line-height:1.45;margin:18px 0 0;padding:12px}.auth-message{background:#e4f2e3;color:#14532d}.auth-error{background:#fff0ed;color:#9a3412}:root[data-theme=dark] .auth-card,:root[data-theme=dark] .auth-card input{background:#17271b;color:#e7f0e7}:root[data-theme=dark] .auth-card,:root[data-theme=dark] .auth-card input{border-color:#46644d}.topbar{align-items:center;background:#fbfdf8;border-bottom:1px solid #dce7db;display:flex;gap:18px;justify-content:space-between;margin:0;min-height:73px;padding:14px 20px;position:sticky;top:0;z-index:9}.brand{color:#14532d;font-size:1.12rem;font-weight:800;letter-spacing:-.025em;text-decoration:none;white-space:nowrap}.topbar-actions,.theme-icons,.online-status,.top-sign-out{align-items:center;display:flex}.topbar-actions{gap:18px}.theme-icons{color:#2f4c36;gap:8px}.theme-toggle{background:#cfe8d3;border:0;border-radius:99px;cursor:pointer;height:24px;padding:3px;transition:background .2s;width:42px}.theme-toggle span{background:#fff;border-radius:50%;display:block;height:18px;transition:transform .2s;width:18px}.theme-toggle.dark{background:#1c6938}.theme-toggle.dark span{transform:translate(18px)}.online-status{background:#eff8ee;border-radius:99px;color:#176936;font-size:.83rem;font-weight:700;gap:7px;padding:9px 13px}.top-sign-out{background:transparent;border:1px solid #cbd8cc;border-radius:10px;color:#405744;cursor:pointer;font:inherit;font-size:.86rem;gap:8px;padding:10px 13px}:root[data-theme=dark] .topbar{background:#142217;border-color:#34513b}:root[data-theme=dark] .brand{color:#a5dfaf}:root[data-theme=dark] .theme-icons,:root[data-theme=dark] .top-sign-out{color:#c7d9c9}:root[data-theme=dark] .top-sign-out{border-color:#46644d}@media(min-width:900px){.topbar{padding:14px 34px}}@media(max-width:620px){.topbar{align-items:flex-start;gap:10px;min-height:0}.topbar-actions{gap:8px}.theme-icons{gap:5px}.theme-icons>svg{display:none}.online-status{font-size:0;padding:10px}.online-status svg{display:block}.top-sign-out{font-size:0;padding:10px}.top-sign-out svg{display:block}.brand{font-size:1rem}}.sidebar{border-bottom:1px solid #dce7db}.side-navigation{display:flex;gap:7px;overflow-x:auto;padding:10px 16px}.side-navigation a{align-items:center;border-radius:11px;color:#405744;display:flex;flex:0 0 auto;font-size:.9rem;gap:10px;padding:11px 13px;text-decoration:none}.side-navigation a.active{background:#e3f2e5;color:#126333;font-weight:800}:root[data-theme=dark] .sidebar{border-color:#34513b}:root[data-theme=dark] .side-navigation a{color:#c7d9c9}:root[data-theme=dark] .side-navigation a.active{background:#213827;color:#9ee4ad}@media(min-width:900px){.sidebar{align-self:start;background:#f8faf5;border-bottom:0;border-right:1px solid #dce7db;height:calc(100dvh - 73px);padding:20px 18px;position:sticky;top:73px}:root[data-theme=dark] .sidebar{background:#101b13;border-color:#34513b}.side-navigation{display:grid;gap:9px;overflow:visible;padding:0}.side-navigation a{font-size:1rem;padding:15px 17px}}.application-shell{min-height:100dvh}.application-layout{min-height:calc(100dvh - 73px)}.app-content{margin:0 auto;max-width:930px;padding:28px 20px 32px;width:100%}.app-content.movements-route{padding-bottom:112px}@media(min-width:900px){.application-shell{zoom:.8}.application-layout{display:grid;grid-template-columns:270px minmax(0,1fr)}.app-content{margin:0;max-width:none;padding:28px 34px 32px}.app-content.movements-route{padding-bottom:112px}}.modal-backdrop{align-items:center;background:#17201866;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:16px;position:fixed;z-index:10}.movement-form{background:#f8faf5;border:0;border-radius:22px 22px 16px 16px;box-shadow:0 18px 48px #17201855;inset:auto;margin:0;max-height:min(90dvh,820px);overflow:auto;padding:22px;position:relative;width:min(100%,680px)}.form-heading{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.form-heading h2{margin-bottom:0}.close-button{background:transparent;border:0;color:#405744;cursor:pointer;font-size:1.8rem;line-height:1;padding:2px 6px}.type-choice{display:grid;gap:8px;grid-template-columns:1fr 1fr;margin:22px 0 16px}.type-choice button{background:#edf2e9;border:0;border-radius:10px;color:#405744;cursor:pointer;font:inherit;font-weight:700;padding:11px 8px}.type-choice button.active{background:#1c6938;color:#fff}.movement-form form{display:grid;gap:14px}.movement-form label{color:#405744;display:grid;font-size:.875rem;font-weight:700;gap:7px}.movement-form input,.movement-form select,.movement-form textarea{background:#fff;border:1px solid #b9c9ba;border-radius:10px;color:#172018;font:inherit;padding:11px;width:100%}.movement-form input:focus,.movement-form select:focus,.movement-form textarea:focus{border-color:#1c6938;outline:3px solid #d7f0d6}.movement-form fieldset{border:1px solid #dce7db;border-radius:12px;margin:0;padding:13px}.movement-form legend{color:#405744;font-size:.85rem;font-weight:700;padding:0 5px}.split-controls,.split-amounts,.contribution-columns,.payer-buttons{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.payer-choice{border-color:#dce7db}.payer-buttons{gap:10px}.payer-buttons button{background:#edf2e9;border:0;border-radius:10px;color:#405744;cursor:pointer;font:inherit;font-weight:700;padding:13px 8px}.payer-buttons button.active{background:#1c6938;color:#fff}.clear-payer{background:#fff;border:1px solid #b9c9ba;border-radius:10px;color:#405744;cursor:pointer;font:inherit;margin-top:12px;padding:10px 14px}.payer-status{color:#14532d;font-size:.9rem;font-weight:700;margin:12px 0 0}.advanced-options{border:1px solid #dce7db;border-radius:14px}.advanced-options summary{align-items:center;cursor:pointer;display:flex;gap:18px;list-style:none;padding:18px}.advanced-options summary::-webkit-details-marker{display:none}.advanced-options summary>svg{color:#405744;flex:0 0 auto}.advanced-options summary strong,.advanced-options summary small{display:block}.advanced-options summary strong{color:#172018;font-size:1rem}.advanced-options summary small{color:#667568;font-size:.9rem;font-weight:400;margin-top:4px}.advanced-options[open]{padding:0 14px 14px}.advanced-options[open] summary{padding-left:4px}.advanced-options[open]>label,.advanced-options[open]>fieldset{margin-top:14px}.split-amounts{margin-top:14px}.split-amounts p{background:#e4f2e3;border-radius:10px;color:#52715a;font-size:.8rem;font-weight:700;margin:0;padding:11px}.split-amounts strong{color:#14532d;display:block;font-size:1rem;margin-top:4px}.form-error{border-radius:10px;font-size:.9rem;line-height:1.45;margin:0;padding:12px}.paid-note{background:#e4f2e3;border-radius:10px;color:#14532d;font-size:.9rem;margin:0;padding:12px}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.form-actions .auth-button{margin:0}.close-button:focus-visible,.type-choice button:focus-visible{outline:3px solid #d7f0d6;outline-offset:-3px}:root[data-theme=dark] .advanced-options summary small{color:#b7cbb9}:root[data-theme=dark] .split-amounts p,:root[data-theme=dark] .payer-buttons button,:root[data-theme=dark] .type-choice button{background:#213827;color:#d9ead9}:root[data-theme=dark] .split-amounts strong,:root[data-theme=dark] .payer-status{color:#8cda9d}:root[data-theme=dark] .movement-form,:root[data-theme=dark] .movement-form input,:root[data-theme=dark] .movement-form select,:root[data-theme=dark] .movement-form textarea,:root[data-theme=dark] .clear-payer{background:#17271b;color:#e7f0e7}:root[data-theme=dark] .movement-form fieldset,:root[data-theme=dark] .advanced-options,:root[data-theme=dark] .movement-form input,:root[data-theme=dark] .movement-form select,:root[data-theme=dark] .movement-form textarea,:root[data-theme=dark] .clear-payer{border-color:#46644d}:root[data-theme=dark] .advanced-options summary strong{color:#e7f0e7}:root[data-theme=dark] .movement-form label,:root[data-theme=dark] .movement-form legend,:root[data-theme=dark] .close-button{color:#c7d9c9}:root[data-theme=dark] .type-choice button.active,:root[data-theme=dark] .payer-buttons button.active{background:#258146;color:#fff}@media(min-width:720px){.movement-form{border-radius:22px}}.calendar-view{align-items:start;display:grid;gap:24px;min-width:0}.calendar-main{min-width:0}.calendar-heading{align-items:end;display:flex;gap:20px;justify-content:space-between;margin-bottom:18px}.calendar-heading h1{margin-bottom:0}.month-controls{align-items:center;display:flex;gap:12px}.month-controls button{align-items:center;background:#fff;border:1px solid #dce7db;border-radius:11px;color:#1c3650;cursor:pointer;display:flex;height:46px;justify-content:center;width:46px}.month-controls strong{background:#fff;border:1px solid #dce7db;border-radius:11px;min-width:190px;padding:12px 18px;text-align:center;text-transform:capitalize}.calendar-grid{background:linear-gradient(135deg,#edf9ee,#f8fcf7);border-radius:18px;padding:18px 7px 7px}.weekday-row,.days-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday-row{color:#13643a;font-size:.86rem;gap:6px;margin-bottom:12px;text-align:center}.days-grid{background:#ffffffa8;border:1px solid #eef3ee;border-radius:14px;gap:6px;grid-auto-rows:76px;padding:4px}.calendar-day{background:#fff;border:1px solid #edf0ec;border-radius:11px;color:#132238;cursor:pointer;display:flex;flex-direction:column;font:inherit;height:100%;justify-content:space-between;min-height:0;padding:11px;text-align:right}.calendar-day time{font-size:.9rem}.calendar-day.outside-month{color:#b5bdc7;cursor:default}.calendar-day.selected{background:linear-gradient(135deg,#087437,#176d3a);border-color:#087437;color:#fff}.event-markers{display:flex;gap:6px;justify-content:center;min-height:10px}.event-markers i,.calendar-legend i{background:#55bd76;border-radius:50%;display:inline-block;height:10px;width:10px}.event-markers i.settlement,.calendar-legend i.settlement{background:#579af2}.day-movements{background:#fff;border:1px solid #e0e9e0;border-radius:18px;margin-top:18px;padding:18px}.day-movements .section-heading{align-items:flex-start}.day-movements h2{margin-bottom:3px}.day-movements .section-heading p{color:#62718a;margin:0}.calendar-movement{align-items:center;border:1px solid #edf0ec;border-radius:14px;display:grid;gap:13px;grid-template-columns:auto minmax(0,1fr) auto auto;margin-top:10px;padding:12px}.calendar-movement-icon{align-items:center;background:#e5f7e8;border-radius:50%;color:#087437;display:flex;height:50px;justify-content:center;width:50px}.calendar-movement-icon.settlement{background:#e7f0ff;color:#357be0}.calendar-movement-content{background:transparent;border:0;color:#1a2638;cursor:pointer;display:grid;font:inherit;gap:3px;padding:0;text-align:left}.calendar-movement-content small{color:#66758e}.calendar-movement-amount{display:grid;justify-items:end}.calendar-movement-amount>strong{font-size:1.05rem}.calendar-movement-amount small{background:#e6f7e9;border-radius:99px;color:#087437;font-size:.76rem;font-weight:700;margin-top:5px;padding:5px 9px}.more-button{background:transparent;border:0;color:#132238;cursor:pointer}.calendar-empty{color:#62718a;margin:20px 0 4px;text-align:center}.calendar-aside{align-self:start;display:grid;gap:18px}.calendar-legend{display:grid;gap:15px}.calendar-legend p{align-items:flex-start;display:flex;gap:15px;margin:0}.calendar-legend i{flex:0 0 auto;height:24px;width:24px}.calendar-legend i.settlement{background:#579af2}.calendar-legend .future-reminder i{background:#ffb114}.calendar-legend strong,.calendar-legend small{display:block}.calendar-legend small{color:#66758e;margin-top:3px}.calendar-summary{display:grid;gap:17px;margin:0}.calendar-summary div{align-items:center;display:flex;justify-content:space-between;gap:12px}.calendar-summary dt{align-items:center;color:#66758e;display:flex;gap:14px}.calendar-summary dt svg{color:#1b4a64}.calendar-summary dd{color:#172234;font-weight:800;margin:0}@media(min-width:1180px){.calendar-view{grid-template-columns:minmax(0,1fr) 360px}.calendar-aside{align-self:start;max-height:calc(100dvh - 105px);overflow-y:auto;padding-right:3px;position:sticky;top:101px}}@media(min-width:1180px){.calendar-main{margin-inline:auto;max-width:930px;width:100%}}@media(min-width:1600px){.calendar-view{grid-template-columns:minmax(0,1fr) 360px}}@media(max-width:700px){.calendar-heading{align-items:flex-start;flex-direction:column}.month-controls{width:100%}.month-controls strong{flex:1}.days-grid{grid-auto-rows:56px}.calendar-day{min-height:56px;padding:7px}.calendar-movement{grid-template-columns:auto minmax(0,1fr) auto}.calendar-movement-amount{grid-column:2 / 4;justify-items:start}.more-button{grid-column:3;grid-row:1}.calendar-movement-content{grid-column:2;grid-row:1}.calendar-movement-icon{grid-row:1 / 3}.weekday-row{font-size:.72rem}}:root[data-theme=dark] .calendar-grid{background:#1d3523}:root[data-theme=dark] .month-controls button,:root[data-theme=dark] .month-controls strong,:root[data-theme=dark] .calendar-day,:root[data-theme=dark] .day-movements{background:#17271b;border-color:#46644d;color:#e7f0e7}:root[data-theme=dark] .calendar-day.outside-month{color:#7b9080}:root[data-theme=dark] .calendar-movement{border-color:#34513b}:root[data-theme=dark] .calendar-movement-content,:root[data-theme=dark] .more-button,:root[data-theme=dark] .calendar-summary dd{color:#e7f0e7}:root[data-theme=dark] .calendar-movement-content small,:root[data-theme=dark] .calendar-summary dt,:root[data-theme=dark] .calendar-legend small{color:#b7cbb9}.download-view{align-items:start;display:grid;gap:24px;min-width:0}.download-main{min-width:0}.download-heading{margin-bottom:18px}.download-heading h1{color:#090d18;font-size:clamp(2rem,3.2vw,2.75rem)}.download-hero{align-items:center;background:linear-gradient(135deg,#08723b,#075b31);border-radius:20px;color:#fff;display:flex;gap:26px;overflow:hidden;padding:25px 30px;position:relative}.download-hero:after{background:#91dba32e;border-radius:50%;content:"";height:260px;position:absolute;right:-88px;top:-125px;width:260px}.download-hero>*{position:relative;z-index:1}.download-hero>span{align-items:center;background:#d4f7d940;border-radius:50%;display:flex;flex:0 0 auto;height:88px;justify-content:center;width:88px}.download-hero h2{font-size:1.55rem;margin-bottom:7px}.download-hero p{color:#effff0;font-size:1.03rem;line-height:1.4;margin:0;max-width:620px}.export-options{background:linear-gradient(135deg,#f4fbf5,#eff9f0);border-radius:20px;margin-top:18px;padding:23px}.export-options>h2{color:#121925;font-size:1.35rem;margin-bottom:4px}.export-options>p{color:#465167;margin-bottom:20px}.export-option-card{background:#ffffff9e;border-radius:17px;margin-top:12px;padding:17px}.export-option-card h3{color:#131820;font-size:1.06rem;margin-bottom:3px}.export-option-card>p{color:#5a6475;margin-bottom:12px}.date-controls{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.date-controls label{color:#1d2a38;display:grid;font-weight:600;gap:6px}.date-controls input{background:#fff;border:1px solid #d2dce0;border-radius:11px;color:#263646;font:inherit;min-height:49px;padding:10px 14px}.export-status-tabs{display:flex;gap:12px}.export-status-tabs button{background:#e7f4e8;border:0;border-radius:99px;color:#13613a;cursor:pointer;font:inherit;padding:10px 34px}.export-status-tabs button.active{background:linear-gradient(135deg,#087437,#238b4c);color:#fff}.format-options{display:grid;gap:14px;grid-template-columns:1fr 1fr}.format-options button{align-items:center;background:#fff;border:1px solid #d8dfdc;border-radius:12px;color:#152335;cursor:pointer;display:grid;gap:15px;grid-template-columns:auto auto minmax(0,1fr);padding:15px 17px;text-align:left}.format-options button.active{background:#ecfff0;border-color:#0a9b54;box-shadow:inset 0 0 0 1px #0a9b54}.format-options svg{color:#087437}.format-options strong,.format-options small{display:block}.format-options small{color:#596779;font-size:.86rem;line-height:1.35;margin-top:3px}.format-radio{border:2px solid #83919b;border-radius:50%;height:23px;width:23px}.format-options button.active .format-radio{border:7px solid #087437}.download-action{align-items:center;background:linear-gradient(135deg,#087437,#0c6838);border:0;border-radius:13px;color:#fff;cursor:pointer;display:flex;font:inherit;font-size:1.05rem;font-weight:800;gap:12px;justify-content:center;margin-top:15px;min-height:55px;width:100%}.export-notice{background:#fff8df;border:1px solid #f0d991;border-radius:11px;color:#6d5614;font-size:.9rem;margin:13px 0 0;padding:11px 14px}.download-aside{align-self:start;display:grid;gap:17px}.download-side-card{background:#fff;border:1px solid #e1e7ea;border-radius:17px;color:#15233f;padding:19px}.download-side-card h2{font-size:1.1rem;margin-bottom:19px}.last-export-empty{align-items:center;color:#087437;display:flex;gap:15px}.last-export-empty>svg{background:#e5f8e8;border-radius:50%;flex:0 0 auto;height:65px;padding:17px;width:65px}.last-export-empty strong,.last-export-empty small{display:block}.last-export-empty small{color:#5d6b7d;font-size:.87rem;line-height:1.35;margin-top:4px}.download-side-card dl{display:grid;gap:18px;margin:0}.download-side-card dl div{align-items:center;display:flex;gap:12px;justify-content:space-between}.download-side-card dt{align-items:center;color:#5c6b7e;display:flex;font-size:.9rem;gap:15px}.download-side-card dt svg{color:#0b3159}.download-side-card dd{color:#121b2d;font-size:.95rem;font-weight:800;margin:0;text-align:right}.download-info-card{align-items:flex-start;background:linear-gradient(135deg,#eaf8ed,#e1f4e5);border-radius:17px;color:#1a4a31;display:flex;gap:15px;padding:19px}.download-info-card>svg{background:#fff0c4;border-radius:50%;color:#ffaf18;flex:0 0 auto;height:50px;padding:12px;width:50px}.download-info-card strong{display:block;margin-bottom:7px}.download-info-card p{line-height:1.45;margin:0}@media(min-width:1160px){.download-view{grid-template-columns:minmax(0,1fr) 355px}.download-aside{position:sticky;top:94px}}@media(max-width:680px){.download-hero{align-items:flex-start;padding:20px}.download-hero>span{height:62px;width:62px}.download-hero>span svg{height:31px;width:31px}.download-hero h2{font-size:1.2rem}.download-hero p{font-size:.92rem}.date-controls,.format-options{grid-template-columns:1fr}.export-status-tabs{overflow-x:auto}.export-status-tabs button{padding:10px 22px;white-space:nowrap}}:root[data-theme=dark] .download-heading h1,:root[data-theme=dark] .export-options>h2,:root[data-theme=dark] .export-option-card h3{color:#e7f0e7}:root[data-theme=dark] .export-options{background:#1b3020}:root[data-theme=dark] .export-option-card,:root[data-theme=dark] .format-options button,:root[data-theme=dark] .download-side-card{background:#17271b;border-color:#46644d;color:#e7f0e7}:root[data-theme=dark] .export-options>p,:root[data-theme=dark] .export-option-card>p,:root[data-theme=dark] .format-options small,:root[data-theme=dark] .last-export-empty small,:root[data-theme=dark] .download-side-card dt{color:#b7cbb9}:root[data-theme=dark] .date-controls label,:root[data-theme=dark] .download-side-card dd{color:#e7f0e7}:root[data-theme=dark] .date-controls input{background:#101b13;border-color:#46644d;color:#e7f0e7}.download-action:disabled{cursor:wait;opacity:.72}.last-export-action{align-items:center;background:#eff7ef;border:0;border-radius:11px;color:#174d30;cursor:pointer;display:flex;font:inherit;gap:10px;justify-content:center;margin-top:16px;padding:12px;width:100%}.home-view{display:grid;gap:24px;min-width:0}.home-main{min-width:0}.balance{background:#14532d;border-radius:20px;box-shadow:0 12px 28px #14532d33;color:#fff;padding:24px}.balance p{color:#d7f0d6;margin-bottom:10px}.balance strong{display:block;font-size:1.65rem;letter-spacing:-.03em;margin-bottom:8px}.balance span{color:#d7f0d6;font-size:.9rem}.bar-column,.bar-column strong,.bar-column small,.donut strong,.donut span{text-align:center;width:100%}.home-main .app-header{margin-bottom:16px}.home-main .app-header h1{font-size:clamp(2rem,4vw,2.85rem)}.balance-decorated{overflow:hidden;position:relative}.balance-decorated:before,.balance-decorated:after{background:#8bddaa22;border-radius:50%;content:"";height:250px;position:absolute;right:-70px;top:60px;width:250px}.balance-decorated:after{height:190px;right:60px;top:92px;width:190px}.balance-decorated>*{position:relative;z-index:1}.home-metrics{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.home-metrics article{align-items:center;background:linear-gradient(135deg,#effbf0,#e6f6e9);border-radius:18px;display:flex;gap:16px;min-width:0;padding:16px}.metric-icon{align-items:center;background:#d7f4df;border-radius:50%;color:#087437;display:inline-flex;flex:0 0 auto;height:58px;justify-content:center;width:58px}.home-metrics p{color:#087437;margin:0 0 3px}.home-metrics strong{font-size:1.6rem;letter-spacing:-.04em}.consumption-chart{margin-top:28px}.consumption-chart h2{font-size:1.6rem;letter-spacing:-.03em;margin-bottom:12px}.chart-tabs{display:flex;gap:10px;margin-bottom:16px}.chart-tabs button{background:#edf7ed;border:0;border-radius:99px;color:#14713a;cursor:pointer;font:inherit;padding:10px 25px}.chart-tabs button.active{background:#087437;color:#fff}.chart-tabs button:disabled{cursor:default;opacity:.72}.bar-chart{background:#fff;border:1px solid #e0e9e0;border-radius:18px;padding:20px 22px 16px}.bar-chart h3{color:#101d5e;font-size:1.05rem;margin-bottom:16px}.chart-bars{align-items:end;border-bottom:2px solid #b8c7e3;display:grid;gap:14px;grid-template-columns:repeat(5,minmax(0,1fr));min-height:245px;padding:0 10px}.bar-column{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:end;min-width:0}.bar-track{align-items:end;background:repeating-linear-gradient(to top,transparent 0 48px,#dce7f5 49px 50px);display:flex;height:190px;width:100%}.bar-track span{background:linear-gradient(90deg,#71d497,#9ee9b7);border-radius:6px 6px 0 0;display:block;margin:0 auto;max-width:68px;width:58%}.bar-column strong,.bar-column small{color:#5262ad;font-size:.74rem;margin-top:8px;text-align:center}.bar-column small{color:#64748b;margin-top:3px}.home-aside{display:grid;gap:14px}.download-card,.side-card{background:#fff;border:1px solid #e0e9e0;border-radius:17px;color:#132267;padding:17px}.download-card{align-items:center;display:grid;gap:14px;grid-template-columns:auto 1fr auto;text-decoration:none}.download-card strong,.download-card small{display:block}.download-card small{color:#5065b1;font-size:.88rem;line-height:1.4;margin-top:4px}.download-card b{font-size:2rem;font-weight:400}.side-card h2{color:#132267;font-size:1.05rem;margin-bottom:14px}.side-card dl{display:grid;gap:13px;margin:0}.side-card dl div{align-items:center;display:flex;justify-content:space-between;gap:10px}.side-card dt{align-items:center;color:#5262ad;display:flex;font-size:.86rem;gap:11px}.side-card dt svg{color:#087437}.side-card dd{color:#132267;font-weight:800;margin:0}.donut-row{align-items:center;display:flex;gap:15px}.donut{align-items:center;background:conic-gradient(#087437 0 var(--richard),#94dfb0 var(--richard) 100%);border-radius:50%;display:flex;flex:0 0 auto;flex-direction:column;height:128px;justify-content:center;position:relative;width:128px}.donut:before{background:#fff;border-radius:50%;content:"";height:82px;position:absolute;width:82px}.donut strong,.donut span{color:#132267;font-size:.9rem;position:relative;z-index:1}.donut span{color:#5262ad;font-size:.74rem;margin-top:3px}.status-donut{background:conic-gradient(#087437 0 var(--active),#94dfb0 var(--active) calc(var(--active) + var(--paid)),#a7b6c9 calc(var(--active) + var(--paid)) 100%)}.donut-legend{flex:1;min-width:0}.donut-legend p{align-items:center;color:#5262ad;display:grid;font-size:.8rem;gap:6px;grid-template-columns:auto 1fr auto;margin:0 0 8px}.donut-legend i{border-radius:50%;height:13px;width:13px}.donut-legend i.richard{background:#087437}.donut-legend i.katha{background:#94dfb0}.donut-legend i.voided{background:#a7b6c9}.donut-legend b,.donut-legend span{color:#132267;font-style:normal}@media(min-width:1180px){.home-view{grid-template-columns:minmax(0,1fr) 340px}}@media(max-width:560px){.home-metrics{grid-template-columns:1fr}.home-metrics strong{font-size:1.4rem}.bar-chart{padding:16px 12px}.chart-bars{gap:6px;padding:0 2px}.bar-track{height:155px}.bar-column strong,.bar-column small{font-size:.65rem}.donut-row{align-items:flex-start}.donut{height:112px;width:112px}.donut:before{height:72px;width:72px}}:root[data-theme=dark] .home-metrics article{background:#1d3523}:root[data-theme=dark] .bar-chart,:root[data-theme=dark] .download-card,:root[data-theme=dark] .side-card{background:#17271b;border-color:#46644d}:root[data-theme=dark] .bar-chart h3,:root[data-theme=dark] .side-card h2,:root[data-theme=dark] .download-card,:root[data-theme=dark] .side-card dd{color:#e7f0e7}:root[data-theme=dark] .download-card small,:root[data-theme=dark] .side-card dt,:root[data-theme=dark] .donut-legend p,:root[data-theme=dark] .donut span{color:#b7cbb9}:root[data-theme=dark] .donut:before{background:#17271b}:root[data-theme=dark] .donut strong,:root[data-theme=dark] .donut-legend b,:root[data-theme=dark] .donut-legend span{color:#e7f0e7}.movement-row{background:#fff;border:1px solid #edf1ed;border-radius:16px;overflow:hidden;position:relative}.movement-row-main{align-items:center;background:transparent;border:0;color:#142348;cursor:pointer;display:grid;font:inherit;gap:16px;grid-template-columns:auto minmax(150px,1.05fr) minmax(104px,.55fr) minmax(250px,1.3fr);padding:14px 56px 14px 14px;text-align:left;width:100%}.movement-category-icon{align-items:center;border-radius:50%;display:flex;height:58px;justify-content:center;width:58px}.movement-category-icon.expense-icon{background:#e9f9eb;color:#087437}.movement-category-icon.settlement-icon{background:#e9f5e9;color:#087437}.movement-identity,.movement-total,.movement-detail{min-width:0}.movement-identity{display:grid;gap:4px}.movement-identity>strong{color:#101b3d;font-size:1.05rem}.movement-identity>small{align-items:center;color:#58708d;display:flex;gap:7px}.movement-label{border-radius:99px;font-size:.68rem;font-weight:800;padding:5px 10px;text-transform:uppercase;width:fit-content}.movement-label.expense-label{background:#fee8e8;color:#963433}.movement-label.settlement-label{background:#e5f7eb;color:#087437}.movement-total{display:grid;gap:3px}.movement-total small{color:#62718a}.movement-total strong{color:#101b3d;font-size:1.35rem}.movement-detail{display:grid;gap:3px}.movement-detail>small{color:#465d83;line-height:1.35}.movement-effect,.movement-completed,.movement-voided-state{align-items:center;border-radius:10px;display:flex;font-size:.88rem;font-weight:800;gap:10px;margin-top:7px;padding:8px 12px;width:fit-content}.movement-effect,.movement-completed{background:#e5f7e9;color:#087437}.movement-voided-state{background:#fff0ed;color:#9a3412}.movement-more{background:transparent;border:0;color:#10224a;cursor:pointer;position:absolute;right:12px;top:24px}.movement-pay{align-items:center;background:linear-gradient(90deg,#e6fae9,#dff6e7);border:0;border-top:1px solid #d6efdc;color:#066737;cursor:pointer;display:flex;font:inherit;font-weight:700;gap:13px;justify-content:flex-start;padding:12px 18px;width:100%}.movement-pay svg:last-child{margin-left:auto}.movement-row-voided{opacity:.65}:root[data-theme=dark] .movement-row{background:#17271b;border-color:#46644d}.movement-row-main{color:#dbeadd}:root[data-theme=dark] .movement-identity>strong,:root[data-theme=dark] .movement-total strong{color:#e7f0e7}:root[data-theme=dark] .movement-identity>small,:root[data-theme=dark] .movement-total small,:root[data-theme=dark] .movement-detail>small{color:#b7cbb9}:root[data-theme=dark] .movement-more{color:#e7f0e7}@media(max-width:760px){.movement-row-main{align-items:start;grid-template-columns:auto minmax(0,1fr) auto;padding-right:48px}.movement-detail{grid-column:2 / -1}.movement-total{align-items:end;text-align:right}.movement-total strong{font-size:1.13rem}.movement-category-icon{height:48px;width:48px}}@media(max-width:490px){.movement-row-main{gap:10px;grid-template-columns:auto minmax(0,1fr)}.movement-total{grid-column:2;align-items:start;text-align:left}.movement-detail{grid-column:1 / -1}.movement-category-icon{grid-row:span 2}.movement-effect,.movement-completed,.movement-voided-state{font-size:.79rem}.movement-pay{font-size:.87rem}}.movements-view{align-items:start;display:grid;gap:26px;min-width:0}.movements-main{min-width:0}.movements-heading h1{color:#090d18;font-size:clamp(2rem,3.2vw,2.75rem);margin-bottom:16px}.movement-toolbar{display:grid;gap:14px;grid-template-columns:minmax(0,1fr) 195px auto}.movement-search,.movement-sort,.toolbar-filter{align-items:center;background:#fff;border:1px solid #d9e2e8;border-radius:10px;color:#12244a;display:flex;min-height:50px}.movement-search{gap:14px;padding:0 17px}.movement-search svg{color:#0c2b55;flex:0 0 auto}.movement-search input{background:transparent;border:0;color:inherit;font:inherit;min-width:0;outline:0;width:100%}.movement-search input::placeholder{color:#70809d}.movement-sort{position:relative}.movement-sort select{appearance:none;background:transparent;border:0;color:#12244a;cursor:pointer;font:inherit;height:100%;outline:0;padding:0 44px 0 18px;width:100%}.movement-sort svg{pointer-events:none;position:absolute;right:15px}.toolbar-filter{cursor:pointer;font:inherit;font-weight:600;gap:10px;justify-content:center;padding:0 18px}.toolbar-filter.active{background:#edf9ef;border-color:#84c998;color:#087437}.filter-callout{background:#edf9ef;border-radius:10px;color:#28633b;font-size:.88rem;margin-top:10px;padding:11px 14px}.movement-filter-tabs{display:flex;gap:10px;margin:18px 0;overflow-x:auto;padding-bottom:2px}.movement-filter-tabs button{background:#edf7ef;border:0;border-radius:99px;color:#08704a;cursor:pointer;font:inherit;padding:11px 25px;white-space:nowrap}.movement-filter-tabs button.active{background:linear-gradient(135deg,#087437,#38a464);color:#fff}.movement-groups{display:grid;gap:16px}.movement-group{background:linear-gradient(135deg,#e9faed,#f1fbf2);border:1px solid #e2f2e5;border-radius:19px;padding:11px}.movement-group>summary,.ungrouped-group>header{align-items:center;cursor:pointer;display:grid;gap:14px;grid-template-columns:auto minmax(0,1fr) auto auto;list-style:none;padding:5px 4px 12px}.movement-group>summary::-webkit-details-marker{display:none}.movement-group-icon{align-items:center;background:#d9f6e1;border-radius:50%;color:#087437;display:flex;height:52px;justify-content:center;width:52px}.movement-group summary strong,.ungrouped-group header strong{color:#111724;font-size:1.28rem}.movement-group summary small,.ungrouped-group header small{color:#46638a;font-size:.93rem}.group-chevron{color:#143364;transition:transform .18s ease}.movement-group:not([open]) .group-chevron{transform:rotate(-90deg)}.movement-group-list{display:grid;gap:8px}.group-total{color:#4b6a56;font-size:.83rem;margin:9px 8px 1px}.ungrouped-group>header{cursor:default}.movements-aside{align-self:start;display:grid;gap:16px}.movements-download-card,.movements-summary-card{background:#fff;border:1px solid #e1e7ea;border-radius:16px;color:#112452;padding:17px}.movements-download-card{align-items:center;display:grid;gap:14px;grid-template-columns:auto minmax(0,1fr) auto;text-decoration:none}.movements-download-card>span{align-items:center;background:#e7f9e9;border-radius:13px;color:#087437;display:flex;height:60px;justify-content:center;width:60px}.movements-download-card strong,.movements-download-card small{display:block}.movements-download-card strong{font-size:1.03rem}.movements-download-card small{color:#5065a8;font-size:.88rem;line-height:1.4;margin-top:4px}.movements-summary-card h2{color:#13245e;font-size:1.1rem;margin-bottom:20px}.movements-summary-card dl{display:grid;gap:18px;margin:0}.movements-summary-card dl div{align-items:center;display:flex;gap:12px;justify-content:space-between}.movements-summary-card dt{align-items:center;color:#5c6e95;display:flex;font-size:.9rem;gap:15px}.movements-summary-card dt svg{color:#0c3058}.movements-summary-card dd{color:#13245e;font-size:1rem;font-weight:800;margin:0}.empty-state{border:1px dashed #b9c9ba;border-radius:18px;color:#5e6e61;margin-top:22px;padding:38px 24px;text-align:center}.empty-state div{align-items:center;background:#e4f2e3;border-radius:50%;color:#1c6938;display:flex;font-size:1.25rem;font-weight:800;height:44px;justify-content:center;margin:0 auto 14px;width:44px}.empty-state h2{color:#233526;font-size:1rem;margin-bottom:8px}.empty-state p{font-size:.9rem;line-height:1.45;margin-bottom:0}.sr-only{clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media(min-width:1180px){.movements-view{grid-template-columns:minmax(0,1fr) 365px}.movements-aside{position:sticky;top:94px}}@media(max-width:860px){.movement-toolbar{grid-template-columns:minmax(0,1fr) auto}.movement-search{grid-column:1 / -1}.movements-aside{grid-template-columns:1fr 1fr}}@media(max-width:580px){.movement-toolbar{grid-template-columns:1fr}.movement-search{grid-column:auto}.movement-sort,.toolbar-filter{width:100%}.movements-aside{grid-template-columns:1fr}.movement-group>summary,.ungrouped-group>header{gap:10px;grid-template-columns:auto minmax(0,1fr) auto}.movement-group>summary small,.ungrouped-group>header small{display:none}.movement-group-icon{height:45px;width:45px}.movement-group summary strong,.ungrouped-group header strong{font-size:1.1rem}}:root[data-theme=dark] .movements-heading h1{color:#e7f0e7}:root[data-theme=dark] .movement-search,:root[data-theme=dark] .movement-sort,:root[data-theme=dark] .toolbar-filter,:root[data-theme=dark] .movements-download-card,:root[data-theme=dark] .movements-summary-card{background:#17271b;border-color:#46644d;color:#e7f0e7}:root[data-theme=dark] .movement-search input,:root[data-theme=dark] .movement-sort select{color:#e7f0e7}:root[data-theme=dark] .movement-group{background:#1d3523;border-color:#355d40}:root[data-theme=dark] .movement-group summary strong,:root[data-theme=dark] .ungrouped-group header strong,:root[data-theme=dark] .movements-summary-card h2,:root[data-theme=dark] .movements-summary-card dd{color:#e7f0e7}:root[data-theme=dark] .movement-group summary small,:root[data-theme=dark] .ungrouped-group header small,:root[data-theme=dark] .movements-summary-card dt,:root[data-theme=dark] .movements-download-card small{color:#b7cbb9}.settings-view{min-width:0}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172018;background:#f8faf5;font-synthesis:none;font-size:15px}*{box-sizing:border-box}body{margin:0;min-width:320px}button{font:inherit}main{width:min(100%,680px);margin:0 auto;padding:32px 20px 104px}header{margin-bottom:24px}h1,h2,h3,p{margin-top:0}h1{font-size:2rem;letter-spacing:-.04em;margin-bottom:0}h2{font-size:1.25rem;margin-bottom:16px}.eyebrow{color:#52715a;font-size:.875rem;font-weight:700;margin:0 0 6px}@media(max-width:620px){:root{font-size:16px}}.route-panel{background:#fff;border:1px solid #dce7db;border-radius:18px;max-width:620px;padding:25px}.route-panel h1{margin-bottom:10px}.route-panel>p:last-child{color:#5e6e61;line-height:1.5;margin-bottom:0}.settings-page-option{align-items:center;background:#edf6eb;border-radius:12px;display:flex;justify-content:space-between;margin-top:20px;padding:15px}.settings-page-option strong,.settings-page-option span{display:block}.settings-page-option span{color:#52715a;font-size:.88rem;margin-top:4px}.app-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.secondary-button{align-items:center;background:transparent;border:1px solid #b9c9ba;border-radius:10px;color:#405744;cursor:pointer;display:inline-flex;justify-content:center;min-height:40px;padding:8px 11px}.auth-button{background:#1c6938;border:0;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;margin-top:6px;padding:13px}.auth-button:disabled{cursor:wait;opacity:.7}.feedback,.load-error,.loading-movements{border-radius:10px;font-size:.9rem;line-height:1.45;margin:18px 0 0;padding:12px}.feedback{background:#e4f2e3;color:#14532d}.offline-status{background:#fff7df;border:1px solid #ecd38a;border-radius:10px;color:#735b13;font-size:.9rem;line-height:1.45;margin:12px 0 0;padding:12px}.load-error,.form-error{background:#fff0ed;color:#9a3412}.loading-movements{color:#5e6e61}.add-button{background:#1c6938;border:0;border-radius:14px;bottom:20px;box-shadow:0 8px 20px #14532d44;color:#fff;cursor:pointer;font-weight:700;left:20px;padding:15px 20px;position:fixed;right:20px}.add-button span{font-size:1.25rem;line-height:0;margin-right:7px;vertical-align:-1px}@media(min-width:720px){.add-button{left:50%;right:auto;transform:translate(-50%);width:300px}}:root[data-theme=dark]{background:#101b13;color:#e7f0e7}:root[data-theme=dark] body{background:#101b13;color:#e7f0e7}:root[data-theme=dark] .route-panel{background:#17271b;border-color:#46644d}:root[data-theme=dark] .route-panel>p:last-child,:root[data-theme=dark] .settings-page-option span,:root[data-theme=dark] .eyebrow{color:#b7cbb9}:root[data-theme=dark] .settings-page-option{background:#213827;color:#9ee4ad}:root[data-theme=dark] .offline-status{background:#3c3217;border-color:#806c2c;color:#f0dc99}:root[data-theme=dark] .secondary-button{border-color:#46644d;color:#c7d9c9}
