:root{font-family:Inter,Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;color:#1c2f2c;background:#f7f8f5;font-synthesis:none;-webkit-font-smoothing:antialiased;--green:#17544b;--mint:#e8f3eb;--text:#1c2f2c;--muted:#71847e;--edge:#e5ebe5;--paper:#fff;--shadow:0 13px 40px rgba(18,45,36,.055)}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{outline:none}input:focus,select:focus,textarea:focus{border-color:#519987!important;box-shadow:0 0 0 3px rgba(48,129,112,.10)}a{color:var(--green)}.startup{display:grid;place-content:center;place-items:center;min-height:100vh;color:var(--muted)}.startup-icon{display:grid;place-items:center;background:var(--green);color:white;font-size:45px;width:98px;height:98px;border-radius:27px}.shell{min-height:100vh;display:flex;max-width:1440px;margin:auto}.sidebar{position:sticky;top:0;align-self:flex-start;display:flex;flex-direction:column;gap:30px;width:252px;padding:36px 20px 25px 24px;height:100vh;border-right:1px solid var(--edge);background:#fbfcf9;flex-shrink:0}.brand{display:flex;align-items:center;gap:12px;padding:2px 10px}.brand-symbol{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--green);color:white;font-size:23px;font-weight:800}.brand-title{font-weight:900;letter-spacing:-1px;font-size:23px}.brand-sub{display:block;font-size:10px;letter-spacing:.1em;font-weight:800;color:#91a29a;margin-top:2px}.side-nav{display:grid;gap:8px}.nav-item{width:100%;border:0;background:none;text-align:left;display:flex;align-items:center;gap:14px;border-radius:14px;padding:15px 16px;color:#7d9089;font-weight:700}.nav-item.active{background:#e8f1e8;color:var(--green)}.nav-symbol{width:24px;text-align:center;font-size:19px}.side-bottom{margin-top:auto}.side-chip{border:1px solid #d9e7dc;background:#f1f6ee;padding:15px;border-radius:16px;font-size:13px;color:#4a665b}.workspace{flex:1;min-width:0;padding:34px clamp(18px,4vw,56px) 92px}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:12px}.eyebrow{font-size:11px;font-weight:850;letter-spacing:.14em;color:#8b9f96;margin:0 0 7px}.page-title{font-size:clamp(24px,2.7vw,34px);letter-spacing:-1.4px;margin:0;font-weight:900}.header-right{display:flex;align-items:center;gap:10px}.sync-status{display:flex;gap:6px;align-items:center;color:#438973;font-size:12px;font-weight:800;border:1px solid #d5e7da;border-radius:100px;padding:9px 12px;background:#f2f8f1}.sync-status:before{content:"";width:7px;height:7px;border-radius:50%;background:#44a88d}.sync-status.warn{color:#987239;background:#fff8e8;border-color:#f7eacb}.sync-status.warn:before{background:#d5a353}.avatar{width:37px;height:37px;border-radius:50%;background:#dfe9dd;display:grid;place-items:center;font-weight:900;color:var(--green)}.cols{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:20px}.stack{display:grid;gap:19px;align-content:start}.card{background:var(--paper);border:1px solid #edf0eb;border-radius:23px;box-shadow:var(--shadow);padding:24px;min-width:0}.card.compact{padding:20px}.hero-card{background:linear-gradient(125deg,#194f46,#23675b);color:white;border:0;position:relative;overflow:hidden;padding:28px 29px 26px}.hero-card:before{content:"";position:absolute;width:280px;height:280px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-100px;top:-130px}.hero-card:after{content:"";position:absolute;width:210px;height:210px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-85px;top:-75px}.hero-overline{font-size:12px;color:#bbdfd3;font-weight:750;letter-spacing:.04em;position:relative}.hero-amount{font-size:clamp(31px,4vw,44px);font-weight:850;letter-spacing:-1.4px;margin:11px 0 7px;position:relative;font-variant-numeric:tabular-nums}.hero-caption{font-size:12px;color:#b8d8cb;position:relative}.hero-divider{height:1px;background:#ffffff30;margin:26px 0 21px}.hero-row{display:flex;justify-content:space-between;gap:10px;position:relative;flex-wrap:wrap}.hero-info{display:grid;gap:6px}.hero-info small{font-size:12px;color:#c1dbd1}.hero-info strong{font-size:18px;font-variant-numeric:tabular-nums}.progress{margin:18px 0 8px;background:#ffffff35;height:10px;border-radius:100px;overflow:hidden;position:relative}.progress-fill{height:100%;background:#b0e2bb;border-radius:100px}.progress-label{display:flex;justify-content:space-between;color:#c6dcd1;font-size:11px;position:relative}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:19px}.section-heading h2{font-size:17px;margin:0;letter-spacing:-.4px}.section-heading span,.muted{color:var(--muted);font-size:12px}.plain-link{border:0;background:none;color:var(--green);font-size:12px;font-weight:800;padding:4px 0}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.metric{background:var(--paper);padding:20px;border-radius:20px;border:1px solid #edf0eb;box-shadow:var(--shadow)}.metric-icon{font-size:20px}.metric-label{color:var(--muted);font-size:11px;margin:10px 0 5px}.metric-value{font-size:21px;font-weight:850;letter-spacing:-.9px;font-variant-numeric:tabular-nums}.metric .hint{font-size:11px;color:#8a9e91;margin-top:5px}.family-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:11px;align-items:center;margin:18px 0}.member-avatar{display:grid;place-items:center;width:39px;height:39px;border-radius:13px;font-size:14px;font-weight:800}.member-name{font-weight:750;font-size:13px}.member-amount{font-weight:850;font-size:13px;font-variant-numeric:tabular-nums}.member-line{margin-top:8px;width:100%;height:7px;background:#eef2ee;border-radius:100px;overflow:hidden}.member-fill{height:100%;border-radius:100px}.donut-wrap{display:flex;align-items:center;gap:23px;justify-content:center}.donut{width:190px;aspect-ratio:1;border-radius:50%;background:var(--edge);position:relative;flex-shrink:0;display:grid;place-items:center}.donut-hole{width:122px;height:122px;background:white;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px}.donut-hole small{font-size:11px;color:var(--muted)}.donut-hole strong{font-size:20px;letter-spacing:-.6px}.legend{display:grid;gap:12px;flex:1}.legend-row{display:grid;grid-template-columns:11px 1fr auto;align-items:center;gap:8px;font-size:11px}.legend-dot{width:9px;height:9px;border-radius:4px}.legend-name{color:#66766f}.legend-value{font-weight:750}.entry{display:flex;gap:13px;align-items:center;padding:12px 0;border-bottom:1px solid #eef1ed}.entry:last-child{border-bottom:0;padding-bottom:0}.entry-icon{width:43px;height:43px;border-radius:14px;background:#f0f5ed;display:grid;place-items:center;font-size:21px;flex-shrink:0}.entry-text{flex:1;min-width:0}.entry-title{font-weight:780;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-sub{font-size:11px;color:var(--muted);margin-top:5px}.entry-money{text-align:right;white-space:nowrap;font-size:14px;font-weight:850}.entry-money small{display:block;font-size:10px;font-weight:600;color:var(--muted);margin-top:4px}.pending{color:#ba8035!important}.demo-banner{background:#fff9e8;border:1px solid #f0e2b7;border-radius:15px;padding:14px 16px;margin-bottom:22px;font-size:12px;color:#766336;display:flex;align-items:center;justify-content:space-between;gap:10px}.demo-banner strong{font-size:12px}.btn{border:0;border-radius:13px;font-weight:780;padding:12px 17px;background:var(--green);color:white;display:inline-flex;justify-content:center;align-items:center;gap:8px;font-size:13px;transition:transform .1s,background .2s}.btn:hover{background:#246a5f}.btn:active{transform:scale(.98)}.btn.outline{background:white;color:var(--green);border:1px solid #d8e3da}.btn.outline:hover{background:#f2f7f0}.btn.light{background:#e9f3ea;color:var(--green)}.btn.warn{background:#fff1ee;color:#b45245}.btn.sm{font-size:12px;padding:9px 12px;border-radius:10px}.btn.icon-btn{width:36px;height:36px;padding:0;display:grid;place-items:center}.btn.full{width:100%}.btn-row{display:flex;gap:9px;flex-wrap:wrap}.form{display:grid;gap:19px;max-width:740px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:8px}.field label{font-size:12px;font-weight:850;color:#4b625a}.field input,.field select,.field textarea,.filters input,.filters select{width:100%;border:1px solid #dae4da;border-radius:13px;background:white;padding:13px 14px;font-size:14px;color:var(--text)}.field textarea{min-height:90px;resize:vertical}.field .help{color:var(--muted);font-size:11px}.big-input{font-size:30px!important;font-weight:800!important;letter-spacing:-.5px;min-width:0}.entry-panel{max-width:740px;margin:auto}.entry-mode{display:flex;align-items:center;gap:10px;background:#edf4e9;border-radius:14px;padding:14px 16px;color:#32725f;font-size:12px;font-weight:750}.filters{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:11px;margin-bottom:18px}.group-heading{display:flex;justify-content:space-between;align-items:center;padding:16px 1px 9px;border-bottom:1px solid var(--edge);font-size:12px;color:var(--muted);font-weight:800}.entry.with-actions{gap:9px}.small-actions{display:flex;gap:5px}.small-actions button{background:none;border:0;color:#84958d;padding:7px;border-radius:8px}.small-actions button:hover{background:#eef3ea;color:var(--green)}.empty{padding:48px 12px;text-align:center;color:var(--muted);font-size:13px}.empty-emoji{font-size:38px;margin-bottom:12px}.segmented{display:inline-flex;gap:4px;padding:5px;background:#eef3ed;border-radius:13px}.segmented button{padding:9px 13px;background:transparent;border:0;border-radius:10px;color:#819086;font-weight:750;font-size:12px}.segmented button.selected{background:white;color:var(--green);box-shadow:0 3px 9px #1b392214}.chart-bars{height:160px;display:flex;align-items:end;justify-content:space-around;gap:7px;margin-top:20px}.bar-col{flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:8px;height:100%;font-size:10px;color:var(--muted)}.bar-track{height:130px;display:flex;align-items:end;justify-content:center;width:100%}.bar{background:linear-gradient(180deg,#8bc9a9,#236b5b);width:min(33px,78%);min-height:2px;border-radius:6px 6px 0 0}.cat-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:13px;align-items:center;padding:13px 0;border-bottom:1px solid #edf0eb}.cat-item:last-child{border:0}.cat-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#f1f5ec;font-size:20px}.category-archived{opacity:.55}.category-actions{display:flex;gap:5px;align-items:center}.mini-btn{border:0;background:#f0f4ee;color:#546d60;border-radius:9px;padding:8px 10px;font-size:12px}.mini-btn:hover{background:#e0eee0}.setting-block{padding:22px 0;border-bottom:1px solid var(--edge)}.setting-block:last-child{border:0;padding-bottom:0}.setting-header{font-size:15px;font-weight:850;margin-bottom:6px}.setting-description{color:var(--muted);font-size:12px;margin-bottom:16px;line-height:1.65}.code-box{border:1px dashed #b6d1bc;padding:16px;background:#f4f9f2;border-radius:13px;display:flex;justify-content:space-between;align-items:center;gap:9px}.code{font-size:22px;font-weight:900;letter-spacing:.18em;color:var(--green)}.mobile-nav{display:none}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(circle at 10% 10%,#e2f2de,transparent 40%),#f8faf5}.auth-panel{width:min(450px,100%);background:white;padding:34px;border-radius:26px;box-shadow:0 20px 90px rgba(23,69,51,.1);border:1px solid #e6ede4}.auth-logo{text-align:center;display:grid;justify-content:center;gap:7px;margin-bottom:27px}.auth-logo .brand-symbol{margin:auto;width:62px;height:62px;font-size:32px}.auth-logo h1{margin:7px 0 0;font-size:23px;letter-spacing:-.6px}.auth-logo p{color:var(--muted);font-size:12px;margin:0}.auth-toggle{display:grid;grid-template-columns:1fr 1fr;background:#edf3ec;padding:5px;border-radius:13px;margin-bottom:21px}.auth-toggle button{border:0;background:none;border-radius:10px;padding:12px;color:var(--muted);font-weight:750}.auth-toggle button.active{background:white;box-shadow:0 2px 8px #122b1611;color:var(--green)}.two-path{display:grid;grid-template-columns:1fr 1fr;gap:12px}.path-card{padding:21px 17px;border:1px solid #dbe7dc;border-radius:16px;background:#fff;text-align:left}.path-card h3{margin:12px 0 7px;font-size:15px}.path-card p{font-size:11px;line-height:1.7;color:var(--muted);margin:0}.path-card b{font-size:24px}.setup-note{border-left:3px solid #85b99c;background:#f4f9f0;padding:13px 15px;font-size:12px;color:#496e59;line-height:1.7;border-radius:0 10px 10px 0}.modal-backdrop{position:fixed;inset:0;background:rgba(18,33,28,.45);z-index:30;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:white;border-radius:24px;width:min(460px,100%);padding:26px;box-shadow:0 25px 100px #12281f30}.modal h3{font-size:19px;margin:0 0 17px}.modal .form{gap:13px}.modal-actions{display:flex;justify-content:end;gap:8px;margin-top:17px}.toast-show{opacity:1!important;transform:translateY(0)!important}#toast{position:fixed;left:50%;transform:translate(-50%,30px);bottom:90px;z-index:99;color:white;background:#183f38;padding:13px 20px;border-radius:12px;box-shadow:0 15px 35px #132a222a;font-weight:700;font-size:12px;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}#toast.toast-show{transform:translate(-50%,0)}.warning-box{background:#fff8e6;border:1px solid #f2e7bf;border-radius:13px;padding:14px;color:#86703e;font-size:12px;line-height:1.8}.loading-mask{opacity:.5;pointer-events:none}.num{font-variant-numeric:tabular-nums}.a11y-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:1100px){.sidebar{width:206px;padding:28px 13px}.workspace{padding:28px 24px 90px}.cols{grid-template-columns:minmax(0,1.2fr) minmax(270px,1fr)}.donut{width:150px}.donut-hole{width:96px;height:96px}.donut-hole strong{font-size:15px}.donut-wrap{gap:13px}.metric-value{font-size:18px}}
@media(max-width:830px){.sidebar{display:none}.workspace{padding:24px 18px 105px}.cols{grid-template-columns:1fr}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);bottom:0;left:0;right:0;background:rgba(255,255,255,.96);backdrop-filter:blur(20px);border-top:1px solid var(--edge);padding:10px 6px calc(10px + env(safe-area-inset-bottom));z-index:10;box-shadow:0 -6px 30px #29433710}.mobile-nav button{border:0;background:none;color:#89998c;display:grid;place-items:center;gap:4px;padding:6px 2px;font-size:10px;font-weight:750}.mobile-nav button .symbol{font-size:21px}.mobile-nav button.active{color:var(--green)}.mobile-nav button.add-nav .symbol{display:grid;place-items:center;color:white;background:var(--green);width:42px;height:42px;border-radius:14px;margin-top:-17px;box-shadow:0 9px 18px #15514433}.mobile-nav button.add-nav{color:var(--green)}.header{margin-bottom:21px}.page-title{font-size:26px}.card{padding:20px}.donut{width:180px}.donut-hole{width:115px;height:115px}}
@media(max-width:480px){.workspace{padding:18px 14px 105px}.card{border-radius:19px;padding:18px}.hero-card{padding:22px}.hero-amount{font-size:34px}.stats-grid{gap:8px}.metric{padding:15px 11px;border-radius:16px}.metric-value{font-size:16px}.metric-label{font-size:10px}.metric .hint{font-size:9px}.donut{width:158px}.donut-hole{width:104px;height:104px}.donut-hole strong{font-size:16px}.donut-wrap{gap:11px}.legend{gap:9px}.legend-row{font-size:10px;gap:4px}.filters{grid-template-columns:1fr 1fr}.filters input{grid-column:1/-1}.form-row{grid-template-columns:1fr}.header-right{gap:5px}.sync-status{padding:8px;font-size:10px}.page-title{font-size:24px}.entry-money{font-size:12px}.entry-icon{width:38px;height:38px}.cat-item{grid-template-columns:37px minmax(0,1fr) auto;gap:9px}.cat-icon{width:37px;height:37px}.category-actions{gap:2px}.mini-btn{padding:7px;font-size:11px}.code{font-size:16px}.auth-panel{padding:23px}}
