.app{border:1px solid var(--line);background:var(--bg);max-width:420px;min-height:calc(100dvh - 48px);color:var(--text);border-radius:26px;flex-direction:column;margin:24px auto;font-size:14px;display:flex;overflow:clip;box-shadow:0 12px 40px #00000012}.app-header{justify-content:space-between;align-items:center;gap:8px;padding:20px 20px 14px;display:flex}.brand-home{text-align:left;background:0 0;border:0;align-items:center;gap:10px;min-width:0;min-height:44px;padding:0;font-size:20px;font-weight:550;display:flex}.brand-home>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brand-home small,.brand small{letter-spacing:1.4px;color:var(--sub);margin-top:3px;font-size:9px;font-weight:500;display:block}.brand-mark{background:var(--green);width:52px;height:52px;color:var(--on);border-radius:17px;flex-shrink:0;place-items:center;display:inline-grid}.brand-mark svg{width:28px;height:28px}.brand-mark.small{border-radius:13px;width:38px;height:38px}.brand-mark.small svg{width:23px;height:23px}.header-actions{flex-shrink:0;gap:6px;display:flex}.header-actions .button{min-width:44px;padding:10px}main{flex:1;min-width:0;padding:8px 20px 24px}.welcome{padding:16px 0 28px}.welcome p{color:var(--sub);margin-top:8px;font-size:13px}.book-card{text-align:left;border:1px solid var(--line);background:var(--paper);border-radius:18px;width:100%;margin-bottom:14px;padding:20px;display:block}.book-symbol{background:var(--soft);width:44px;height:44px;color:var(--green);border-radius:14px;place-items:center;display:grid}.book-card h2{margin:18px 0 12px;font-size:20px}.pill,.type-badge{background:var(--soft);color:var(--green);border-radius:8px;padding:4px 8px;font-size:11px}.auth{padding:25px 0}.brand{align-items:center;gap:13px;margin:8px 0 36px;font-size:28px;font-weight:600;display:flex}.intro{color:var(--sub);margin:10px 0 28px;font-size:13px;line-height:1.8}.auth-links{flex-direction:column;align-items:center;gap:4px;margin-top:20px;display:flex}.auth .primary{margin-top:10px}.connection{background:var(--soft);color:var(--green);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px;padding:8px 20px;font-size:12px;display:flex}.connection small{opacity:.8;width:100%;font-size:10px}.connection .button{min-height:30px;padding:3px}.connection svg{width:15px;height:15px}.month{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.month strong{font-size:18px;font-weight:550}.month .button{min-width:44px}.totals{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.totals span{color:var(--sub);font-size:12px}.totals strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:6px;font-size:20px;font-weight:550;display:block}.totals small,.balance-line small{margin-left:3px;font-size:12px;font-weight:400}.balance-line{border-top:1px solid var(--line);margin-top:16px;padding-top:14px;font-size:12px}.balance-line strong{overflow-wrap:anywhere;text-align:right;font-size:20px;font-weight:550}.budget-line{margin-top:20px;font-size:13px}.period-note{color:var(--sub);margin:10px 0 22px;font-size:11px;line-height:1.7}.day-heading{color:var(--sub);justify-content:space-between;gap:8px;padding:16px 0 5px;font-size:11px;display:flex}.transaction{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:8px;width:100%;min-height:64px;padding:10px 0;display:flex}.category-icon{background:var(--paper);border-radius:11px;flex-shrink:0;place-items:center;width:33px;height:33px;font-size:19px;display:grid}.transaction-name{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:500}.transaction-name small{color:var(--sub);margin-top:4px;font-size:11px;font-weight:400;line-height:1.6;display:block}.transaction-money{font-variant-numeric:tabular-nums;flex-shrink:0;font-size:14px;font-weight:550}.add-record{margin-top:24px}nav{border-top:1px solid var(--line);padding:8px 10px max(10px, env(safe-area-inset-bottom));background:var(--paper);z-index:2;grid-template-columns:repeat(4,1fr);display:grid;position:sticky;bottom:0}nav button{min-height:54px;color:var(--sub);background:0 0;border:0;border-radius:12px;flex-direction:column;align-items:center;gap:5px;padding:8px 2px;font-size:12px;display:flex}nav button[aria-current=page]{background:var(--soft);color:var(--green)}.app-message{background:var(--soft);border-top:1px solid var(--line);margin:0;padding:10px 20px;font-size:12px;line-height:1.7}.app-message .button{margin-top:7px}.date-type{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center;gap:8px;display:grid}.date-type .segments{gap:1px;margin:0;padding:2px}.date-type .segments button{min-height:40px;padding:5px 2px;font-size:12px}.date-type input{padding:9px 6px;font-size:14px}.editor .field{margin:10px 0}.editor textarea{min-height:50px}.editor .panel{margin:10px 0;padding:12px}.editor .primary{margin-top:18px}.receipt{padding:20px 16px}.receipt time{color:var(--sub);font-size:12px}.receipt-money{text-align:center;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:24px 0 8px;font-size:33px;font-weight:550}.receipt-money small{margin-left:4px;font-size:16px}.receipt h2{text-align:center;overflow-wrap:anywhere;min-height:24px;font-size:18px;font-weight:500}.receipt>p.muted{text-align:center;margin:8px 0 22px}.link-note{border-top:1px solid var(--line);color:var(--green);margin-top:18px;padding-top:15px;font-size:12px}.plan-rows{max-height:300px;margin-top:18px;overflow:auto}.plan-rows .row{border-top:1px solid var(--line);padding:12px 0;font-size:12px}.plan-rows small{color:var(--sub);margin-top:4px;font-size:10px;display:block}.plan-rows .row>span:last-child{text-align:right}.review-total{text-align:right;color:var(--green);margin:6px 0 15px;font-size:28px;font-weight:550}.review-total small{margin-left:4px;font-size:14px}.preview-rows{max-height:240px;margin-top:14px;overflow:auto}.preview-rows .row{border-bottom:1px solid var(--line);padding:8px 0;font-size:12px}.calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.weekday{text-align:center;color:var(--sub);padding-bottom:8px;font-size:12px}.calendar-day{background:0 0;border:0;border-radius:10px;flex-direction:column;align-items:center;gap:4px;min-height:63px;padding:5px 1px;display:flex;overflow:hidden}.calendar-day[aria-pressed=true]{background:var(--soft);outline:1px solid var(--green)}.calendar-day small{text-overflow:ellipsis;max-width:100%;font-size:9px;overflow:hidden}.calendar-day i{background:var(--green);border-radius:50%;width:4px;height:4px;margin-top:auto;display:block}.summary-total{border-bottom:1px solid var(--line);margin-bottom:8px;padding-bottom:18px}.summary-total strong{overflow-wrap:anywhere;text-align:right;font-size:20px;font-weight:550}.breakdown{text-align:left;background:0 0;border:0;width:100%;padding:14px 0;display:block}.breakdown strong{font-variant-numeric:tabular-nums;font-weight:500}.search-input{margin:12px 0 20px;position:relative}.search-input svg{color:var(--sub);position:absolute;top:14px;left:12px}.search-input input{padding-left:40px}.filters .field{margin:7px 0}.filters input,.filters select{padding:9px;font-size:14px}.menu-row{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:50px;padding:14px 0;display:flex}.menu-row:last-child{border-bottom:0}.menu-row small{color:var(--sub);margin-top:4px;font-size:11px;display:block}.version{text-align:center;margin:20px 0}.number-field{gap:8px;display:flex}.number-field input{flex:1;min-width:0}.category-row{border-bottom:1px solid var(--line);padding:9px 0}.category-row .button{min-height:40px;padding:8px;font-size:12px}.invitation{border-top:1px solid var(--line);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:8px;padding:12px 0;font-size:12px;display:flex}.invitation small{color:var(--sub);margin-top:4px;font-size:10px;display:block}@media (width<=440px){.app{min-height:100dvh;box-shadow:none;border:0;border-radius:0;margin:0}}@media (width<=360px){main,.app-header{padding-left:14px;padding-right:14px}.totals strong,.balance-line strong{font-size:18px}.transaction-money{font-size:12px}.transaction-name{font-size:13px}.pair{gap:8px}.details{grid-template-columns:78px minmax(0,1fr)}.date-type .segments button{font-size:11px}.date-type input{font-size:13px}.receipt-money{font-size:29px}}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#f7f8f6;--paper:#fff;--text:#1b3028;--sub:#63766c;--line:#e1e7e1;--green:#176448;--soft:#e7f2e9;--out:#ab4838;--on:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:#e9eeea;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:3px}a{color:var(--green)}fieldset{border:0;min-inline-size:0;margin:0;padding:0}h1,h2,h3,p{margin:0}h1{letter-spacing:-.8px;font-size:25px;font-weight:600;line-height:1.45}h2{font-size:22px;font-weight:550;line-height:1.4}h3{font-size:16px;font-weight:550}small{font-size:12px}svg{flex-shrink:0;width:20px;height:20px}.muted,.eyebrow{color:var(--sub);font-size:12px;line-height:1.7}.eyebrow{letter-spacing:.3px;margin-bottom:4px}.income,.success{color:var(--green)}.out,.error,.danger{color:var(--out)}.error,.success{overflow-wrap:anywhere;margin:12px 0;font-size:13px;line-height:1.6}.warning{color:var(--out);font-size:13px;line-height:1.7}.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.row>*{min-width:0}.pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.field{margin:15px 0;font-size:13px;display:block}.field>span{color:var(--sub);margin-bottom:6px;display:block}.field input,.field select,.field textarea{margin:0}input,select,textarea{width:100%;min-width:0;border:1px solid var(--line);min-inline-size:0;min-height:46px;color:var(--text);background:var(--paper);border-radius:11px;padding:11px 12px;font-size:16px;display:block}input[type=date]{appearance:none}input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--green);flex-shrink:0;margin:0}textarea{resize:vertical;line-height:1.5}.check-row{align-items:center;gap:12px;min-height:50px;font-size:14px;line-height:1.5;display:flex}.check-row small{color:var(--sub);display:block}.button{border:1px solid var(--line);background:var(--paper);border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:10px 14px;font-size:14px;display:inline-flex}.button.primary,.button.danger-fill{background:var(--green);width:100%;min-height:48px;color:var(--on);border:0;padding:13px 16px;font-weight:550}.button.danger-fill{background:var(--out)}.button.text{color:var(--sub);background:0 0;border:0;padding:8px 2px}.button.text.danger,.button.danger{color:var(--out)}.button.period{justify-content:space-between;width:100%;margin-bottom:16px}.inactive{opacity:.55}.panel{background:var(--paper);border:1px solid var(--line);border-radius:18px;margin:0 0 10px;padding:16px}.panel h3{margin-bottom:12px}.subtle{background:var(--soft)}.section-heading{margin:16px 0 10px}.page-title{margin:12px 0 22px}.segments{background:var(--bg);border-radius:13px;gap:5px;margin-bottom:16px;padding:4px;display:flex}.segments button{background:0 0;border:0;border-radius:10px;flex:1;min-width:0;min-height:40px;padding:6px 4px}.segments button[aria-pressed=true]{background:var(--paper);color:var(--green);box-shadow:0 2px 4px #00000008}.amount-input{position:relative}.amount-input input{text-align:right;font-variant-numeric:tabular-nums;padding:14px 38px 14px 12px;font-size:28px;font-weight:550}.amount-input>span{color:var(--sub);font-size:14px;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.empty{text-align:center;color:var(--sub);padding:45px 8px 20px}.empty-symbol{background:var(--soft);width:60px;height:60px;color:var(--green);border-radius:20px;place-items:center;margin-bottom:15px;display:inline-grid}.empty-symbol svg{width:28px;height:28px}.empty h3{color:var(--text);margin-bottom:8px}.empty p{font-size:13px;line-height:1.8}.empty-action{text-align:center;margin:0 0 32px}dialog{border:1px solid var(--line);background:var(--paper);color:var(--text);border-radius:22px;width:calc(100% - 28px);max-width:390px;max-height:90dvh;padding:22px;overflow:auto;box-shadow:0 20px 80px #0004}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#14251b80}dialog h2{margin-bottom:16px;font-size:20px}.dialog-content{overflow-wrap:anywhere;font-size:14px;line-height:1.8}.dialog-actions{background:var(--paper);gap:10px;margin-top:22px;padding:12px 0 0;display:flex;position:sticky;bottom:-22px}.dialog-actions>.button{flex:1}.details{grid-template-columns:86px minmax(0,1fr);gap:14px 8px;margin:20px 0 0;font-size:14px;display:grid}.details dt{color:var(--sub);font-size:12px}.details dd{white-space:pre-wrap;overflow-wrap:anywhere;min-height:20px;margin:0}.track{background:var(--bg);border-radius:8px;height:7px;margin:10px 0;overflow:hidden}.track>div{background:var(--green);border-radius:8px;height:100%}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#171d1b;--paper:#202825;--text:#edf4ef;--sub:#a4b8ac;--line:#3b4941;--green:#8bdbb1;--soft:#293e32;--out:#ffad9b;--on:#12291c;background:#111714}@media (prefers-color-scheme:dark){html:not([data-theme=light]):not([data-theme=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#171d1b;--paper:#202825;--text:#edf4ef;--sub:#a4b8ac;--line:#3b4941;--green:#8bdbb1;--soft:#293e32;--out:#ffad9b;--on:#12291c;background:#111714}}@media (prefers-reduced-motion:no-preference){button{transition:background-color .12s,opacity .12s}dialog{animation:.15s ease-out appear}@keyframes appear{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}
