@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-500-normal-DR84L5F-.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2)format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2)format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-vietnamese-600-normal-DUi7WF5p.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-600-normal-D6zpsUhD.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-ext-600-normal-DxxdqCpr.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-600-normal-VcznFIpX.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2)format("woff2"),url(/assets/space-grotesk-latin-600-normal-BflQw4A9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#1c2924;font-synthesis:none;background:#f5f0e6;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #d39a3d}.shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.sidebar{color:#e9e3d6;background:#0d211c;flex-direction:column;padding:28px 20px;display:flex}.brand{align-items:center;gap:9px;font-family:Space Grotesk;font-size:20px;font-weight:600;display:flex}.brand-mark{color:#13231e;background:#d39a3d;border-radius:8px;place-items:center;width:29px;height:29px;font-size:23px;display:grid}.sidebar nav{gap:6px;margin:65px 0;display:grid}.sidebar a{color:#a8b4aa;border-left:2px solid #0000;padding:11px 12px;text-decoration:none}.sidebar a.active{color:#fff;background:#18342c;border-color:#d39a3d}.sidebar-note{border-top:1px solid #294139;gap:3px;margin-top:auto;padding:20px 4px;display:grid}.sidebar-note span,.eyebrow{letter-spacing:.13em;color:#718179;margin:0;font-size:10px;font-weight:700}.sidebar-note strong{font-size:13px}.content{width:100%;max-width:1450px;margin:auto;padding:46px clamp(22px,4vw,68px) 70px}header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:34px;display:flex}h1,h2{letter-spacing:-.04em;color:#14231d;margin:0;font-family:Space Grotesk}h1{margin-top:7px;font-size:clamp(31px,4vw,48px);line-height:1.05}.subtle{color:#6d756e;margin:10px 0 0}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.source{color:#536058;align-items:center;gap:6px;font-size:12px;display:flex}.month-select{background:#fffdf8;border:1px solid #d9d1c3;border-radius:6px;align-items:center;gap:7px;padding:10px;display:flex}.month-select select{appearance:none;color:#26372f;background:0 0;border:0;max-width:145px;font-weight:600}.month-select svg:last-child{pointer-events:none}.kpis{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.kpi{background:#fffdf8;border:1px solid #e3dccf;min-height:133px;padding:18px}.kpi>span{color:#1c6c58;background:#e4eee8;border-radius:50%;place-items:center;width:31px;height:31px;display:grid}.kpi.amber>span{color:#a56b18;background:#f5e7ca}.kpi.red>span{color:#a64835;background:#f2dbd5}.kpi p{color:#69746d;margin:17px 0 5px;font-size:12px}.kpi strong{letter-spacing:-.04em;font-family:Space Grotesk;font-size:23px}.grid{gap:18px;margin-bottom:18px;display:grid}.secondary-grid{grid-template-columns:1.35fr .65fr}.panel,.insights{background:#fffdf8;border:1px solid #e3dccf;padding:25px}.panel-title h2{margin-top:5px;font-size:20px}.composition{grid-template-columns:150px 1fr;align-items:center;gap:30px;margin-top:30px;display:grid}.composition-number{letter-spacing:-.05em;color:#17362d;font-family:Space Grotesk;font-size:29px}.composition-number small{letter-spacing:0;color:#718179;margin-top:3px;font-family:DM Sans;font-size:12px;display:block}.bar strong{font-weight:500}.track{background:#ede9e0;height:8px}.track i{height:100%;display:block}.track .amber{background:#d39a3d}.track .mint{background:#62aa91}.empty-chart{text-align:center;color:#718179;place-items:center;height:200px;font-size:13px;display:grid}.recharts-legend-item-text{color:#526059!important;font-size:11px!important}.chart-summary{color:#66736b;margin:5px 0 0;font-size:12px}.insights{align-content:start;gap:10px;display:grid}.insight{background:#f6f3eb;border-left:3px solid #a6afa9;padding:11px 13px}.insight.positive{border-color:#2e8b73}.insight.attention{border-color:#b85c46}.insight p{color:#526058;margin:4px 0 0;font-size:12px;line-height:1.45}.budget{margin-top:38px}.budget-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.budget-heading h2{margin-top:5px;font-size:26px}.primary{color:#fff;background:#173c31;border-radius:5px;align-items:center;gap:7px;padding:10px 14px;font-size:13px;font-weight:600;display:inline-flex}.tabs{border-bottom:1px solid #d9d1c3;gap:5px;margin-top:24px;display:flex}.tabs button{color:#657168;background:0 0;border-bottom:2px solid #0000;padding:10px 12px;font-size:13px}.tabs button.selected{color:#173c31;border-color:#d39a3d;font-weight:700}.items{background:#fffdf8;border:1px solid #e3dccf;border-top:0}.item-row{border-bottom:1px solid #eee8dc;grid-template-columns:9px minmax(180px,1fr) 110px 110px 75px;align-items:center;gap:12px;padding:15px 18px;display:grid}.item-row:last-child{border-bottom:0}.flow-dot{background:#b85c46;border-radius:50%;width:8px;height:8px}.flow-dot.income{background:#2e8b73}.flow-dot.savings_transfer{background:#d39a3d}.item-main{gap:3px;display:grid}.item-main strong{font-size:14px}.item-main span,.item-flow{color:#718179;font-size:12px}.amount{text-align:right;font-family:Space Grotesk}.row-actions{justify-content:flex-end;gap:3px;display:flex}.row-actions button,.close{color:#637067;background:0 0;padding:7px}.row-actions button:last-child{color:#a14f3d}.empty-items{color:#718179;text-align:center;padding:28px}.inline-error,.form-error{color:#9d4232;font-size:13px}.inline-error{background:#f6dfd9;justify-content:space-between;margin:-18px 0 18px;padding:12px 15px;display:flex}.inline-error button{color:inherit;background:0 0;text-decoration:underline}.state{text-align:center;color:#405049;place-content:center;min-height:100vh;padding:24px;display:grid}.state h1{margin:10px 0}.state button{color:#fff;background:#173c31;border-radius:5px;align-items:center;gap:7px;margin:auto;padding:10px 14px;display:flex}.spin{margin:auto;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dialog-backdrop{z-index:5;background:#10231dbc;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.dialog{background:#fffdf8;width:min(540px,100%);padding:30px;position:relative;box-shadow:0 18px 50px #09120e66}.dialog h2{margin:5px 0 24px;font-size:26px}.close{position:absolute;top:12px;right:12px}.dialog form{gap:15px;display:grid}.dialog label{color:#4d5c53;gap:6px;font-size:12px;font-weight:600;display:grid}.dialog input,.dialog select{color:#1c2924;background:#fff;border:1px solid #d9d1c3;border-radius:3px;padding:10px}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.dialog-actions>button:not(.primary):not(.danger){color:#526058;background:0 0;padding:10px 13px}.danger{color:#fff;background:#a64835;border-radius:4px;padding:10px 13px}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=980px){.shell{grid-template-columns:1fr}.sidebar{flex-direction:row;justify-content:space-between;align-items:center;min-height:auto;padding:14px 22px}.sidebar nav{margin:0;display:flex}.sidebar-note{display:none}.primary-grid,.secondary-grid{grid-template-columns:1fr}.content{padding-top:32px}}@media (width<=650px){.content{padding:25px 16px 50px}header{display:block}.header-actions{justify-content:flex-start;margin-top:20px}.source{width:100%}.kpis{grid-template-columns:1fr 1fr;gap:9px}.kpi{min-height:115px;padding:14px}.kpi p{margin-top:12px}.kpi strong{font-size:19px}.panel,.insights{padding:18px}.composition{grid-template-columns:1fr;gap:20px}.item-row{grid-template-columns:8px 1fr auto 55px;gap:9px;padding:14px 11px}.item-flow{display:none}.amount{font-size:14px}.row-actions{grid-column:4}.budget-heading{align-items:start}.budget-heading h2{font-size:22px}.primary{padding:10px}.form-grid{grid-template-columns:1fr}.dialog{padding:25px 20px}.dialog h2{font-size:23px}.sidebar{padding:13px 16px}.sidebar nav a{padding:7px 9px;font-size:12px}}:root{--color-ink:#1c2924;--color-paper:#f5f0e6;--color-surface:#fffdf8;--color-border:#d9d1c3;--color-accent:#d39a3d;--color-success:#2e8b73;--color-danger:#b85c46;--space-2:8px;--space-3:12px;--space-4:16px;--radius-sm:6px;--radius-md:8px;--motion-ease:ease}.refresh-status{margin:0 0 var(--space-3);color:#6d756e;font-size:13px}.trip-action-error{color:var(--color-danger);grid-column:1/-1;margin:4px 0 0;font-size:12px;font-weight:700}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.export-link{color:#193128;background:#fffdf8;border:1px solid #d9d1c3;border-radius:6px;align-items:center;gap:7px;padding:10px 12px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.export-link:hover{border-color:#2e8b73}.rollover-status{color:#718179;margin:0;font-size:12px}.incidental-layout{grid-template-columns:minmax(0,1fr) minmax(180px,.8fr);align-items:start;gap:24px;display:grid}.incidentals-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.incidentals-list li{border-bottom:1px solid #eee7da;justify-content:space-between;align-items:baseline;gap:14px;padding-bottom:10px;display:flex}.incidentals-list span{color:#6d756e;margin-top:2px;font-size:13px;display:block}.incidentals-total{margin:16px 0 0;font-family:Space Grotesk;font-size:18px}.incidentals-total strong{margin-left:8px}.incidentals-chart{gap:12px;display:grid}.incidental-bar-label{justify-content:space-between;gap:10px;margin-bottom:5px;font-size:12px;display:flex}.incidental-track{background:#eee7da;border-radius:99px;height:8px;overflow:hidden}.incidental-track i{border-radius:inherit;background:#b85c46;height:100%;display:block}.empty-incidentals{color:#718179;margin:14px 0 0}.item-row.one-off-expense{background:#fff9ef;border-left:2px solid #d39a3d}.recurrence-tag{color:#2c6856;letter-spacing:.04em;text-transform:uppercase;background:#e8f0ea;border-radius:99px;width:max-content;margin-top:5px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-flex}.one-off-tag{color:#8b5d17;letter-spacing:.04em;text-transform:uppercase;background:#fbebcf;border-radius:99px;width:max-content;margin-top:5px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-flex}@media (width<=650px){.export-link{padding:9px 10px}.incidental-layout{grid-template-columns:1fr;gap:18px}}.category-bars{gap:14px;display:grid}.category-bar{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;display:grid}.category-bar-label{grid-column:1/-1;justify-content:space-between;align-items:baseline;gap:16px;min-width:0;display:flex}.category-bar-name{align-items:center;gap:7px;min-width:0;display:flex}.category-bar-amount{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;margin-left:auto}.category-track{background:#e5ede7;border-radius:99px;grid-column:1;min-width:0;height:8px;overflow:hidden}.category-track i{border-radius:inherit;background:#2e8b73;height:100%;display:block}.category-bar-percentage{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;grid-area:2/2;margin:0}@media (width<=650px){.category-bars{gap:16px}.category-bar{column-gap:10px}.category-bar-label{gap:12px;font-size:13px}.category-bar-name{overflow-wrap:anywhere}.category-bar-amount{font-size:13px}.category-track{height:9px}.category-bar-percentage{font-size:12px;line-height:1}}.items .item-row{border-bottom:1px solid #d9d1c3}.items .item-row:first-child{border-top:1px solid #d9d1c3}.item-amount{gap:5px;min-width:90px;display:grid}.item-amount .amount{font-variant-numeric:tabular-nums}.item-amount-track{background:#e5ddd0;border-radius:99px;height:5px;overflow:hidden}.item-amount-track i{border-radius:inherit;background:#b85c46;height:100%;display:block}.one-off-expense .item-amount-track i{background:#d39a3d}@media (width<=650px){.item-amount{min-width:55px}.item-amount-track{height:4px}}.bar-legend{color:#6d756e;margin:0;font-size:12px;line-height:1.4}.item-bar-legend{margin:14px 0 8px;padding:0}.payment-moments{background:#fffdf8;border:1px solid #d9d1c3;border-radius:6px;gap:10px;margin:4px 0 12px;padding:12px;display:grid}.payment-moments p{color:#6d756e;margin:0;font-size:13px}.payment-moment{align-items:end;gap:10px;display:flex}.payment-moment label{flex:1}.payment-moment button{margin-bottom:1px}@media (width<=650px){.payment-moment{flex-direction:column;align-items:stretch;gap:6px}.payment-moment button{align-self:start}.bar-legend{font-size:11px}}.chart-legend{flex-wrap:wrap;gap:10px 20px;margin-top:12px;display:flex}.chart-legend span{align-items:center;gap:7px;display:inline-flex}.chart-summary{line-height:1.5}.insight{position:relative}.insight-tone{letter-spacing:.06em;text-transform:uppercase;border-radius:3px;width:max-content;margin-bottom:6px;padding:2px 6px;font-size:10px;font-weight:700;display:block}.insight.positive .insight-tone{color:#28634e;background:#e4f1e9}.insight.attention .insight-tone{color:#805617;background:#fbebcf}.insight.neutral .insight-tone{color:#4d5e55;background:#e8ece9}@media (width<=650px){.chart-legend{gap:8px 14px}}.legend-line{border-radius:99px;flex:none;width:20px;height:3px;display:inline-block}.actual-line{background:#2e8b73}.chart-summary{color:#526058;background:#f6f3eb;border-left:3px solid #d39a3d;margin:12px 0 0;padding:10px 12px;line-height:1.5}.insights-title{gap:5px;margin-bottom:2px;display:grid}.insights-title h2{margin:0;font-size:20px}.dialog{max-height:85dvh;overflow:auto}.dialog input,.dialog select,.dialog textarea,input,select,textarea{font-size:16px}.month-navigation{align-items:center;gap:4px;display:flex}.month-navigation button{background:#fffdf8;border:1px solid #d9d1c3;border-radius:6px;padding:8px}.reconstructed{color:#8b5d17;background:#fbebcf;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:700;display:inline-flex}.small-action{color:#195542;background:#e8f0ea;border-radius:6px;padding:8px 10px;font-weight:700}.trip-page-head,.trip-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.trip-list{gap:16px;margin-top:22px;display:grid}.trip-card{background:#fffdf8;border:1px solid #e3dbce;border-radius:12px;padding:18px}.trip-head h2{font-size:22px}.trip-period{color:#6d756e;margin:4px 0 0}.trip-chips,.trip-legend{flex-wrap:wrap;gap:7px;margin:14px 0;display:flex}.trip-chip{color:#285847;background:#e8f0ea;border-radius:999px;padding:5px 8px;font-size:12px}.trip-legend{color:#718179;font-size:11px}.trip-legend span:before{content:"";border-radius:99px;width:7px;height:7px;margin-right:4px;display:inline-block}.trip-legend .yes:before{background:#2e8b73}.trip-legend .no:before{background:#b85c46}.trip-legend .unknown:before{background:#a39d92}.city-block,.trip-group{border-top:1px solid #eee7da;margin-top:12px;padding-top:12px}.city-block h3,.trip-group h3{margin:0 0 8px;font-size:13px}.city-block h3 small{color:#718179;font-weight:400}.city-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.city-cell{background:#f6f1e8;border-radius:8px;min-height:76px;padding:10px;font-size:11px}.city-cell>strong{color:#718179;margin-bottom:7px;display:block}.city-entry{justify-content:space-between;align-items:center;gap:5px;margin-top:5px;display:flex}.city-entry.yes{background:#e8f0ea}.city-entry.no{background:#fff0e9}.city-entry.unknown{background:#f3f0ea}.status-chip{color:#47544d;background:#fffdf8;border:1px solid #cfc6b7;border-radius:999px;align-items:center;gap:4px;padding:5px 8px;font:600 11px DM Sans;display:inline-flex}.status-chip.yes{color:#fff;background:#2e8b73;border-color:#2e8b73}.status-chip.no{color:#8d4434;background:#fff5ef;border-color:#c97762}.status-chip.unknown{color:#718179;border-style:dashed}.other-entry{justify-content:space-between;gap:8px;padding:8px 0;display:flex}.trip-row{justify-content:space-between;gap:12px;padding:8px 0;font-size:13px;display:flex}.icon-delete{color:#8b5d54;background:0 0;padding:4px}.city-form{background:#f6f1e8;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0;padding:10px;display:grid}.city-form label{font-size:12px}.city-form input,.city-form select{width:100%}@media (width<=650px){.month-navigation{width:100%}.month-select{flex:1}.month-select select{width:100%}.trip-page-head{align-items:center}.account-row{grid-template-columns:1fr}}@media (width<=319px){.city-grid{grid-template-columns:1fr}}.row-actions,.trip-actions{align-items:center;gap:4px;display:flex}.icon-action{color:#173c31;background:#fffdf8;border:1px solid #d9d1c3;border-radius:7px;place-items:center;width:36px;height:36px;padding:0;transition:background-color .16s,border-color .16s,color .16s;display:inline-grid}.icon-action:hover{background:#e8f0ea;border-color:#9eb8aa}.icon-action.destructive:hover{color:#a64835;background:#fff0e9;border-color:#d69b8f}.icon-action:focus-visible{outline-offset:2px;outline:3px solid #d39a3d}.trip-actions{background:#f6f1e8;border:1px solid #e3dbce;border-radius:9px;flex:none;padding:3px}.trip-chips>span{color:#285847;white-space:nowrap;background:#f6f1e8;border:1px solid #d9d1c3;border-radius:999px;align-items:baseline;gap:4px;padding:6px 8px;font-size:12px;font-weight:700;display:inline-flex}.city-entry>span,.budget-trip-row>span:first-child,.task-row>span{overflow-wrap:anywhere;min-width:0}@media (width<=650px){.trip-head{gap:8px}.trip-heading{min-width:0}.trip-head h2{overflow-wrap:anywhere;font-size:20px}.trip-period{overflow-wrap:anywhere}.trip-actions{gap:3px}.trip-chips{gap:6px;margin:12px 0}.trip-chips>span{padding:5px 7px;font-size:11px}.city-grid{grid-template-columns:1fr}.city-cell{min-width:0}.city-entry{flex-wrap:wrap;align-items:center;gap:6px;padding:4px 0}.city-entry>span{flex:130px}.city-entry small{margin-left:auto}.status-chip{min-height:32px}.budget-trip-row{align-items:flex-start}.budget-trip-row>span:last-child{white-space:nowrap;flex:none}.task-row{align-items:flex-start}}.row-actions .icon-action{color:#173c31;background:#fffdf8;border:1px solid #d9d1c3;border-radius:7px;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;display:inline-grid}.row-actions .icon-action.destructive{color:#173c31}.row-actions .icon-action:hover{color:#173c31;background:#e8f0ea;border-color:#9eb8aa}.row-actions .icon-action.destructive:hover{color:#a64835;background:#fff0e9;border-color:#d69b8f}.row-actions .icon-action:focus-visible{outline-offset:2px;outline:3px solid #d39a3d}.budget-row-actions{min-width:76px}.trip-chips{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}.trip-chips>.trip-metric{background:#f6f1e8;border:1px solid #d9d1c3;border-radius:8px;gap:3px;min-width:0;padding:8px 9px;display:grid}.trip-metric-label{color:#718179;letter-spacing:.04em;text-transform:uppercase;overflow-wrap:anywhere;font-size:10px;font-weight:700}.trip-metric-value{color:#173c31;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px}@media (width<=650px){.item-row{grid-template-columns:8px minmax(0,1fr) auto}.item-row .budget-row-actions{grid-column:2/-1;justify-self:end;margin-top:3px}.trip-chips{grid-template-columns:repeat(2,minmax(0,1fr));margin:12px 0}.trip-chips>.trip-metric:last-child{grid-column:1/-1}.trip-chips>.trip-metric{padding:7px 8px}.city-grid{grid-template-columns:1fr}.city-entry{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.city-entry small{grid-column:2;justify-self:end;margin-left:0}.city-entry .status-chip{grid-area:1/2}.city-entry>span{min-width:0}}@media (width>=651px){.item-row{grid-template-columns:10px minmax(0,1fr) auto auto 76px}}.city-block h3{flex-wrap:wrap;align-items:baseline;gap:5px 10px;display:flex}.city-date-range{color:#718179;font-size:12px;font-weight:400}.city-date-pair{grid-template-columns:1fr 1fr;gap:8px;display:grid}.city-form-row>.city-date-pair{grid-column:1/-1}@media (width<=650px){.city-date-range{flex-basis:100%}}.trip-form-cities{gap:10px;margin:12px 0;display:grid}.form-section-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.city-form-row{background:#f6f1e8;border:1px solid #e3dbce;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;display:grid}.city-form-row>label,.city-form-row>div:not(.city-date-pair){color:#47544d;gap:5px;min-width:0;font-size:12px;display:grid}.city-form-row>div:not(.city-date-pair)>span{font-weight:700}.city-form-row .status-chip{justify-self:start}.city-form-row>.city-date-pair{min-width:0}.city-form-row>.city-date-pair label{color:#47544d;gap:5px;min-width:0;font-size:12px;display:grid}.city-form-row>button{grid-column:2;place-self:start end}@media (width<=420px){.city-form-row{grid-template-columns:1fr}.city-form-row>button{grid-column:1}.city-date-pair{grid-template-columns:1fr 1fr}.city-block h3>span:first-child{overflow-wrap:anywhere;min-width:0}.city-date-range{flex-wrap:wrap;gap:3px 6px;line-height:1.35;display:flex}}.trip-item-amounts{color:#58645d;font-variant-numeric:tabular-nums;gap:2px;font-size:11px;display:grid}.trip-item-amounts strong{color:#173c31}.missing-actual{color:#a64835;font-weight:700}.city-entry .trip-item-amounts{grid-column:1/-1}.budget-trip-row{gap:10px}.budget-trip-row .trip-item-amounts{margin-left:auto}.budget-trip-row .icon-action{flex:none}@media (width<=650px){.city-entry .icon-action{grid-column:1;justify-self:start}.budget-trip-row{flex-wrap:wrap}.budget-trip-row .trip-item-amounts{flex:160px;margin-left:0}}.account-row>span{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.account-row>span small{margin:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--color-ink);background:var(--color-paper)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--color-paper);color:var(--color-ink)}h1,h2,h3,.amount,.composition-number,.trip-metric-value,.trip-item-amounts strong{color:var(--color-ink)}.sidebar{background:var(--color-sidebar);color:var(--color-ink)}.sidebar a{color:var(--color-muted)}.sidebar a.active{background:var(--color-sidebar-active);border-color:var(--color-accent)}.brand-mark{background:var(--brand-color);color:var(--brand-ink)}.sidebar-note{border-color:var(--color-border)}.sidebar-note span{color:var(--color-accent)}.sidebar-note small{color:var(--color-muted)}.panel,.dialog,.trip-card,.month-select,.payment-moments,.export-link,.month-navigation button,.icon-action,.row-actions .icon-action,.row-actions .icon-action.destructive{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-border)}.insights,.city-cell,.trip-actions,.city-form-row,.trip-chips>span,.trip-chips>.trip-metric,.chart-summary{background:var(--color-soft);color:var(--color-ink);border-color:var(--color-border)}.subtle,.source,.eyebrow,.refresh-status,.rollover-status,.bar-legend,.trip-period,.trip-legend,.trip-metric-label,.city-date-range,.city-block h3 small,.city-cell>strong,.trip-item-amounts,.incidentals-list span,.empty-incidentals,.payment-moments p,.form-grid label,.city-form-row>label,.city-form-row>div:not(.city-date-pair),.city-date-pair label,.account-row small,.item-flow,.item-label small,.item-main>span:not(.recurrence-tag):not(.one-off-tag),.composition-number small,.insight p,.empty-chart,.dialog label,.empty-items,.trip-completion{color:var(--color-muted)}.trip-completion.complete{color:var(--color-success)}.items .item-row,.items .item-row:first-child,.city-block,.trip-group,.incidentals-list li,.account-row,.budget-trip-row,.task-row{border-color:var(--color-border)}.items{background:var(--color-surface);border-color:var(--color-border)}.items .item-row{background:var(--color-surface);color:var(--color-ink)}.items .item-row:hover{background:var(--color-soft)}.items .item-row.one-off-expense{background:var(--color-warning-soft)}.item-main strong,.item-amount .amount{color:var(--color-ink)}.item-main .recurrence-tag{background:var(--color-positive-soft);color:var(--color-positive-ink)}.item-main .one-off-tag{background:var(--color-warning-soft);color:var(--color-warning-ink)}.item-flow.income{color:var(--color-success)}.item-flow.expense,.item-flow.one_off_expense{color:var(--color-danger)}.item-flow.savings_transfer{color:var(--color-accent)}.tabs{border-color:var(--color-border)}.tabs button.selected{border-color:var(--color-accent)}.insights .insight{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-border)}.insights .insight.positive{border-left-color:var(--color-success)}.insights .insight.attention{border-left-color:var(--color-warning-ink)}.kpi,.kpi.mint,.kpi.forest,.kpi.amber,.kpi.red{background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-border);box-shadow:none;border-top:3px solid var(--color-accent)}.kpi.mint{border-top-color:var(--color-success)}.kpi.amber{border-top-color:var(--color-warning-ink)}.kpi.red{border-top-color:var(--color-danger)}.kpi p{color:var(--color-muted)}.kpi-icon{color:var(--color-muted);background:var(--color-soft)}.kpi strong{color:var(--color-ink)}input,select,textarea,.dialog input,.dialog select,.dialog textarea{background-color:var(--color-surface);color:var(--color-ink);border-color:var(--color-border)}.month-select select{color:inherit;background:0 0}.primary{background:var(--button-colour);color:var(--button-ink)}.small-action,.recurrence-tag,.city-entry.yes,.trip-chip,.insight.positive .insight-tone{background:var(--color-positive-soft);color:var(--color-positive-ink)}.reconstructed,.one-off-tag,.insight.attention .insight-tone{background:var(--color-warning-soft);color:var(--color-warning-ink)}.city-entry.no,.inline-error,.form-error{background:var(--color-danger-soft);color:var(--color-danger)}.city-entry.unknown,.insight.neutral .insight-tone{background:var(--color-soft);color:var(--color-muted)}.missing-actual{color:var(--color-danger)}.item-row.one-off-expense{background:var(--color-warning-soft);border-left-color:var(--color-warning-ink)}.icon-action:hover,.row-actions .icon-action:hover,.export-link:hover{background:var(--color-soft);border-color:var(--color-accent);color:var(--color-ink)}.icon-action.destructive:hover,.row-actions .icon-action.destructive:hover{background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger)}.status-chip{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-border)}.dialog-actions button:not(.primary):not(.danger),.close,.tabs button,.state button{background:var(--color-soft);color:var(--color-ink)}.tabs button.active,.tabs button.selected{background:var(--color-sidebar-active);color:#fff}.danger{background:var(--color-danger);color:var(--danger-ink)}.dialog-backdrop{background:#050a12a6}.category-track,.incidental-track,.item-amount-track,.track{background:var(--color-soft)}.category-track i,.actual-line,.track .mint{background:var(--color-success)}.incidental-track i,.item-amount-track i{background:var(--color-danger)}.one-off-expense .item-amount-track i,.track .amber{background:var(--color-warning-ink)}.track .forest{background:var(--color-accent)}.flow-dot.income,.trip-legend .yes:before{background:var(--color-success)}.flow-dot.expense,.trip-legend .no:before{background:var(--color-danger)}.flow-dot.savings_transfer,.flow-dot.one_off_expense{background:var(--color-warning-ink)}.status-chip.yes{background:var(--color-positive-soft);color:var(--color-positive-ink)}.status-chip.no{background:var(--color-danger-soft);color:var(--color-danger)}.status-chip.unknown{background:var(--color-soft);color:var(--color-muted)}.forecast-line{background:repeating-linear-gradient(90deg, var(--color-accent) 0 6px, transparent 6px 10px)}.chart-summary{border-left-color:var(--color-accent)}.appearance-bar{justify-content:flex-end;margin-bottom:18px;display:flex}.theme-control{border:1px solid var(--color-border);background:var(--color-soft);color:var(--color-muted);border-radius:10px;flex:none;align-items:center;gap:2px;padding:3px;display:inline-flex}.theme-control button{min-height:34px;color:var(--color-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:11px;font-weight:500;display:inline-flex}.theme-control button:hover{color:var(--color-ink)}.theme-control button[aria-pressed=true]{background:var(--color-surface);border-color:var(--color-border);color:var(--color-accent);box-shadow:0 1px 3px #0000000d}.theme-control button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}:root.theme-changing,:root.theme-changing *,:root.theme-changing :before,:root.theme-changing :after{transition:background-color .3s ease-in-out,color .3s ease-in-out,border-color .3s ease-in-out,box-shadow .3s ease-in-out,fill .3s ease-in-out,stroke .3s ease-in-out!important}@media (width<=700px){.theme-control button{width:36px;min-height:36px;padding:8px}.theme-control button span{display:none}}@media (prefers-reduced-motion:reduce){:root.theme-changing,:root.theme-changing *,:root.theme-changing :before,:root.theme-changing :after{transition:none!important}}a{color:var(--color-accent)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.icon-action:focus-visible,.row-actions .icon-action:focus-visible{outline-color:var(--color-accent)}.icon-action:hover,.row-actions .icon-action:hover{background:var(--color-soft);border-color:var(--color-accent);color:var(--color-ink)}.icon-action.destructive:hover,.row-actions .icon-action.destructive:hover{background:var(--color-danger-soft);border-color:var(--color-danger);color:var(--color-danger)}.invoice-profile summary{cursor:pointer;font-weight:700}.invoice-profile form{margin-top:18px}.invoice-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0;display:grid}.invoice-page label{color:var(--color-muted);gap:6px;font-size:13px;display:grid}.invoice-page input,.invoice-page select,.invoice-page textarea{border:1px solid var(--color-border);width:100%;min-width:0;font:inherit;color:var(--color-ink);background:var(--color-surface);border-radius:6px;padding:10px;font-size:16px}.invoice-editor fieldset{border:1px solid var(--color-border);border-radius:8px;min-width:0;margin:20px 0;padding:16px}.invoice-editor legend{padding:0 6px;font-weight:700}.invoice-line-editor{grid-template-columns:minmax(140px,3fr) minmax(70px,1fr) minmax(90px,1fr) 80px 36px;align-items:end;gap:10px;margin:14px 0;display:grid}.invoice-line-options{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.invoice-actions{flex-wrap:wrap;align-items:center;gap:10px;margin:20px 0;display:flex}.invoice-actions .small-action{align-items:center;gap:6px;display:inline-flex}.invoice-list-head{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:16px;display:flex}.invoice-list-row{text-align:left;border-bottom:1px solid var(--color-border);width:100%;color:var(--color-ink);background:0 0;align-items:center;gap:12px;padding:16px 0;display:flex}.invoice-list-row>span{overflow-wrap:anywhere;flex:1;gap:5px;min-width:0;display:grid}.invoice-list-row small{color:var(--color-muted)}.invoice-list-row:hover{background:var(--color-soft)}.invoice-totals{width:min(100%,350px);margin:24px 0 24px auto}.invoice-totals p{justify-content:space-between;gap:16px;margin:8px 0;display:flex}.invoice-grand-total{border-top:1px solid;padding-top:12px;font-size:18px}.invoice-document{color:#182333;background:#fff;border:1px solid #d4dde7;border-radius:8px;margin:24px 0;padding:clamp(20px,5vw,50px);font-size:14px;line-height:1.6}.invoice-document h2{color:#182333;font-size:30px}.invoice-document .eyebrow{color:#596879}.invoice-document address{overflow-wrap:anywhere;font-style:normal;display:grid}.invoice-document-head{justify-content:space-between;gap:24px;display:flex}.invoice-document-head p{margin:4px 0}.invoice-recipient{margin:40px 0 24px}.invoice-table-wrap{margin-top:30px;overflow-x:auto}.invoice-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.invoice-table th,.invoice-table td{text-align:right;border-bottom:1px solid #d4dde7;padding:10px 6px}.invoice-table th:first-child,.invoice-table td:first-child{text-align:left;overflow-wrap:anywhere;min-width:140px}.invoice-table th{font-size:12px}.invoice-payment,.invoice-notes{white-space:pre-wrap;overflow-wrap:anywhere}.invoice-document .invoice-grand-total{color:#182333}.invoice-document-compact{padding:24px}.invoice-document-compact .invoice-recipient{margin:18px 0}.invoice-document-compact .invoice-table td{padding:6px}.invoice-document-compact .invoice-document-head h2{font-size:24px}.invoice-description{text-align:left!important}.invoice-description small{color:#596879;display:block}.invoice-logo{object-fit:contain;max-width:220px;max-height:100px;margin-bottom:18px;display:block}.invoice-test-removal{border-color:var(--color-danger)}.invoice-test-removal h2{font-size:20px}.invoice-test-removal p{color:var(--color-muted);font-size:13px;line-height:1.7}.login-page{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,80px);min-height:100dvh;padding:clamp(24px,5vw,70px);display:grid}.login-intro h1{margin:18px 0;font-size:clamp(34px,5vw,56px);line-height:1.1}.login-intro>p:not(.eyebrow){color:var(--color-muted);max-width:460px;line-height:1.7}.login-brand{color:var(--brand-color);margin-bottom:48px;font-family:Space Grotesk,sans-serif;font-size:24px;font-weight:600;display:block}.login-features{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.login-features span{border:1px solid var(--color-border);color:var(--color-muted);border-radius:999px;padding:6px 12px;font-size:12px}.login-card{width:100%;min-width:0}.login-card h2{margin-top:8px;font-size:30px}.login-card label{gap:8px;margin:20px 0;display:grid}.login-card input{border:1px solid var(--color-border);border-radius:6px;width:100%;min-width:0;padding:12px;font-size:16px}.login-card .remember-device{color:var(--color-muted);align-items:center;gap:10px;font-size:13px;display:flex}.login-card .remember-device input{width:18px;height:18px;accent-color:var(--color-accent);margin:0}.login-card .primary{justify-content:center;width:100%}.login-hint{color:var(--color-muted);font-size:12px;line-height:1.6}.login-switch{color:var(--color-muted);margin-top:20px;font-size:13px;line-height:1.6}.login-switch a{color:var(--color-accent);font-weight:700}.account-back{width:100%;margin-top:12px}.account-settings{gap:20px;min-width:0;display:grid}.account-profile-page{align-items:start;padding-top:36px;padding-bottom:36px}.password-change h2{font-size:22px}@media (width<=760px){.login-page{grid-template-columns:minmax(0,1fr);gap:24px}.login-brand{margin-bottom:24px}.login-intro h1{font-size:34px}.login-features{display:none}}.account-bar{border-bottom:1px solid var(--color-border);color:var(--color-muted);justify-content:flex-end;align-items:center;gap:16px;padding:10px 24px;font-size:13px;display:flex}@media (width<=650px){.sidebar{flex-wrap:wrap;gap:10px}.sidebar nav{flex-wrap:wrap}.invoice-fields{grid-template-columns:1fr}.invoice-line-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-line-editor>label:first-child{grid-column:1/-1}.invoice-line-options{grid-template-columns:1fr}.invoice-document-head{flex-direction:column}.invoice-list-row>strong{white-space:nowrap;font-size:13px}}@page{size:A4;margin:15mm}@media print{:root,body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#182333!important;background:#fff!important}.sidebar,.appearance-bar,.invoice-screen,.dialog-backdrop{display:none!important}.shell,.content{max-width:none;margin:0;padding:0;display:block}.invoice-document{border:0;border-radius:0;max-width:none;margin:0;padding:0}.invoice-document-head{flex-direction:row}.invoice-table-wrap{overflow:visible}.invoice-table thead{display:table-header-group}.invoice-table tr,.invoice-document-head,.invoice-recipient,.invoice-totals{break-inside:avoid}.invoice-payment,.invoice-notes{break-inside:auto}}:root{--workspace-shadow:0 3px 14px #302f2908}:root[data-theme=dark]{--workspace-shadow:0 3px 14px #00000014}.shell{grid-template-columns:228px minmax(0,1fr);align-items:start}body:has(.account-bar) .shell{min-height:calc(100dvh - 56px)}.sidebar{background:var(--color-surface);height:100dvh;color:var(--color-ink);border-right:1px solid var(--color-border);padding:30px 18px 22px;position:sticky;top:0}body:has(.account-bar) .sidebar{height:calc(100dvh - 56px);top:56px}.brand{letter-spacing:-.05em;gap:10px;padding:0 10px;font-size:22px}.brand-mark{background:var(--brand-color);width:32px;height:32px;color:var(--brand-ink);border-radius:10px}.sidebar-section{color:var(--color-muted);letter-spacing:.14em;margin:44px 12px 14px;font-size:9px;font-weight:700}.sidebar nav{gap:5px;margin:0}.sidebar a{color:var(--color-muted);border:0;border-radius:9px;align-items:center;gap:11px;padding:12px 14px;font-size:13px;font-weight:500;transition:background-color .15s,color .15s;display:flex}.sidebar a:hover{background:var(--color-soft);color:var(--color-ink)}.sidebar a.active{background:var(--color-soft);color:var(--color-accent);border:0;font-weight:700}.sidebar-note{border-color:var(--color-border);gap:7px;margin-top:auto;padding:20px 12px 0}.sidebar-note>svg{color:var(--color-success);margin-bottom:4px}.sidebar-note span,.sidebar-note small{color:var(--color-muted)}.sidebar-note strong{color:var(--color-ink);font-size:12px}.account-bar{z-index:15;background:var(--color-surface);border-color:var(--color-border);gap:12px;height:56px;padding:0 32px;position:sticky;top:0}.account-bar>span:first-child{margin-right:8px;font-size:12px}.account-bar .small-action{min-height:32px;padding:7px 10px;font-size:12px}.content{width:100%;min-width:0;max-width:none;margin:0;padding:26px clamp(20px,2vw,36px) 42px}.appearance-bar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:28px}.workspace-breadcrumb{color:var(--color-muted);align-items:center;gap:9px;font-size:11px;display:flex}.workspace-breadcrumb strong{color:var(--color-ink);font-weight:500}.dashboard-header{align-items:center;gap:24px;margin-bottom:28px}.dashboard-header h1,.trip-page-head h1{letter-spacing:-.045em;font-size:clamp(26px,2.5vw,34px);line-height:1.15}.dashboard-header .subtle,.trip-page-head .subtle{margin-top:8px;font-size:13px;line-height:1.5}.eyebrow{letter-spacing:.12em;font-size:9px}.header-actions{gap:10px}.month-navigation{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;gap:0;padding:3px}.month-navigation button{border:0;border-radius:7px;place-items:center;width:30px;height:34px;padding:0;display:grid}.month-navigation button:hover{background:var(--color-soft)}.month-select{background:0 0;border:0;padding:7px 8px;font-size:12px}.month-select select{font-size:12px;font-weight:500}.export-link{border-radius:10px;min-height:42px;padding:10px 12px;font-size:12px;font-weight:500}.kpis{gap:16px;margin-bottom:24px}.kpi,.kpi.mint,.kpi.forest,.kpi.amber,.kpi.red{border:1px solid var(--color-border);min-height:148px;box-shadow:var(--workspace-shadow);border-radius:14px;padding:20px}.kpi:last-child{background:color-mix(in srgb, var(--color-success) 6%, var(--color-surface))}.kpi.red:last-child{background:color-mix(in srgb, var(--color-danger) 6%, var(--color-surface))}.kpi-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.kpi .kpi-heading p{margin:0;font-size:12px;font-weight:500}.kpi .kpi-icon{background:var(--color-soft);width:32px;height:32px;color:var(--color-accent);border-radius:9px;place-items:center;display:grid;position:static}.kpi.mint .kpi-icon{background:var(--color-positive-soft);color:var(--color-success)}.kpi.amber .kpi-icon{background:var(--color-warning-soft);color:var(--color-warning-ink)}.kpi.red .kpi-icon{background:var(--color-danger-soft);color:var(--color-danger)}.kpi strong{letter-spacing:-.045em;font-variant-numeric:tabular-nums;font-size:clamp(23px,2.2vw,31px);line-height:1.2}.kpi .kpi-caption,.kpi.mint .kpi-caption,.kpi.forest .kpi-caption,.kpi.amber .kpi-caption,.kpi.red .kpi-caption{width:auto;height:auto;color:var(--color-muted);background:0 0;border-radius:0;margin-top:8px;padding:0;font-size:11px;line-height:1.5;display:block;position:static}.grid{gap:20px;margin-bottom:20px}.primary-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.secondary-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}.panel,.insights,.trip-card{border:1px solid var(--color-border);box-shadow:var(--workspace-shadow);border-radius:16px;padding:24px}.insights{background:var(--color-surface)}.panel-title{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:22px;display:flex}.panel-title h2,.budget-heading h2,.insights-title h2{letter-spacing:-.035em;font-size:18px;line-height:1.3}.panel-title .eyebrow{margin-bottom:6px}.cashflow{flex-direction:column;display:flex}.cashflow .composition{display:block}.composition-number{letter-spacing:-.035em;font-variant-numeric:tabular-nums;margin-bottom:24px;font-size:30px}.composition-number small{letter-spacing:0;margin-top:5px;font-size:11px;font-weight:400;display:block}.bars{gap:22px;display:grid}.bar>div:first-child{justify-content:space-between;margin-bottom:9px;font-size:12px;display:flex}.track{border-radius:999px;height:8px}.cashflow-note{color:var(--color-muted);margin:auto 0 0;padding-top:28px;font-size:11px;line-height:1.6}.chart-wrap{margin-top:2px}.chart-legend{gap:16px;font-size:11px}.chart-summary{background:var(--color-soft);border:0;border-radius:9px;margin-top:16px;padding:12px;font-size:11px}.category-bars{gap:16px}.category-bar-label{margin-bottom:6px;font-size:13px}.category-track{height:6px}.category-bar-percentage{color:var(--color-muted);font-size:10px}.category-dot{opacity:.75;width:5px;height:5px}.bar-legend{color:var(--color-muted);font-size:10px}.insights-title{margin-bottom:16px}.insights .insight{border:1px solid var(--color-border);background:var(--color-surface);border-left-width:3px;border-radius:10px;margin:10px 0 0;padding:14px 16px}.insight strong{font-size:12px}.insights .insight p{margin:6px 0 0;font-size:12px;line-height:1.65}.insight-tone{letter-spacing:.06em;border-radius:4px;margin-bottom:6px;padding:3px 6px;font-size:8px}.incidental{margin-top:20px}.empty-incidentals{margin-top:0;font-size:12px}.primary,.small-action{border-radius:8px;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.primary{min-height:38px;padding:10px 14px}.small-action{min-height:32px;padding:7px 10px}.primary:hover{background:color-mix(in srgb, var(--button-colour) 88%, var(--button-ink))}.primary:disabled,.small-action:disabled,.icon-action:disabled{opacity:.5;cursor:not-allowed}.small-action:hover{filter:brightness(.95)}.budget{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--workspace-shadow);border-radius:16px;margin-top:24px;padding:24px}.budget-heading{align-items:center;gap:12px;margin-bottom:22px}.budget-heading .eyebrow{margin-bottom:6px}.tabs{background:var(--color-soft);border:0;border-radius:9px;gap:3px;margin-bottom:8px;padding:4px;display:inline-flex}.tabs button{color:var(--color-muted);background:0 0;border:0;border-radius:6px;padding:8px 12px;font-size:11px}.tabs button:hover{color:var(--color-ink)}.tabs button.selected{background:var(--color-surface);color:var(--color-ink);border:0;box-shadow:0 1px 4px #00000012}.item-bar-legend{margin:10px 0 12px}.items{border:0;border-radius:0;overflow:visible}.items .item-row,.items .item-row:first-child{border-top:0;border-bottom:1px solid var(--color-border);padding:14px 8px}.items .item-row:last-child{border-bottom:0}.item-main{flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;display:flex}.item-main>strong{width:100%;font-size:14px;font-weight:600;line-height:1.4}.item-main>span{margin:0;font-size:12px;line-height:1.5}.item-main .recurrence-tag,.item-main .one-off-tag{letter-spacing:.03em;border-radius:4px;padding:2px 5px;font-size:8px}.item-flow{font-size:11px}.item-amount .amount{font-size:14px}.item-amount-track{height:3px}.row-actions .icon-action,.icon-action{border-color:var(--color-border);border-radius:8px}.flow-dot{width:6px;height:6px}.dashboard-source{color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding:24px 4px 0;font-size:10px;display:flex}.dashboard-source .source{font-size:10px}.dialog{border:1px solid var(--color-border);border-radius:18px;box-shadow:0 20px 80px #00000040}.trip-chips>.trip-metric{border-radius:10px;padding:12px}.trip-actions{background:0 0;border:0;padding:0}.invoice-profile,.invoice-editor,.invoice-list{margin-top:20px}.login-card{border-radius:18px;padding:30px}.disclosure-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:22px;display:flex}.disclosure-title{flex:1;min-width:min(100%,170px)}.disclosure-title .eyebrow{margin-bottom:6px}.disclosure-title h2{letter-spacing:-.035em;font-size:18px;line-height:1.3}.disclosure-summary{color:var(--color-muted);font-variant-numeric:tabular-nums;margin:7px 0 0;font-size:11px}.disclosure-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.disclosure-toggle{background:var(--color-soft);width:36px;height:36px;color:var(--color-muted);border:1px solid #0000;border-radius:8px;flex:none;place-items:center;display:grid}.disclosure-toggle:hover{border-color:var(--color-border);color:var(--color-accent)}.disclosure-toggle svg{transition:transform .15s}.disclosure-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.is-collapsed .disclosure-heading{margin-bottom:0}.disclosure-body[hidden]{display:none!important}.primary-grid:has(.is-collapsed){align-items:start}.cashflow>.disclosure-body:not([hidden]){flex-direction:column;flex:1;display:flex}.budget-tools{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:16px;display:flex}.workspace-search,.invoice-page label.workspace-search{border:1px solid var(--color-border);background:var(--color-surface);width:min(100%,380px);color:var(--color-muted);border-radius:9px;align-items:center;gap:8px;padding:8px 10px;display:flex}.workspace-search:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}.workspace-search input,.invoice-page .workspace-search input{width:100%;min-width:0;color:var(--color-ink);background:0 0;border:0;border-radius:0;outline:none;padding:0;font-size:12px;line-height:1.6}.workspace-search input:focus-visible{outline:none}.workspace-search input::-webkit-search-cancel-button{appearance:none}.workspace-search button{color:var(--color-muted);background:0 0;border-radius:5px;place-items:center;padding:3px;display:grid}.results-count{color:var(--color-muted);font-size:11px}.month-navigation .current-month{justify-content:center;align-items:center;gap:5px;width:auto;margin-left:4px;padding:0 8px;font-size:10px;display:flex}.current-month:disabled{opacity:.4;cursor:default}.trip-search{margin-top:24px}.trip-card.is-collapsed .trip-chips{margin-bottom:0}.trip-list .empty-chart .small-action{margin:12px auto 0;display:block}.trip-search-result[hidden]{display:none!important}@media (width<=1100px){.shell{grid-template-columns:190px minmax(0,1fr)}.content{padding:24px}.kpi,.kpi.mint,.kpi.forest,.kpi.amber,.kpi.red{padding:16px}.dashboard-header{flex-direction:column;align-items:flex-start;gap:18px}}@media (width<=980px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{border-right:0;border-bottom:1px solid var(--color-border);flex-flow:wrap;align-items:center;gap:14px;min-width:0;max-width:100%;height:auto;padding:16px 24px;position:static}body:has(.account-bar) .sidebar{border-right:0;border-bottom:1px solid var(--color-border);flex-flow:wrap;align-items:center;gap:14px;min-width:0;max-width:100%;height:auto;padding:16px 24px;position:static}.brand{padding:0}.sidebar-section,.sidebar-note{display:none}.sidebar nav{gap:4px;margin:0;display:flex}.sidebar a{gap:7px;padding:10px 12px}.primary-grid,.secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.content{padding:20px 16px 32px}.account-bar{gap:8px;padding:0 16px}.account-bar>span:first-child{flex:1;margin:0;font-size:10px}.sidebar{padding:14px 16px}body:has(.account-bar) .sidebar{padding:14px 16px}.sidebar a{padding:8px 10px;font-size:11px}.sidebar a svg{width:15px}.brand{font-size:19px}.brand-mark{width:28px;height:28px}.appearance-bar{margin-bottom:22px}.workspace-breadcrumb{gap:6px;font-size:10px}.dashboard-header{margin-bottom:22px}.dashboard-header h1{font-size:28px}.header-actions{justify-content:space-between;width:100%;margin-top:0}.month-navigation{flex:1;min-width:0;max-width:310px}.month-select{flex:1;justify-content:center;min-width:0}.export-link{padding:10px}.export-link span{display:none}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.kpi,.kpi.mint,.kpi.forest,.kpi.amber,.kpi.red{min-height:138px;padding:14px}.kpi strong{font-size:23px}.kpi .kpi-heading p{font-size:11px}.kpi .kpi-icon{border-radius:7px;width:26px;height:26px}.kpi .kpi-caption{font-size:11px}.grid{gap:16px;margin-bottom:16px}.primary-grid,.secondary-grid{grid-template-columns:1fr}.panel,.insights,.trip-card,.budget{border-radius:14px;padding:20px}.panel-title{flex-wrap:wrap;margin-bottom:20px}.cashflow-note{padding-top:24px}.budget-heading{align-items:flex-start}.budget-heading h2{font-size:17px}.budget-heading .primary{flex-shrink:0;padding:9px;font-size:10px}.items .item-row,.items .item-row:first-child{padding:14px 0}.row-actions .icon-action{width:42px;min-width:42px;height:42px}.item-row .budget-row-actions{min-width:88px}.primary{min-height:42px}.small-action{min-height:36px}.tabs{justify-content:space-between;display:flex}.tabs button{padding:8px 10px}.dashboard-source{padding-top:20px;line-height:1.6}.disclosure-heading{gap:10px}.disclosure-toggle{width:40px;height:40px}.workspace-search,.invoice-page label.workspace-search{width:100%}.workspace-search input,.invoice-page .workspace-search input{font-size:16px}.month-navigation .current-month{width:28px;margin-left:0;padding:0}.current-month span{display:none}.month-select select{max-width:145px}}@media (width<=380px){.sidebar nav{justify-content:space-between;width:100%}.kpi strong{overflow-wrap:anywhere;font-size:20px}.disclosure-actions{flex-wrap:wrap}.month-select{gap:4px;padding-left:4px;padding-right:4px}.month-select select{max-width:110px}}@media print{.account-bar,.workspace-breadcrumb{display:none!important}.shell,.content{padding:0;display:block}.sidebar{display:none!important}}.dialog-backdrop{z-index:100;overscroll-behavior:contain}.budget-import .subtle{font-size:13px;line-height:1.6}.import-template{margin:18px 0}.import-help{color:var(--color-muted);margin-bottom:18px;font-size:12px;line-height:1.6}.import-help summary{cursor:pointer;color:var(--color-ink);font-weight:700}.import-file{gap:8px;margin:14px 0;font-size:13px;display:grid}.import-file input{border:1px solid var(--color-border);border-radius:8px;width:100%;min-width:0;padding:10px}.import-filename{overflow-wrap:anywhere;color:var(--color-muted);font-size:11px}.import-error{white-space:pre-wrap;font-size:12px;line-height:1.6}.import-preview-summary{gap:5px;margin:16px 0;font-size:13px;display:grid}.import-preview-summary span{color:var(--color-muted);font-size:11px}.import-preview-list{max-height:280px;margin:0;padding:0;list-style:none;overflow:auto}.import-preview-list li{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:12px;padding:12px 0;font-size:12px;display:flex}.import-preview-list li>div{overflow-wrap:anywhere;gap:5px;min-width:0;display:grid}.import-preview-list li>div:last-child{text-align:right;flex:none}.import-preview-list span,.import-preview-list small{color:var(--color-muted);font-size:10px}.import-preview-list .is-duplicate{opacity:.65}.settings-page{min-height:100dvh;color:var(--color-ink);background:var(--color-paper);padding:24px clamp(16px,3vw,44px) 44px}.settings-topbar{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-bottom:24px;display:flex}.settings-top-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.settings-brand{letter-spacing:-.04em;align-items:center;gap:9px;font-family:Space Grotesk,sans-serif;font-size:20px;font-weight:600;display:inline-flex}.settings-brand>span{background:var(--brand-color);width:30px;height:30px;color:var(--brand-ink);border-radius:9px;place-items:center;font-size:22px;display:grid}.settings-back{border:1px solid var(--color-border);background:var(--color-surface);min-height:40px;color:var(--color-muted);border-radius:9px;align-items:center;gap:7px;padding:10px 12px;font-size:12px;display:inline-flex}.settings-back:hover{color:var(--color-accent)}.settings-header{align-items:center;margin:28px 0}.settings-header h1{letter-spacing:-.045em;margin:8px 0;font-size:clamp(27px,2.6vw,36px)}.settings-header p:not(.eyebrow){color:var(--color-muted);margin:0;font-size:13px;line-height:1.6}.settings-current-user{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:flex}.settings-current-user>div{gap:4px;display:grid}.settings-current-user strong{font-size:13px}.settings-current-user small{color:var(--color-muted);font-size:10px}.settings-avatar{background:var(--color-soft);width:38px;height:38px;color:var(--color-accent);border-radius:11px;flex:none;place-items:center;font-family:Space Grotesk,sans-serif;font-size:16px;font-weight:600;display:grid}.settings-layout{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:28px;display:grid}.settings-nav{position:sticky;top:24px}.settings-nav>div{gap:6px;display:grid}.settings-nav button{width:100%;min-height:44px;color:var(--color-muted);text-align:left;background:0 0;border-radius:9px;align-items:center;gap:10px;padding:13px;font-size:13px;display:flex}.settings-nav button svg:last-child{opacity:.5;margin-left:auto}.settings-nav button:hover{background:var(--color-soft)}.settings-nav button[aria-selected=true]{background:var(--color-soft);color:var(--color-accent);font-weight:600}.settings-nav-note{color:var(--color-muted);border-top:1px solid var(--color-border);align-items:flex-start;gap:8px;margin-top:24px;padding:18px 10px;font-size:11px;line-height:1.6;display:flex}.settings-nav-note svg{flex:none;margin-top:2px}.settings-content{min-width:0}.settings-profile-layout,.settings-security-layout{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:20px;display:grid}.settings-card{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--workspace-shadow);border-radius:16px;min-width:0;padding:28px}.settings-card h2,.settings-content .password-change h2{letter-spacing:-.04em;margin:0;font-size:23px}.settings-card-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.settings-card-head>svg{color:var(--color-muted);flex:none}.settings-card-head p{max-width:620px;color:var(--color-muted);margin:9px 0 0;font-size:13px;line-height:1.7}.settings-card label{color:var(--color-ink);gap:8px;margin:22px 0;font-size:13px;font-weight:500;display:grid}.settings-card input{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-width:0;color:var(--color-ink);border-radius:8px;padding:12px;font-size:16px}.settings-card input:autofill{box-shadow:0 0 0 1000px var(--color-surface) inset}.settings-card input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;-webkit-text-fill-color:var(--color-ink)}.settings-login-info{border:1px solid var(--color-border);background:var(--color-soft);border-radius:10px;gap:5px;margin:16px 0;padding:16px;display:grid}.settings-login-info>span,.settings-login-info>small{color:var(--color-muted);font-size:11px}.settings-login-info>strong{font-size:14px}.settings-email-empty{border:1px dashed var(--color-border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0;padding:15px;display:flex}.settings-email-empty>svg{color:var(--color-muted)}.settings-email-empty>div{flex:1;min-width:140px}.settings-email-empty strong{font-size:12px}.settings-email-empty p{color:var(--color-muted);margin:5px 0 0;font-size:11px}.settings-link{color:var(--color-accent);background:0 0;padding:0;font-size:12px}.settings-verification{border:1px solid var(--color-border);background:var(--color-soft);border-radius:10px;padding:0 16px 16px}.settings-verification p{color:var(--color-muted);margin:0;font-size:11px;line-height:1.6}.settings-success{color:var(--color-positive-ink);background:var(--color-positive-soft);border-radius:8px;align-items:center;gap:7px;padding:12px;font-size:12px;line-height:1.6;display:flex}.settings-form-footer{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;padding-top:20px;display:flex}.settings-form-footer>span{color:var(--color-muted);font-size:11px}.settings-info-card{border:1px solid var(--color-border);background:var(--color-soft);color:var(--color-muted);border-radius:14px;padding:24px}.settings-info-card>svg{color:var(--color-accent);margin-bottom:15px}.settings-info-card h2{color:var(--color-ink);margin-bottom:10px;font-size:16px}.settings-info-card p{margin:10px 0 20px;font-size:12px;line-height:1.8}.settings-info-card>div{border-top:1px solid var(--color-border);gap:6px;padding:14px 0;font-size:11px;display:grid}.settings-info-card strong{color:var(--color-ink);overflow-wrap:anywhere;font-size:12px}.settings-content .password-change{width:100%;padding:28px}.settings-content .password-change .primary{width:auto;min-height:40px;padding:10px 18px}.settings-content .password-change .subtle{margin:10px 0 24px;font-size:13px;line-height:1.7}.user-list-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.settings-segmented{background:var(--color-soft);border-radius:9px;gap:4px;padding:4px;display:flex}.settings-segmented button{color:var(--color-muted);background:0 0;border-radius:6px;padding:8px 12px;font-size:12px}.settings-segmented button[aria-pressed=true]{background:var(--color-surface);color:var(--color-ink);box-shadow:0 1px 4px #0000000d}.settings-segmented button span{opacity:.65;margin-left:6px;font-size:10px}.settings-card .workspace-search{margin:0;display:flex}.settings-card .workspace-search input{background:0 0;border:0;padding:0;font-size:13px}.settings-note{color:var(--color-muted);font-size:11px;line-height:1.6}.managed-user{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) 220px 140px;align-items:center;gap:20px;padding:20px 0;display:grid}.managed-user:last-child{border-bottom:0}.managed-user-identity{align-items:center;gap:12px;min-width:0;display:flex}.managed-user-identity>div{overflow-wrap:anywhere;gap:5px;min-width:0;display:grid}.managed-user-identity strong{font-size:14px}.managed-user-identity span:not(.settings-avatar){color:var(--color-muted);font-size:12px}.settings-role{color:var(--color-accent);font-size:9px;font-weight:600}.managed-user-activity{gap:6px;min-width:0;display:grid}.managed-user-activity>span{color:var(--color-muted);font-size:10px}.managed-user-activity time{color:var(--color-ink);font-size:12px}.managed-user-activity small{color:var(--color-muted);font-size:10px}.managed-user-action{justify-self:end}.settings-remove{background:var(--color-danger-soft);color:var(--color-danger)}.settings-empty{color:var(--color-muted);place-items:center;gap:12px;padding:40px 16px;font-size:13px;display:grid}@media (width<=1100px){.settings-profile-layout,.settings-security-layout{grid-template-columns:minmax(0,1fr)}.settings-info-card{display:none}.managed-user{grid-template-columns:minmax(0,1fr) 190px 120px;gap:12px}}@media (width<=760px){.settings-page{padding:16px}.settings-topbar{padding-bottom:18px}.settings-brand{font-size:17px}.settings-back{padding:8px;font-size:10px}.settings-header{margin:24px 0;display:block}.settings-header h1{font-size:28px}.settings-current-user{width:fit-content;margin-top:18px}.settings-layout{grid-template-columns:minmax(0,1fr);gap:20px}.settings-nav{position:static}.settings-nav>div{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:5px}.settings-nav button{background:var(--color-surface);border:1px solid var(--color-border);justify-content:center;gap:5px;padding:10px 6px;font-size:12px}.settings-nav button svg:last-child,.settings-nav-note{display:none}.settings-card,.settings-content .password-change{border-radius:14px;padding:20px}.settings-card h2,.settings-content .password-change h2{font-size:21px}.settings-card-head{flex-wrap:wrap}.settings-form-footer .primary{width:100%;min-height:44px}.managed-user{grid-template-columns:minmax(0,1fr);gap:14px}.managed-user-action{justify-self:start}.managed-user-activity{padding-left:50px}.user-list-tools .workspace-search{width:100%}.settings-email-empty .small-action{width:100%;min-height:40px}.settings-content .password-change .primary{width:100%;min-height:44px}}@media (width<=400px){.settings-nav button svg{display:none}}.palette-presets{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0 30px;display:grid}.palette-presets button{text-align:left;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);border-radius:10px;gap:14px;padding:16px;display:grid}.palette-presets button[aria-pressed=true]{border-color:var(--color-accent);outline:1px solid var(--color-accent)}.palette-presets strong{font-size:12px}.palette-swatches{gap:4px;display:flex}.palette-swatches i{border:1px solid #0000001f;border-radius:50%;width:24px;height:24px;display:block}.palette-settings h3{font-size:16px}.palette-colours{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 20px;display:grid}.palette-colours label>div{align-items:center;gap:10px;display:flex}.palette-colours input[type=color]{cursor:pointer;width:48px;height:42px;padding:4px}.palette-colours code{color:var(--color-muted);font-size:12px}@media (width<=760px){.palette-presets,.palette-colours{grid-template-columns:repeat(2,minmax(0,1fr))}.palette-presets button{padding:12px}}@media (width<=400px){.palette-colours{grid-template-columns:1fr}}.financial-page-bar{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;margin:0 0 24px;display:flex}.financial-page-tabs{gap:24px;margin:0;display:flex}.financial-page-tabs button{color:var(--color-muted);background:0 0;border-bottom:2px solid #0000;padding:10px 2px 12px;font-size:13px;font-weight:500}.financial-page-tabs button[aria-selected=true]{color:var(--color-ink);border-color:var(--color-accent)}.detail-workspace #signals-title,.detail-workspace #budget{scroll-margin-top:76px}.overview-landing{padding-top:30px;padding-bottom:30px}.overview-landing .dashboard-header{margin-bottom:26px}.overview-landing .financial-page-bar{margin-bottom:16px}.overview-customize-bar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.overview-customize-bar>p{color:var(--color-muted);margin:0;font-size:12px}.overview-summary{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:22px;display:grid}.overview-widget{grid-column:span 6;min-width:0}.overview-widget:only-child,.widget-signals{grid-column:1/-1}.summary-budget-space,.summary-simple-card,.overview-widget .panel{border:1px solid var(--color-border);background:var(--color-surface);min-width:0;box-shadow:none;border-radius:18px;padding:28px}.summary-section-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.summary-section-head h2,.summary-simple-card h2{letter-spacing:-.025em;font-size:19px;line-height:1.4}.summary-section-head p,.summary-simple-card>p{color:var(--color-muted);margin:6px 0 0;font-size:12px;line-height:1.7}.summary-section-head .summary-kicker,.summary-kicker{letter-spacing:.12em;color:var(--color-muted);margin:0 0 7px;font-size:10px;font-weight:600}.summary-status{background:var(--color-soft);color:var(--color-muted);white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:10px}.summary-status.attention{background:var(--color-danger-soft);color:var(--color-danger)}.summary-space-amount{flex-wrap:wrap;align-items:baseline;gap:12px;margin:32px 0 8px;display:flex}.summary-space-amount strong{letter-spacing:-.05em;color:var(--color-ink);font-variant-numeric:tabular-nums;font-size:clamp(36px,3.6vw,56px);line-height:1.2}.summary-space-amount span{color:var(--color-muted);font-size:13px}.has-deficit .summary-space-amount strong{color:var(--color-danger)}.summary-space-note{color:var(--color-muted);margin:0 0 28px;font-size:12px;line-height:1.7}.summary-income{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 12px;display:flex}.summary-income dt{color:var(--color-muted);font-size:12px}.summary-income dd{font-variant-numeric:tabular-nums;margin:0;font-size:15px;font-weight:600}.summary-space-meter{background:var(--color-soft);border-radius:8px;gap:3px;height:36px;display:flex;overflow:hidden}.summary-space-meter>span{min-width:0}.summary-space-planned{gap:3px;display:flex}.summary-space-expense{background:var(--overview-spending)}.summary-space-saving{background:var(--overview-saving)}.summary-space-free{background:var(--overview-free)}.has-deficit .summary-space-expense,.has-deficit .summary-space-saving{background:var(--color-danger)}.summary-space-planned.corrected>span{background:var(--overview-saving)}.summary-space-breakdown{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0 28px;display:grid}.summary-space-breakdown dt{color:var(--color-muted);align-items:center;gap:6px;font-size:11px;display:flex}.summary-space-breakdown dd{font-variant-numeric:tabular-nums;margin:7px 0 0;font-size:14px}.summary-space-breakdown>div:last-child dd{color:var(--color-muted);font-size:11px}.summary-dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.summary-dot.spending{background:var(--overview-spending)}.summary-dot.saving{background:var(--overview-saving)}.summary-dot.free{background:var(--overview-free);border:1px solid var(--color-muted)}.summary-dot.deficit,.has-deficit .summary-dot.spending,.has-deficit .summary-dot.saving{background:var(--color-danger)}.summary-card-footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding-top:18px;display:flex}.summary-card-footer>span{color:var(--color-muted);font-size:10px}.summary-text-action{color:var(--color-accent);text-align:left;background:0 0;align-items:center;gap:7px;padding:5px 0;font-size:12px;font-weight:500;display:inline-flex}.summary-text-action:focus-visible,.summary-signal:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:4px}.summary-wealth-amount{letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:26px 0 10px;font-size:32px;display:block}.summary-simple-card>.summary-text-action{margin-top:24px}.summary-total-list{margin:18px 0 0}.summary-total-list>div{border-top:1px solid var(--color-border);justify-content:space-between;gap:12px;padding:16px 0;display:flex}.summary-total-list dt{color:var(--color-muted);font-size:13px}.summary-total-list dd{font-variant-numeric:tabular-nums;margin:0;font-size:18px}.overview-networth-amount{gap:6px;margin:0 0 18px;display:grid}.overview-networth-amount strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:30px}.overview-networth-amount span{color:var(--color-muted);font-size:11px}.widget-forecast .panel-title{margin-bottom:20px}.widget-forecast .disclosure-heading{min-width:0}.widget-forecast .panel-title{flex-wrap:wrap}.widget-forecast .panel-title h2{font-size:18px}.widget-forecast .chart-summary{background:0 0;border:0;margin:10px 0 0;padding:10px 0 0;font-size:11px;line-height:1.7}.summary-signals{padding:8px 0 0}.summary-signal-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:20px;display:grid}.summary-signal-list:has(>.summary-signal:nth-child(2)):not(:has(>.summary-signal:nth-child(3))){grid-template-columns:repeat(2,minmax(0,1fr))}.summary-signal{text-align:left;border-top:1px solid var(--color-border);width:100%;color:var(--color-ink);background:0 0;align-items:flex-start;gap:12px;padding:18px 0;display:flex}.summary-signal-icon{background:var(--color-soft);width:28px;height:28px;color:var(--color-muted);border-radius:50%;flex:none;place-items:center;display:grid}.summary-signal.positive .summary-signal-icon{background:var(--color-positive-soft);color:var(--color-success)}.summary-signal.attention .summary-signal-icon{background:var(--color-warning-soft);color:var(--color-warning-ink)}.summary-signal-copy{flex:1;gap:7px;min-width:0;display:grid}.summary-signal-copy strong{font-size:13px;font-weight:600}.summary-signal-body{color:var(--color-muted);font-size:12px;line-height:1.7}.summary-signal-arrow{color:var(--color-muted);flex:none;margin-top:6px}.summary-no-signals{color:var(--color-muted);border-top:1px solid var(--color-border);grid-column:1/-1;align-items:flex-start;gap:10px;padding:18px 0;display:flex}.summary-no-signals svg{flex:none}.summary-no-signals p{margin:0;font-size:12px;line-height:1.7}.overview-customize{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;margin-bottom:24px;padding:24px}.overview-widget-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0;display:grid}.overview-widget-choices label{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.overview-widget-choices input{width:16px;height:16px;accent-color:var(--color-accent);flex:none;margin-top:3px}.overview-widget-choices label span{gap:5px;display:grid}.overview-widget-choices strong{font-size:13px;font-weight:500}.overview-widget-choices small{color:var(--color-muted);font-size:11px;line-height:1.6}.overview-widget-order{gap:6px;margin:0;padding:0;list-style:none;display:grid}.overview-widget-order li{background:var(--color-soft);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-size:12px;display:flex}.overview-widget-order li>div{gap:6px;display:flex}.overview-widget-order button{border:1px solid var(--color-border);background:var(--color-surface);width:32px;height:32px;color:var(--color-ink);border-radius:6px;place-items:center;padding:0;display:grid}.overview-widget-order button:disabled{opacity:.35;cursor:default}.overview-empty{text-align:center}.overview-landing .dashboard-source{padding-top:24px;font-size:10px}@media (width>=1600px){.overview-landing{padding-inline:36px}}@media (width<=1100px){.widget-budget,.widget-forecast{grid-column:1/-1}.summary-signal-list{grid-template-columns:1fr;gap:0}.summary-signal-list:has(>.summary-signal:nth-child(2)):not(:has(>.summary-signal:nth-child(3))){grid-template-columns:1fr}.overview-widget-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.overview-landing{padding:20px 16px}.overview-landing .dashboard-header{gap:14px;margin-bottom:18px}.overview-landing .dashboard-header h1{font-size:25px}.overview-landing .dashboard-header .eyebrow{display:none}.financial-page-tabs{gap:20px}.financial-page-tabs button{font-size:12px}.overview-customize-bar{align-items:flex-start}.overview-customize-bar>p{max-width:90px;font-size:11px;line-height:1.7}.overview-summary{gap:20px}.overview-widget{grid-column:1/-1}.summary-budget-space,.summary-simple-card,.overview-widget .panel{border-radius:14px;padding:20px}.summary-section-head h2{font-size:17px}.summary-status{padding:5px 7px;font-size:9px}.summary-space-amount{gap:6px;margin-top:26px}.summary-space-amount span{flex-basis:100%}.summary-space-breakdown{grid-template-columns:1fr;gap:14px}.summary-space-breakdown>div{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.summary-space-breakdown dd{margin:0}.summary-card-footer{flex-wrap:wrap}.summary-space-meter{height:30px}.summary-signal-list{gap:0}.overview-customize{padding:18px}.overview-customize .summary-section-head{flex-direction:column}.overview-widget-choices{grid-template-columns:1fr}.widget-forecast .panel-title{flex-wrap:wrap}}.trip-page{width:100%;min-width:0}.trip-route-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:24px 0 12px;display:flex}.trip-progress{min-width:150px;max-width:400px;color:var(--color-muted);flex:1;gap:9px;font-size:12px;display:grid}.trip-progress strong{color:var(--color-ink);font-weight:600}.trip-progress>div{background:var(--color-soft);border-radius:5px;height:5px;overflow:hidden}.trip-progress i{background:var(--color-success);height:100%;display:block}.trip-open-filter{color:var(--color-muted);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:inline-flex}.trip-open-filter input{width:16px;height:16px;accent-color:var(--color-accent)}.trip-budget-note{color:var(--color-muted);margin:8px 0;font-size:11px;line-height:1.7}.trip-route{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:18px;margin-top:20px;display:grid}.trip-route .city-block{border:1px solid var(--color-border);border-radius:12px;min-width:0;margin:0;padding:20px}.trip-route .city-block h3{align-items:flex-start;gap:12px;margin-bottom:18px;font-size:15px;display:flex}.city-step{background:var(--color-soft);width:28px;height:28px;color:var(--color-accent);border-radius:50%;flex:none;place-items:center;font-size:12px;display:grid}.city-heading{gap:6px;min-width:0;display:grid}.city-heading .city-date-range{color:var(--color-muted);font-size:11px;font-weight:400}.trip-route .city-grid{grid-template-columns:1fr;gap:14px}.trip-route .city-cell{border-top:1px solid var(--color-border);background:0 0;border-radius:0;min-height:0;padding:14px 0 0}.trip-route .city-cell>strong{letter-spacing:.08em;font-size:10px}.trip-route .city-entry{color:var(--color-ink);background:0 0;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:4px 0;display:grid}.trip-route .city-entry>span{grid-column:1/-1;font-size:12px}.trip-route .city-entry .status-chip{grid-area:auto/1;justify-self:start}.trip-route .city-entry .icon-action{grid-area:auto/2;justify-self:end}.trip-route .trip-item-amounts{flex-wrap:wrap;grid-column:1/-1;gap:5px 18px;margin-top:2px;display:flex}.trip-route .missing-actual{flex-basis:100%}.status-chip{min-height:32px}.trip-group .city-entry{flex-wrap:wrap}.trip-group .task-row{align-items:center;gap:12px;padding:12px 0;display:flex}.dialog-backdrop{padding:16px}.dialog{overscroll-behavior:contain;max-height:calc(100dvh - 32px);overflow-y:auto}@media (width<=700px){.trip-route .city-block{padding:16px}.trip-route-tools{gap:16px}.trip-open-filter{min-height:36px}}@media screen{:root{--page-inline:clamp(16px, 2vw, 36px)}.content,.settings-page,.login-page{width:100%;min-width:0;max-width:none;padding-inline:var(--page-inline);margin-inline:0}.overview-landing,.detail-workspace,.trip-page,.invoice-page{width:100%;min-width:0;max-width:none;margin-inline:0}.invoice-document,.invoice-profile,.invoice-editor,.invoice-list,.invoice-test-removal,.settings-content,.settings-content .password-change{width:100%;min-width:0;max-width:none}.login-intro,.login-card,.invoice-document-head>div,.form-grid>*,.city-date-pair>*{min-width:0}.dialog-backdrop{padding:16px;padding-bottom:max(16px, env(safe-area-inset-bottom))}.dialog{width:min(100%,760px);max-width:100%;max-height:calc(100dvh - 32px - env(safe-area-inset-bottom));min-width:0;overflow:auto}.dialog input,.dialog select,.dialog textarea{width:100%;min-width:0;max-width:100%}.dialog input[type=checkbox],.dialog input[type=radio]{width:auto}h1,h2,h3,.trip-card,.settings-current-user,.invoice-actions{overflow-wrap:anywhere}}@media screen and (width<=700px){:root{--page-inline:16px}.content,.settings-page,.login-page{padding-block:20px}.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.sidebar a{justify-content:center;min-height:44px;padding:10px 6px}.appearance-bar,.financial-page-bar,.trip-page-head,.invoice-list-head,.budget-heading{flex-wrap:wrap}.financial-page-tabs{flex:1;gap:16px}.theme-control{margin-left:auto}.theme-control button{width:40px;min-height:40px}.trip-page-head>div{flex:180px;min-width:0}.primary,.small-action,.danger,.status-chip,.dialog-actions button,.settings-back,.settings-nav button,.palette-presets button{min-height:44px}.icon-action,.row-actions .icon-action,.disclosure-toggle{min-width:44px;min-height:44px}.account-bar{flex-wrap:wrap;height:auto;min-height:56px;padding-block:6px}.account-bar>span:first-child{overflow-wrap:anywhere;min-width:0}.settings-top-actions{justify-content:space-between;width:100%;margin-left:0}.settings-nav>div{flex-wrap:wrap;display:flex}.settings-nav button{flex:110px;width:auto}.settings-current-user{max-width:100%}.settings-current-user>div{min-width:0}.invoice-actions{align-items:stretch}.invoice-actions>label{flex-basis:100%}.invoice-line-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-line-editor>label:first-child{grid-column:1/-1}.invoice-line-editor>*{min-width:0}.invoice-line-options,.invoice-fields{grid-template-columns:1fr}.invoice-document{padding:18px}.invoice-document-head{flex-direction:column;gap:18px}.invoice-recipient{margin-top:24px}.invoice-table-wrap{overflow:visible}.invoice-table,.invoice-table tbody{width:100%;display:block}.invoice-table thead{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.invoice-table tbody tr{border-top:1px solid #d4dde7;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px 0;display:grid}.invoice-table td,.invoice-table td:first-child{text-align:left;overflow-wrap:anywhere;border:0;min-width:0;padding:0;display:grid}.invoice-table td:before{content:attr(data-label);color:#596879;font-size:10px;font-weight:500}.invoice-table .invoice-description{grid-column:1/-1}.invoice-table .invoice-description small{margin-top:3px}.dialog-backdrop{padding:12px;padding-bottom:max(12px, env(safe-area-inset-bottom))}.dialog{width:100%;max-height:calc(100dvh - 24px - env(safe-area-inset-bottom));padding:24px 18px}.dialog-actions{flex-wrap:wrap;gap:10px;display:flex}.dialog-actions>button{flex:100px}.form-grid,.city-date-pair{grid-template-columns:minmax(0,1fr)}.city-form-row>.city-date-pair{grid-column:1/-1}.form-section-head{flex-wrap:wrap}.task-row .status-chip{flex:none}.task-row>span{min-width:0}}.requirement-field{gap:8px;min-width:0;margin:20px 0;display:grid}.requirement-field-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.login-card .requirement-field-heading label,.settings-card .requirement-field-heading label{margin:0;font-size:13px;display:block}.requirement-info{width:32px;height:32px;color:var(--color-muted);background:0 0;border-radius:6px;flex:none;place-items:center;padding:0;display:grid}.requirement-info:hover,.requirement-info[aria-expanded=true]{color:var(--color-accent);background:var(--color-soft)}.field-requirements-popup{z-index:120;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);border-radius:12px;max-height:calc(100dvh - 24px);padding:16px;font-size:12px;position:fixed;overflow:auto;box-shadow:0 8px 32px #00000026}.field-requirements-popup>strong{margin-bottom:12px;font-size:13px;display:block}.field-requirements-popup ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.field-requirements-popup li{color:var(--color-muted);align-items:center;gap:8px;line-height:1.5;display:flex}.field-requirements-popup li svg{flex:none}.field-requirements-popup li.met{color:var(--color-success)}.field-requirements-popup p{color:var(--color-muted);margin:12px 0 0;font-size:11px;line-height:1.7}@media (width<=700px){.requirement-info{width:40px;height:40px}}
