:root{--navy:#173c4a;--ink:#203944;--muted:#70818a;--mint:#c5efdd;--green:#207e61;--line:#e6ece9;--paper:#f6f8f5;--white:#fff}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans KR,sans-serif;font-size:16px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #48a991}button{transition:background .15s,transform .15s}button:active{transform:translateY(1px)}h1,h2,h3,p{margin:0}h1{letter-spacing:-1.1px;font-size:32px;line-height:1.3}h2{letter-spacing:-.5px;font-size:21px}h3{font-size:18px}.app{min-height:100vh}.sidebar{border-right:1px solid var(--line);z-index:10;background:#fff;flex-direction:column;width:228px;padding:36px 22px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-1.2px;white-space:nowrap;align-items:center;gap:11px;font-size:24px;font-weight:800;text-decoration:none;display:flex}.brand-mark{background:var(--navy);color:#c5efdd;border-radius:11px;flex:none;place-items:center;width:35px;height:35px;font-size:23px;font-weight:700;display:inline-grid}.brand-caption{color:var(--muted);margin:13px 0 42px 8px;font-size:14px}.sidebar nav{flex-direction:column;gap:10px;display:flex}.sidebar nav button{color:#72818a;text-align:left;white-space:nowrap;background:0 0;border-radius:12px;align-items:center;gap:12px;padding:15px;font-weight:600;display:flex}.sidebar-bottom{color:#607971;align-items:center;gap:10px;margin-top:auto;padding:16px 2px;font-size:14px;display:flex}.sidebar-bottom small{color:#8b9b94;margin-top:3px;font-size:12px;display:block}.topbar{border-bottom:1px solid var(--line);background:#ffffffb8;justify-content:space-between;align-items:center;height:78px;padding:0 42px;display:flex}.breadcrumbs{color:#6c7d85;font-size:14px}.breadcrumbs span{color:#acb5b7;padding:0 12px}.private-badge{color:#697e76;align-items:center;gap:6px;font-size:13px;display:flex}.content{max-width:1220px;margin:auto;padding:28px 42px 24px}.demo-banner{color:#65766c;background:#edf2ef;border:1px solid #e0e7e1;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:28px;padding:11px 15px;font-size:14px;display:flex}.demo-banner>span{align-items:center;gap:8px;display:flex}.demo-banner button{color:#316e53;white-space:nowrap;text-underline-offset:4px;background:0 0;font-weight:700;text-decoration:underline}.page-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:25px;display:flex}.eyebrow{color:#7a8d88;letter-spacing:1.65px;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.month-control{background:#fff;border:1px solid #e0e6e2;border-radius:12px;align-items:center;gap:10px;padding:8px;display:flex}.month-control button{color:#789089;background:0 0;place-items:center;padding:5px;display:grid}.month-control label{white-space:nowrap;font-size:16px;font-weight:600;position:relative}.month-control input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.hero-card{background:var(--navy);color:#fff;border-radius:23px;padding:30px 34px 25px;position:relative;overflow:hidden;box-shadow:0 8px 22px #143b4412}.hero-top{color:#d6e6e2;justify-content:space-between;align-items:center;gap:10px;display:flex}.hero-top>span:first-child{align-items:center;gap:10px;font-weight:500;display:flex}.hero-badge{color:#d5e7df;background:#31535c;border:1px solid #53716f;border-radius:24px;padding:5px 12px;font-size:12px}.hero-amount{letter-spacing:-1.7px;color:#d1f7e4;font-variant-numeric:tabular-nums;margin-top:13px;font-size:55px;font-weight:700;line-height:1.35}.unit{letter-spacing:0;margin-left:5px;font-size:.5em;font-weight:500}.hero-description{color:#acc7c8;margin-top:10px;font-size:14px}.hero-divider{background:#48646d;height:1px;margin:24px 0 18px}.hero-bottom{color:#b7cecf;justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.hero-bottom b{color:#e8f6f0;margin-left:12px;font-size:18px;font-weight:600}.hero-bottom .unit{font-size:13px}.expected-chip{color:#d4e8e0;background:#264b55;border-radius:8px;padding:6px 10px;font-size:12px}.expected-chip .unit{font-size:12px}.summary-grid{grid-template-columns:repeat(4,1fr);gap:15px;margin-top:19px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:18px;padding:25px}.metric{text-align:left;flex-direction:column;align-items:flex-start;min-width:0;padding:22px 20px;display:flex;position:relative}.metric:hover{background:#fcfefb}.metric-icon{border-radius:10px;place-items:center;width:35px;height:35px;margin-bottom:15px;display:grid}.green{color:#388566;background:#e4f4ea}.peach{color:#bf8d6e;background:#fbede5}.blue{color:#618cad;background:#e6eff7}.purple{color:#917bb3;background:#efebf7}.metric-label{color:#6d7e82;white-space:nowrap;font-size:14px}.metric strong{letter-spacing:-.5px;white-space:nowrap;margin-top:4px;font-size:24px}.metric strong .unit{font-size:13px}.metric small{color:#8b9698;margin-top:6px;font-size:12px}.workspace-grid{grid-template-columns:1.35fr 1fr;gap:20px;margin-top:25px;display:grid}.section-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}.section-heading p{color:#87958f;margin-top:4px;font-size:14px}.text-button{color:#5b8072;white-space:nowrap;background:0 0;padding:7px 0;font-size:14px;font-weight:600}.income-row{border-top:1px solid #eef2ef;align-items:center;gap:6px;display:flex}.income-main{text-align:left;background:0 0;align-items:center;gap:12px;width:100%;min-width:0;padding:19px 0;display:flex}.income-icon{color:#6c9380;background:#eff5f0;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid}.income-icon.salary{color:#6b87a0;background:#eff3f7}.income-desc{flex:1;min-width:0}.income-desc>b{flex-wrap:wrap;align-items:center;gap:7px;font-size:15px;font-weight:650;display:flex}.income-desc small{color:#8c9895;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;display:block;overflow:hidden}.status{white-space:nowrap;border-radius:5px;padding:2px 5px;font-size:10px;font-weight:500}.status.received{color:#678c72;background:#eff6f0}.status.expected{color:#ad8c42;background:#fcf2df}.income-amount{text-align:right;flex-shrink:0;min-width:0}.income-amount strong{letter-spacing:-.2px;white-space:nowrap;font-size:17px;font-weight:650}.income-amount .unit{font-size:11px}.income-amount small{color:#8c9895;margin-top:5px;font-size:12px;display:block}.quick-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:15px;display:grid}.quick-actions button{color:#4a7061;background:#fff;border:1px solid #dee7df;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:13px 8px;font-size:14px;font-weight:600;display:flex}.quick-actions button.mint{background:#e9f5ed;border-color:#e3efe6}.allocation-bar{background:#f1f5f1;border-radius:6px;gap:3px;height:15px;margin:31px 0 26px;display:flex;overflow:hidden}.allocation-legend{gap:13px;font-size:14px;display:grid}.allocation-legend>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.allocation-legend span{color:#75847c;align-items:center;gap:8px;display:flex}.allocation-legend i{border-radius:3px;width:8px;height:8px}.allocation-legend b{font-size:14px;font-weight:600}.allocation-legend .unit{font-size:12px}.plan-note{color:#829289;border-top:1px solid var(--line);align-items:flex-start;gap:8px;margin-top:22px;padding:13px 0;font-size:12px;display:flex}.plan-note svg{flex:none}.wide-subtle{color:#597568;background:#f3f6f1;border-radius:9px;width:100%;padding:10px;font-size:13px;font-weight:600}.tax-teaser{background:#eef2ed;border:1px solid #e6eae2;border-radius:15px;align-items:center;gap:16px;margin-top:22px;padding:23px 25px;display:flex}.tax-icon{color:#718d71;background:#fff;border-radius:12px;flex:none;place-items:center;width:44px;height:44px;display:grid}.tax-teaser h3{font-size:16px}.tax-teaser p{color:#86917e;margin-top:4px;font-size:13px}.tax-teaser button{white-space:nowrap;color:#6c8260;background:#fff;border:1px solid #d9e2d2;border-radius:9px;margin-left:auto;padding:10px 16px;font-size:13px;font-weight:600}footer{color:#98a29a;align-items:center;gap:6px;margin-top:28px;font-size:11px;display:flex}footer .footer-right{margin-left:auto}.mobile-brand,.mobile-nav{display:none}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.segmented{background:#edf1ed;border-radius:10px;gap:4px;max-width:100%;padding:4px;display:flex;overflow-x:auto}.segmented button{white-space:nowrap;color:#75857c;background:0 0;border-radius:8px;padding:9px 13px;font-size:14px}.segmented button.selected{color:#2c674e;background:#fff;font-weight:600;box-shadow:0 1px 5px #183e3810}.toolbar-actions{gap:10px;display:flex}.primary,.secondary{border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:15px;font-weight:600;display:flex}.primary{color:#fff;background:#28765e}.secondary{color:#436653;background:#fff;border:1px solid #dbe4de}.income-summary{justify-content:space-between;align-items:center;gap:15px;margin:28px 0;display:flex}.income-summary span{color:#74867d;font-size:14px}.income-summary strong{letter-spacing:-1px;font-size:32px;display:block}.income-summary strong .unit{font-size:16px}.search-label{border:1px solid var(--line);color:#91a296;background:#fff;border-radius:10px;align-items:center;gap:7px;padding:9px 12px;display:flex}.search-label input{outline:none;min-width:0;font-size:14px;border:0!important;padding:0!important}.income-table-head{color:#8b9890;justify-content:space-between;padding-bottom:10px;font-size:13px;display:flex}.row-actions{gap:4px;padding-left:8px;display:flex}.row-actions button{color:#8ba393;background:0 0;padding:8px}.footnote{color:#829389;margin-top:15px;font-size:13px}.section-total{white-space:nowrap;font-size:23px}.fixed-row{border-top:1px solid var(--line);align-items:center;gap:15px;padding:22px 0;display:flex}.date-square{color:#6b8d71;background:#f0f5ef;border-radius:11px;flex:none;justify-content:center;align-items:center;width:44px;height:46px;font-size:18px;font-weight:700;display:flex}.date-square small{margin-left:3px;font-size:11px}.fixed-row p{color:#8a998f;margin-top:4px;font-size:13px}.fixed-row strong{white-space:nowrap;margin-left:auto;font-size:19px}.icon-btn{color:#83948a;background:0 0;border-radius:8px;place-items:center;padding:8px;display:grid}.empty{color:#a0b2a6;text-align:center;justify-items:center;padding:44px 10px;display:grid}.empty p{color:#829589;margin-top:13px;font-size:14px}.toast{z-index:100;color:#fff;background:#244d3f;border-radius:13px;align-items:center;gap:10px;width:max-content;max-width:600px;padding:14px 17px;font-size:14px;display:flex;position:fixed;bottom:26px;left:50%;transform:translate(-50%);box-shadow:0 6px 30px #183e3830}.toast>svg{flex:none}.toast button{color:#cee5d9;background:0 0;place-items:center;margin-left:8px;display:grid}.modal{width:min(610px,100% - 30px);max-height:90dvh;color:var(--ink);background:#fff;border:1px solid #e2e9e3;border-radius:22px;padding:0;overflow:auto;box-shadow:0 30px 70px #182f342d}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#17343166}.modal-head{border-bottom:1px solid var(--line);z-index:2;background:#fff;justify-content:space-between;align-items:center;padding:21px 26px;display:flex;position:sticky;top:0}.entry-form{gap:18px;display:grid}.modal .entry-form{padding:24px 26px 28px}.entry-form label{color:#617d6d;gap:7px;font-size:14px;font-weight:500;display:grid}.entry-form input:not([type=checkbox]),.entry-form select{color:#254937;background:#fff;border:1px solid #dfe7e0;border-radius:9px;width:100%;min-width:0;padding:11px 13px;font-size:16px}.entry-form input[readonly]{color:#718b78;background:#f6f8f4}.field-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.money-input,.suffix-input{color:#789181;border:1px solid #dbe4dc;border-radius:10px;align-items:center;padding-right:15px;display:flex;overflow:hidden}.money-input input,.suffix-input input{border:0!important}.money-input input{font-weight:650;font-size:28px!important}.amount-mode{margin-top:4px}.amount-mode button{flex:1}.entry-form .check-label{flex-direction:row;align-items:flex-start;gap:9px;font-size:14px;font-weight:400;line-height:1.65;display:flex}.check-label input{accent-color:#28765e;flex:none;width:17px;height:17px;margin-top:5px}.calculated-net{color:#4e7860;background:#edf7ef;border-radius:12px;justify-content:space-between;align-items:center;padding:19px;font-size:14px;display:flex}.calculated-net strong{color:#285b40;font-size:27px}.calculated-net .unit{font-size:15px}.small-muted{color:#83958a;font-size:12px;line-height:1.7}.info-box{color:#64806b;background:#f2f7f1;border-radius:10px;align-items:flex-start;gap:9px;padding:13px 15px;font-size:13px;display:flex}.info-box svg{flex:none}.details{border-top:1px solid var(--line);color:#6a8271;padding-top:14px;font-size:14px}.details summary{cursor:pointer;margin-bottom:14px}.details label+label{margin-top:12px}.submit-button{width:100%;margin-top:6px;padding:14px}.danger-button{color:#aa6962;background:0 0;padding:8px;font-size:13px}.add-category{justify-self:start;margin-top:-16px;font-size:12px}.error-text{color:#b65849;font-size:13px}.error-banner{color:#9b5d4b;background:#fff0ea;border-radius:10px;justify-content:space-between;gap:10px;margin-bottom:20px;padding:15px;font-size:14px;display:flex}.error-banner button{color:inherit;background:0 0;align-items:center;gap:5px;display:flex}.upload-area{cursor:pointer;text-align:center;background:#f1f7f0;border:1.5px dashed #bbd0bb;border-radius:14px;flex-direction:column;align-items:center;padding:30px 10px;position:relative;color:#618869!important;gap:9px!important;display:flex!important}.upload-area input{opacity:0;cursor:pointer;position:absolute;inset:0}.upload-area span{font-size:12px;font-weight:400}.pay-lines{gap:10px;display:grid}.pay-line{grid-template-columns:70px 1fr 115px 25px;align-items:center;gap:7px;display:grid}.pay-line select,.pay-line input{padding:9px 6px!important;font-size:14px!important}.pay-line input[type=number]{text-align:right}.salary-totals{color:#7a8b7b;background:#f5f8f3;border-radius:10px;gap:7px;padding:15px;font-size:14px;display:grid}.salary-totals span{justify-content:space-between;gap:10px;display:flex}.salary-totals b{color:#416347}.notice-card{color:#63815d;background:#eaf2e9;border:1px solid #dde8d8;border-radius:14px;align-items:flex-start;gap:12px;margin-bottom:22px;padding:20px 23px;display:flex}.notice-card svg{flex:none}.notice-card b{font-size:16px}.notice-card p{margin-top:5px;font-size:14px}.tax-grid{grid-template-columns:1.1fr 1fr;gap:22px;display:grid}.tax-result{border-color:#dbe8dc}.tax-result h2{margin-bottom:22px}.tax-result-amount{background:#edf6ed;border-radius:13px;margin-bottom:24px;padding:25px 18px}.tax-result-amount small{color:#73926f;font-size:13px;display:block}.tax-result-amount strong{color:#376d40;margin-top:6px;font-size:36px;display:block}.tax-breakdown{gap:12px;font-size:14px;display:grid}.tax-breakdown div{justify-content:space-between;gap:14px;display:flex}.tax-breakdown dt{color:#879683}.tax-breakdown dd{white-space:nowrap;margin:0}.tax-empty{text-align:center;color:#92ae8a;padding:30px 0}.tax-empty p{margin:15px 0;font-size:16px;line-height:1.8}.tax-empty span{color:#8f9d89;font-size:12px}.disclaimer{color:#8d9d86;border-top:1px solid var(--line);margin-top:20px;padding-top:16px;font-size:12px;line-height:1.7}.outside-tax{margin-top:20px}.outside-tax p{color:#8a9785;margin:8px 0;font-size:14px}.outside-tax ul{color:#7d8f76;padding-left:18px;font-size:13px;line-height:1.9}.sources{color:#73866c;margin-top:23px;font-size:14px}.sources summary{cursor:pointer;font-weight:650}.sources p{margin:15px 0;font-size:13px}.sources a{text-underline-offset:3px;margin:4px 15px 4px 0;font-size:13px;display:inline-block}.login-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.login-shell .panel{width:100%;max-width:450px;padding:35px}.login-shell h1{margin:25px 0 10px;font-size:26px}.login-shell p{color:#7a8c7a;font-size:14px}.login-shell form{gap:20px;margin:24px 0;display:grid}.login-shell label{gap:8px;display:grid}.login-shell input{border:1px solid #d8e3d8;border-radius:8px;padding:12px}.login-shell a{color:#568352;margin-top:22px;font-size:14px;display:block}.negative{color:#ffd1c4}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width:1500px){.content{padding-top:38px}.hero-card{padding:35px 38px 30px}.hero-amount{font-size:62px}}@media (max-width:1150px){.sidebar{width:195px;padding:32px 15px}.brand{font-size:22px}.main{margin-left:195px}.topbar{padding:0 28px}.content{padding:25px 28px}.summary-grid{gap:11px}.metric{padding:18px 14px}.metric strong{font-size:21px}.workspace-grid{grid-template-columns:1fr}.tax-grid{grid-template-columns:1fr 1fr}.sidebar nav button{padding:14px 10px;font-size:15px}}@media (max-width:760px){.sidebar{display:none}.main{margin:0}.topbar{background:#fff;height:66px;padding:0 20px}.breadcrumbs{display:none}.mobile-brand{letter-spacing:-.7px;align-items:center;gap:9px;font-size:20px;font-weight:750;display:flex}.brand-mark{border-radius:9px;width:31px;height:31px;font-size:21px}.private-badge{font-size:12px}.content{padding:18px 18px 95px}.demo-banner{gap:7px;margin-bottom:24px;padding:9px 11px;font-size:12px}.demo-banner>span{flex-wrap:wrap;gap:5px}.demo-banner>span>span{display:none}.demo-banner button{font-size:12px}.page-heading{gap:10px;margin-bottom:20px}.eyebrow{letter-spacing:1.3px;margin-bottom:6px;font-size:9px}h1{letter-spacing:-1px;font-size:27px}.month-control{border-radius:10px;gap:2px;padding:6px 3px}.month-control button{padding:3px}.month-control label{font-size:13px}.hero-card{border-radius:21px;padding:24px 23px 21px}.hero-top{gap:7px;font-size:14px}.hero-top>span:first-child{gap:7px}.hero-top svg{width:17px}.hero-badge{padding:4px 8px;font-size:10px}.hero-amount{letter-spacing:-1.5px;margin-top:21px;font-size:43px}.hero-description{max-width:280px;margin-top:9px;font-size:12px;line-height:1.7}.hero-divider{margin:21px 0 15px}.hero-bottom{flex-direction:column;align-items:flex-start;gap:11px;font-size:12px}.hero-bottom b{margin-left:7px;font-size:17px}.hero-bottom .expected-chip{padding:4px 8px;font-size:10px}.hero-bottom .unit{font-size:11px}.summary-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.metric{border-radius:16px;padding:17px 17px 16px}.metric-icon{border-radius:9px;width:30px;height:30px;margin-bottom:12px}.metric-icon svg{width:17px}.metric-label{font-size:13px}.metric strong{letter-spacing:-.8px;margin-top:4px;font-size:24px}.metric strong .unit{margin-left:3px;font-size:12px}.metric small{margin-top:4px;font-size:11px}.workspace-grid{gap:16px;margin-top:20px}.panel{border-radius:17px;padding:21px}.section-heading{margin-bottom:15px}h2{font-size:19px}.section-heading p,.text-button{font-size:12px}.income-main{gap:9px;padding:17px 0}.income-icon{border-radius:10px;width:36px;height:36px}.income-icon svg{width:18px}.income-desc>b{gap:5px;font-size:14px}.income-desc small{font-size:11px}.income-amount strong{font-size:16px}.income-amount small{max-width:150px;font-size:10px;line-height:1.6}.status{font-size:9px}.quick-actions{gap:8px;margin-top:11px}.quick-actions button{gap:5px;padding:12px 5px;font-size:12px}.quick-actions svg{width:16px}.allocation-bar{margin:23px 0}.allocation-legend,.allocation-legend b{font-size:13px}.plan-note{font-size:12px}.tax-teaser{flex-wrap:wrap;align-items:flex-start;gap:11px;padding:18px 17px}.tax-icon{width:36px;height:36px}.tax-icon svg{width:21px}.tax-teaser>div:nth-child(2){flex:1}.tax-teaser h3{font-size:14px}.tax-teaser p{font-size:12px;line-height:1.7}.tax-teaser button{margin-top:0;margin-left:47px;padding:8px 12px;font-size:12px}footer{align-items:flex-start;gap:5px;margin-top:23px;font-size:10px;line-height:1.7}footer svg{flex:none;margin-top:1px}footer .footer-right{display:none}.mobile-nav{padding:9px 8px calc(10px + env(safe-area-inset-bottom));z-index:20;background:#fff;border-top:1px solid #e3eae2;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -3px 12px #354e3810}.mobile-nav button{color:#91a393;background:0 0;justify-items:center;gap:4px;padding:4px 2px;font-size:10px;display:grid}.mobile-nav button.active{color:#357c58;font-weight:700}.mobile-nav button.active svg{stroke-width:2.4px}.toolbar{gap:14px}.toolbar-actions{justify-content:flex-end;width:100%}.primary,.secondary{padding:11px 15px;font-size:13px}.segmented{gap:2px;width:100%;padding:3px}.segmented button{padding:8px 11px;font-size:12px}.income-summary{flex-direction:column;align-items:stretch;gap:20px}.income-summary strong{font-size:30px}.income-summary>div{justify-content:space-between;align-items:center;gap:20px;display:flex}.income-summary span{font-size:12px}.search-label{padding:10px 12px}.income-table-head{font-size:11px}.row-actions{flex-direction:column;gap:0;padding:0}.row-actions button{padding:5px 0 5px 6px}.row-actions svg{width:14px}.footnote{font-size:12px}.fixed-row{flex-wrap:wrap;gap:10px}.fixed-row p{font-size:11px}.fixed-row strong{font-size:17px}.fixed-row b{font-size:14px}.date-square{width:36px;height:40px;font-size:16px}.fixed-row .icon-btn{padding:4px}.fixed-row strong .unit{font-size:11px}.section-total{font-size:20px}.fixed-row>div{max-width:45%}.toast{width:calc(100% - 30px);max-width:450px;padding:13px;font-size:13px;line-height:1.6;bottom:88px}.toast button{margin-left:auto}.modal{border-radius:18px;width:calc(100% - 20px);max-height:92dvh}.modal-head{padding:18px 20px}.modal .entry-form{padding:21px 20px}.entry-form{gap:17px}.field-grid{gap:11px}.entry-form label{font-size:13px}.entry-form input:not([type=checkbox]),.entry-form select{padding:10px 9px;font-size:16px}.entry-form .check-label{font-size:13px}.small-muted{font-size:11px}.calculated-net{padding:16px;font-size:13px}.calculated-net strong{font-size:25px}.pay-line{grid-template-columns:61px 1fr 93px 20px;gap:5px}.pay-line select,.pay-line input{font-size:13px!important}.notice-card{gap:9px;padding:17px}.notice-card b{font-size:14px}.notice-card p{font-size:12px;line-height:1.7}.tax-grid{grid-template-columns:1fr}.tax-result-amount strong{font-size:34px}.sources{font-size:13px}.error-banner{font-size:12px}.negative{color:#ffd1c4}}@media (max-width:370px){.content{padding-left:13px;padding-right:13px}.hero-amount{font-size:38px}.hero-card{padding:22px 19px}.metric strong{font-size:21px}.metric{padding:16px 14px}.page-heading h1{font-size:24px}.month-control label{font-size:12px}.income-desc>b{font-size:13px}.income-amount strong{font-size:14px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}:root{--navy:#142f4b;--ink:#233b50;--muted:#74869a;--line:#e3e9f0;--paper:#f4f6fa;--mint:#d7e8fa}.brand-mark{color:#d4e8ff}.sidebar nav button.active{color:#336599;background:#eaf1fb}.hero-card{background:linear-gradient(110deg,#132c47,#1c4160)}.hero-amount{color:#edf6ff}.hero-top{color:#d8e4f1}.hero-badge{color:#dce8f5;background:#365572;border-color:#526f8b}.hero-description{color:#adc1d4}.hero-divider{background:#4d6580}.hero-bottom{color:#b5c9df}.hero-bottom b{color:#eef6ff}.expected-chip{color:#d8e8f8;background:#2a4d6d}.demo-banner{color:#768698;background:#eef2f7;border-color:#e0e7f0}.demo-banner button{color:#527496}.primary{background:#285c90}.primary:hover{background:#1e4a77}.segmented button.selected{color:#315e8d}.tax-teaser{background:#edf1f7;border-color:#e0e7f0}.tax-icon{color:#6683a3}.tax-teaser h3{color:#456483}.tax-teaser p{color:#8596a8}.tax-teaser button{color:#587a9d;border-color:#d5e0ed}.tax-result-amount{background:#edf3fc}.tax-result-amount strong{color:#2d5d94}.calculated-net{color:#64819e;background:#edf4fc}.calculated-net strong{color:#2c608f}.mobile-nav button.active{color:#32689f}.sidebar-bottom{color:#7288a0}.toast{background:#204b72}.hero-amount.negative{color:#ffd1c4}.brand{letter-spacing:-.8px;font-size:21px}.sidebar{width:240px}.main{margin-left:240px}@media (max-width:1150px){.sidebar{width:218px}.main{margin-left:218px}.brand{font-size:19px}}@media (max-width:760px){.main{margin:0}.mobile-brand{letter-spacing:-.5px;font-size:20px}}.import-button{cursor:pointer;position:relative}.import-button input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.device-notice{color:#6e87a0;background:#edf3fa;border:1px solid #dce6f1;border-radius:10px;align-items:flex-start;gap:9px;margin-bottom:18px;padding:12px 14px;font-size:12px;line-height:1.8;display:flex}.device-notice svg{flex:none;margin-top:3px}.device-notice button{color:#356ca0;white-space:nowrap;background:0 0;margin-left:auto;font-weight:700}.backup-divider{background:var(--line);height:1px;margin:7px 0}.topbar>.private-badge{margin-left:auto;margin-right:18px}@media (max-width:760px){.device-notice{gap:7px;padding:10px 12px;font-size:11px}.topbar>.private-badge{margin-right:10px}.topbar .text-button{font-size:12px}}.mobile-title{white-space:nowrap;display:block}.mobile-title small{color:#7e91a3;letter-spacing:0;margin-top:2px;font-size:10px;font-weight:400;line-height:1.4;display:block}.start-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:15px;display:flex}.initial-import{cursor:pointer;white-space:nowrap;color:#315f8b;background:#fff;border:1px solid #d5e0ea;border-radius:7px;padding:7px 10px;font-size:13px;font-weight:600;position:relative}.initial-import input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.statement{padding:27px}.statement-brand{color:#204a6b;justify-content:space-between;gap:12px;margin-bottom:23px;font-size:16px;font-weight:700;display:flex}.statement-brand span{letter-spacing:1.5px;color:#8a9dad;font-size:10px;font-weight:500}.statement>h3{letter-spacing:-.7px;font-size:26px}.statement-meta{color:#7a8f9f;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;font-size:14px;display:flex}.statement-meta .status{padding:5px 9px;font-size:12px}.statement-category{color:#8a9dab;margin-top:7px;font-size:13px}.statement-net{color:#d4e5f3;background:#163956;border-radius:15px;margin:24px 0 17px;padding:24px}.statement-net>span{font-size:14px;display:block}.statement-net>strong{letter-spacing:-1.2px;color:#fff;margin:7px 0;font-size:42px;display:block}.statement-net .unit{font-size:20px}.statement-net>small{color:#aac7dd;font-size:12px;display:block}.statement-totals{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px;display:grid}.statement-totals>div{background:#f2f6fa;border-radius:11px;padding:18px}.statement-totals span{color:#7d92a3;font-size:13px;display:block}.statement-totals strong{letter-spacing:-.5px;color:#315d7e;margin-top:5px;font-size:24px;display:block}.statement-totals .unit{font-size:13px}.statement-note{color:#7d90a0;margin:14px 0;font-size:13px;line-height:1.8}.statement-sections{margin:25px 0}.statement-sections section+section{margin-top:25px}.statement-sections h4{border-bottom:2px solid #d9e3ec;margin:0;padding-bottom:11px;font-size:17px}.statement-line{border-bottom:1px solid #eaf0f4;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;font-size:16px;display:flex}.statement-line b{white-space:nowrap;font-size:18px}.statement-line .unit{font-size:12px}.statement-empty{color:#8c9dac;padding:20px 0;font-size:14px;line-height:1.7}@media (max-width:760px){.start-actions{gap:9px}.initial-import{padding:6px 8px;font-size:11px}.demo-banner{align-items:flex-start}.statement{padding:22px 20px}.statement-brand{margin-bottom:20px;font-size:15px}.statement-brand span{letter-spacing:1px;font-size:9px}.statement>h3{font-size:24px}.statement-net{padding:22px}.statement-net>strong{font-size:38px}.statement-totals>div{padding:14px}.statement-totals strong{font-size:21px}.statement-meta,.statement-note{font-size:12px}}svg.allocation-bar{width:100%;height:15px;display:block}.allocation-dot-0{background:#ebbea4}.allocation-dot-1{background:#9bc1e5}.allocation-dot-2{background:#bdade4}.allocation-dot-3{background:#4baf91}.not-found{max-width:520px;margin:18vh auto;padding:30px}.not-found h1{margin:24px 0 12px;font-size:28px}.not-found p{color:#7890a0;margin-bottom:24px}.not-found a{color:#fff;background:#285c90;border-radius:10px;padding:12px 18px;text-decoration:none;display:inline-block}.insurance-space{gap:20px;display:grid}.insurance-intro{color:#315877;background:#edf3fa;border:1px solid #dce6f1;border-radius:14px;align-items:flex-start;gap:14px;padding:22px;display:flex}.insurance-intro svg{flex:none;margin-top:4px}.insurance-intro h2{margin:0 0 8px;font-size:20px}.insurance-intro p{color:#667f94;margin:0;font-size:13px;line-height:1.9}.insurance-summary{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.insurance-summary>div{border:1px solid var(--line);background:#fff;border-radius:14px;padding:22px}.insurance-summary span{color:#788e9e;font-size:13px;display:block}.insurance-summary strong{letter-spacing:-.8px;margin-top:12px;font-size:28px;display:block}.insurance-summary small{margin-left:5px;font-size:14px;font-weight:400}.insurance-toolbar{margin:0}.insurance-notice{color:#295375;background:#eef5fc;border-radius:10px;padding:14px 18px;font-size:14px;line-height:1.7}.insurance-policy,.insurance-import,.insurance-payments,.insurance-reminders{padding:26px}.insurance-policy h3,.insurance-import h3{margin:26px 0 14px;font-size:17px}.insurance-policy h3 span{color:#8296a5;margin-left:5px;font-size:13px}.insurance-tag{color:#6c8395;font-size:12px}.insurance-policy .section-heading h2{margin-top:8px}.insurance-detail-grid{background:#f6f8fb;border-radius:12px;grid-template-columns:repeat(2,1fr);gap:18px;padding:20px;display:grid}.insurance-detail-grid small{color:#8093a2;margin-bottom:7px;font-size:12px;display:block}.insurance-detail-grid b{font-size:14px;font-weight:500}.insurance-memo{color:#6a7f90;white-space:pre-wrap;padding:15px 0;font-size:13px;line-height:1.9}.insurance-table-wrap{margin:14px 0;overflow-x:auto}.insurance-table{border-collapse:collapse;text-align:left;width:100%;min-width:650px;font-size:13px}.insurance-table th{color:#647d90;white-space:nowrap;background:#f3f6fa;padding:13px;font-weight:500}.insurance-table td{vertical-align:top;border-bottom:1px solid #e7edf3;padding:16px 13px;line-height:1.8}.insurance-table td:first-child{min-width:135px}.insurance-table td:nth-child(2),.insurance-table td:nth-child(3){min-width:105px}.insurance-table td:last-child{min-width:240px}.insurance-table p{white-space:pre-wrap;margin:0 0 5px}.insurance-table small,.insurance-documents small{color:#8093a2;display:block}.insurance-history{border-top:1px solid var(--line);margin-top:22px;padding-top:18px;font-size:13px;line-height:1.9}.insurance-history summary{cursor:pointer;font-weight:600}.insurance-history p{color:#6c8293;margin:10px 0}.insurance-history small{color:#8093a2;display:block}.insurance-documents{border-top:1px solid var(--line);margin-top:22px}.insurance-documents>p{font-size:13px;line-height:1.8}.insurance-document-row{align-items:center;gap:11px;padding:12px 0;display:flex}.insurance-document-row>span{overflow-wrap:anywhere;flex:1;min-width:0;font-size:13px}.insurance-file{cursor:pointer;align-items:center;gap:7px;margin:12px 0;display:inline-flex;position:relative}.insurance-file input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.insurance-file:focus-within{outline-offset:3px;outline:2px solid #285c90}.insurance-budget-explainer{background:#f2f6fa;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:18px;font-size:14px;display:flex}.insurance-link{grid-template-columns:1fr 1fr;align-items:center;gap:16px;margin:14px 0;font-size:14px;display:grid}.insurance-link select{color:#315877;background:#fff;border:1px solid #dbe4ec;border-radius:8px;width:100%;padding:10px}.insurance-import>p,.insurance-backup-note p,.insurance-reminders p{color:#6d8293;font-size:14px;line-height:1.9}.insurance-import label:not(.insurance-file){margin-top:18px;font-size:14px;display:block}.insurance-import textarea{resize:vertical;border:1px solid #d6e0e9;border-radius:10px;width:100%;min-height:340px;margin:10px 0;padding:14px;font:12px/1.6 monospace;display:block}.insurance-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.insurance-backup-note{border-top:1px solid var(--line);margin-top:20px;padding-top:5px}.insurance-claim{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding:15px 0;display:flex}.insurance-claim h3{margin-top:5px}.insurance-claim p{white-space:pre-wrap;font-size:13px;line-height:1.8}.insurance-empty{text-align:center;color:#71879a;padding:45px 20px}.insurance-empty svg{margin:auto}.insurance-empty h3{color:#315877;margin:20px 0 8px}.insurance-empty p{margin-bottom:20px;font-size:14px}.insurance-modal{width:calc(100% - 36px);max-width:980px}.insurance-form{padding:25px}.insurance-form fieldset{border:0;grid-template-columns:1fr 1fr;gap:16px;min-width:0;margin:0;padding:0;display:grid}.insurance-form label{color:#617d92;flex-direction:column;gap:8px;font-size:13px;display:flex}.insurance-form input,.insurance-form select,.insurance-form textarea{width:100%;font:inherit;color:#254e6d;background:#fff;border:1px solid #d7e1ea;border-radius:8px;min-height:43px;padding:11px 12px}.insurance-form input[readonly],.insurance-form select:disabled{color:#8394a1;background:#eff3f7}.insurance-form textarea{resize:vertical;min-height:110px;line-height:1.8}.insurance-form .wide{grid-column:1/-1}.insurance-form .insurance-checkbox{flex-direction:row;align-items:flex-start;line-height:1.8;display:flex}.insurance-checkbox input{flex:none;width:18px;height:18px;min-height:0;margin-top:3px}.insurance-viewer{padding:20px}.insurance-viewer-controls{flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0;display:flex}.insurance-viewer-controls label{align-items:center;gap:8px;font-size:13px;display:flex}.insurance-viewer-controls input{border:1px solid #d8e2eb;border-radius:7px;width:75px;padding:8px}.insurance-viewer canvas,.insurance-viewer>img{background:#f6f8fb;border:1px solid #e1e8ef;max-width:100%;height:auto;margin:16px auto;display:block}.insurance-space button:disabled{opacity:.5;cursor:not-allowed}.insurance-reminders small{color:#8093a2;font-size:12px}.insurance-reminders h3{margin-top:0}.insurance-space .secondary,.insurance-space .primary{white-space:normal;justify-content:center;align-items:center;gap:6px;display:inline-flex}.insurance-documents .text-button,.insurance-table .text-button{text-align:left;line-height:1.7}@media (max-width:760px){.mobile-nav{grid-template-columns:repeat(5,1fr)}.mobile-nav button{min-width:0;padding-left:3px;padding-right:3px;font-size:10px}.insurance-summary{gap:8px}.insurance-summary>div{padding:14px 11px}.insurance-summary span{font-size:10px}.insurance-summary strong{font-size:20px}.insurance-summary small{font-size:11px}.insurance-policy,.insurance-import,.insurance-payments,.insurance-reminders{padding:18px}.insurance-intro{padding:17px}.insurance-intro h2{font-size:18px}.insurance-intro p{font-size:12px}.insurance-detail-grid{grid-template-columns:1fr;gap:14px;padding:16px}.insurance-toolbar{flex-wrap:wrap;gap:12px}.insurance-toolbar .segmented{flex-wrap:nowrap;max-width:100%;overflow-x:auto}.insurance-toolbar .segmented button{white-space:nowrap}.insurance-budget-explainer{flex-direction:column;align-items:flex-start}.insurance-link{grid-template-columns:1fr;gap:7px}.insurance-form{padding:18px}.insurance-form fieldset{grid-template-columns:1fr}.insurance-document-row{flex-wrap:wrap}.insurance-document-row .secondary{font-size:12px}.insurance-policy .section-heading{align-items:flex-start}.insurance-policy .section-heading h2{font-size:20px}.insurance-claim{flex-direction:column}}.insurance-estimate{color:#80643d;background:#fff8eb;border:1px solid #eedeb8;border-radius:10px;margin:18px 0;padding:17px 20px;font-size:13px;line-height:1.8}.insurance-estimate p{margin:6px 0}.insurance-estimate small{font-size:12px}.insurance-proposal{color:#496c8c;background:#edf4fb;border:1px solid #d2e0ee;border-radius:10px;margin:18px 0;padding:17px 20px;font-size:13px;line-height:1.8}.insurance-proposal p{margin:6px 0}.trend-panel{margin-top:25px}.trend-toggle{flex:none;width:auto}.trend-box{width:100%;min-width:0}.trend-chart{width:100%;height:auto;display:block;overflow:visible}.trend-grid{stroke:#eef2ef;stroke-width:1px}.trend-zero{stroke:#cfd9d3;stroke-width:1.2px}.trend-axis,.trend-label{fill:#8a998f;font-size:11px}.trend-month{cursor:pointer;outline:none}.trend-hit{fill:#0000}.trend-month:hover .trend-hit,.trend-month:focus-visible .trend-hit{fill:#f3f7f4}.trend-month.current .trend-hit{fill:#edf6f1}.trend-month.current .trend-label{fill:#207e61;font-weight:700}.trend-income{fill:#4baf91}.trend-expected{fill:#bfe3d4}.trend-expense{fill:#ebbea4}.trend-saving{fill:#9bc1e5}.trend-line{fill:none;stroke:#173c4a;stroke-width:2px;stroke-linejoin:round;pointer-events:none}.trend-dot{fill:#173c4a;stroke:#fff;stroke-width:1.5px;pointer-events:none}.trend-dot.negative{fill:#c4553b}.trend-legend{color:#75847c;flex-wrap:wrap;gap:8px 16px;margin-top:12px;font-size:13px;display:flex}.trend-legend span{align-items:center;gap:6px;display:flex}.trend-legend i{border-radius:3px;width:9px;height:9px}.dot-income{background:#4baf91}.dot-expected{background:#bfe3d4}.dot-expense{background:#ebbea4}.dot-saving{background:#9bc1e5}.dot-line{background:#173c4a;width:14px!important;height:2px!important}.trend-averages{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;display:grid}.trend-averages div{background:var(--paper);border-radius:12px;gap:4px;padding:12px 14px;display:grid}.trend-averages span{color:#829389;font-size:12px}.trend-averages b{font-size:15px}.trend-averages b.negative{color:#c4553b}.budget-panel{margin-bottom:20px}.budget-row{border-top:1px solid var(--line);padding:13px 0}.budget-row:first-of-type{border-top:0}.budget-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.budget-status{color:#2c674e;white-space:nowrap;background:#edf6f1;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600}.budget-row.warn .budget-status{color:#946414;background:#fff3dd}.budget-row.over .budget-status{color:#b04a32;background:#fde8e2}.budget-row.none .budget-status{color:#7d8b84;background:#f1f3f2}.budget-bar{width:100%;height:8px;margin:9px 0 7px;display:block}.budget-track{fill:#eef2ef}.budget-fill{fill:#4baf91}.budget-row.warn .budget-fill{fill:#e8b04f}.budget-row.over .budget-fill{fill:#d9694c}.budget-row p{color:#5d7068;flex-wrap:wrap;align-items:baseline;gap:4px;font-size:13px;display:flex}.budget-row p small{color:#95a39c;margin-left:auto;font-size:12px}.budget-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.budget-add{gap:8px;display:flex}.budget-add input{flex:1;min-width:0}.category-chip{color:#946c52;background:#fbefe7;border-radius:6px;margin-right:6px;padding:1px 7px;font-size:11px;font-weight:600;display:inline-block}@media (max-width:760px){.trend-panel{margin-top:20px}.trend-averages{grid-template-columns:1fr;gap:8px}.trend-averages div{justify-content:space-between;align-items:center;display:flex}.budget-form-grid{grid-template-columns:1fr}}.budget-panel .section-heading .secondary{white-space:nowrap;flex:none;padding:10px 14px}.budget-row p .unit{margin-left:1px;font-size:11px}
