:root{color-scheme:light;--bg:#f2f5f3;--card:#fff;--ink:#192e2b;--muted:#63756f;--accent:#0b725d;--line:#e1e8e3;--warn:#865313;--red:#b33636;--shadow:0 6px 22px #173b2510;font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);padding-bottom:calc(94px + env(safe-area-inset-bottom));font-size:16px}button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.45;cursor:wait}header{display:flex;align-items:center;justify-content:space-between;padding:22px 22px 18px;background:#0d5145;color:white}h1{font-size:25px;margin:4px 0 0;letter-spacing:-.6px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.5px;color:#b5d4c8}.icon-button{border:1px solid #ffffff44;background:#ffffff12;color:white;width:43px;height:43px;border-radius:50%;font-size:29px}.identity{font-size:12px;color:var(--muted);padding:12px 22px 0}.demo{padding:10px 20px;background:#fff0ca;font-size:13px;font-weight:700;text-align:center}main{max-width:740px;margin:auto;padding:18px 18px 8px}h2{font-size:23px;margin:6px 0 6px;letter-spacing:-.6px}h3{font-size:16px;margin:0 0 12px}.subtitle{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 18px}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:21px;margin-bottom:13px;box-shadow:var(--shadow)}.hero{background:#0d5145;color:#fff;border-color:#0d5145}.hero .label{color:#bdd7cd}.label{font-size:13px;color:var(--muted);line-height:1.5}.amount{font-size:37px;font-weight:750;letter-spacing:-1.5px;line-height:1.25;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:8px 0}.amount.small{font-size:25px}.positive{color:var(--accent)}.negative{color:var(--red)}.hero .amount{color:white}.row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;line-height:1.7;margin:5px 0}.row>span:first-child{color:var(--muted);font-size:14px}.row>strong{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.line{border-top:1px solid var(--line);margin:15px 0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid .card{min-width:0;padding:17px;margin-bottom:0}.section-gap{margin-top:18px}.tag{display:inline-block;padding:5px 9px;border-radius:8px;background:#edf4f0;font-size:12px;color:var(--accent);font-weight:650}.tag.warn{background:#fff3dc;color:var(--warn)}.tag.bad{background:#ffeaea;color:var(--red)}.warning{font-size:13px;line-height:1.65;padding:13px 15px;background:#fff6e6;border-radius:12px;color:#765118;margin-top:12px}.small-note{font-size:12px;color:var(--muted);line-height:1.65}.primary,.secondary,.danger{border:0;border-radius:13px;min-height:49px;padding:13px 16px;font-weight:650;width:100%;margin-top:12px}.primary{color:#fff;background:var(--accent)}.secondary{background:#edf3ef;color:var(--ink);border:1px solid var(--line)}.danger{background:#fff0ed;color:var(--red)}.text-button{background:none;border:0;color:var(--muted);padding:13px 5px;font-size:13px;width:100%;line-height:1.5}.choices{display:flex;gap:8px;margin:8px 0 17px}.choices button{flex:1;min-height:47px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--muted);font-weight:600}.choices button.selected{background:#e1efe7;border:2px solid var(--accent);color:var(--accent)}label{display:block;font-size:13px;color:var(--muted);font-weight:600;margin:18px 0 7px}input,select,textarea{border:1px solid #cfdbd3;border-radius:12px;background:var(--card);color:var(--ink);padding:13px 14px;min-height:49px;width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0b725d14}input.money-input{font-size:27px;font-weight:650;letter-spacing:-.6px}input[type=date]{min-width:0;max-width:100%;-webkit-appearance:none}textarea{resize:vertical;min-height:75px}.chips{display:flex;gap:7px;margin-top:10px}.chips button{background:#f0f4f1;color:var(--muted);border:0;border-radius:9px;padding:8px 11px;font-size:13px}.ledger-item{width:100%;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:16px;padding:17px;margin-bottom:9px;display:block;color:var(--ink)}.ledger-item .row{margin:0}.ledger-item .row>strong{font-size:19px}.ledger-item.void{opacity:.6}.memo{font-size:13px;color:var(--muted);margin-top:8px;overflow-wrap:anywhere}.empty{padding:28px 15px;text-align:center;color:var(--muted);line-height:1.8}.pill-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.pill-row input{width:170px}.pill-row .secondary{margin:0;width:auto;white-space:nowrap}.two-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px}.two-buttons button{margin:6px 0}nav{position:fixed;bottom:0;left:0;right:0;background:#ffffffed;border-top:1px solid var(--line);display:flex;padding:8px 8px calc(9px + env(safe-area-inset-bottom));backdrop-filter:blur(16px);z-index:10}nav button{width:20%;border:0;background:transparent;color:#7b8982;font-size:11px;font-weight:600;min-height:49px;border-radius:12px}nav button span{display:block;font-size:24px;line-height:29px}nav button[aria-current=page]{color:var(--accent);background:#e8f2ec}#progress{position:sticky;top:0;z-index:15;background:#dff0e7;color:#0d5145;padding:11px;text-align:center;font-size:13px}#notice{position:fixed;top:14px;left:16px;right:16px;z-index:100;background:#203c32;color:white;padding:15px 18px;border-radius:14px;box-shadow:0 8px 25px #0003;font-size:14px;line-height:1.6}dialog{border:0;border-radius:22px;padding:23px;max-width:calc(100% - 28px);width:430px;max-height:85dvh;overflow:auto;color:var(--ink);background:var(--card);box-shadow:0 20px 90px #0004}dialog::backdrop{background:#0c2a2366;backdrop-filter:blur(3px)}.preview-text{white-space:pre-wrap;font-size:15px;line-height:1.8;overflow-wrap:anywhere}details{margin-top:12px}summary{cursor:pointer;font-size:13px;color:var(--accent);padding:7px 0}.history{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.7}.history:last-child{border:0}[hidden]{display:none!important}:focus-visible{outline:3px solid #74b7a1;outline-offset:2px}
@media(min-width:750px){header,.identity{padding-left:calc((100% - 704px)/2);padding-right:calc((100% - 704px)/2)}nav{left:50%;right:auto;transform:translateX(-50%);width:740px;border-radius:18px 18px 0 0}.amount{font-size:43px}#notice{left:50%;right:auto;transform:translateX(-50%);width:460px}}

.hero .small-note{color:#c9dfd4}
.connection{max-width:740px;margin:0 auto;padding:10px 18px;font-size:12px;line-height:1.6;color:#48675b;background:#e9f2ed;overflow-wrap:anywhere}.connection[data-state=offline],.connection[data-state=slow],.connection[data-state=stale]{background:#fff4de;color:#79521a}.connection[data-state=expired]{background:#fbe9e7;color:#982f2f}
.money-input{font-variant-numeric:tabular-nums}.money-tools{display:flex;align-items:center;gap:8px;justify-content:space-between}.money-help{font-size:12px;color:var(--accent);line-height:1.6;margin:8px 0;overflow-wrap:anywhere}.money-help.invalid{color:var(--red)}.money-clear{flex-shrink:0;border:0;background:transparent;color:var(--muted);padding:10px 4px;font-size:12px;min-height:40px}input[aria-invalid=true]{border-color:var(--red)}
.chips{flex-wrap:wrap}.chips.additions button{background:#e5f0e9;color:var(--accent)}.actual-check{display:flex;align-items:center;gap:10px;line-height:1.7;color:var(--ink);font-size:14px;padding:12px 0}.actual-check input{width:24px;min-height:24px;flex-shrink:0;accent-color:var(--accent)}
.chart-svg{display:block;width:100%;height:auto;max-height:340px;overflow:visible}.chart-axis{font:9px system-ui;fill:#687d71}.chart-date{font:10px system-ui;fill:#496252}.chart-svg g[role=button]{cursor:pointer}.chart-svg g[role=button]:focus{outline:2px solid #16745d;outline-offset:2px}.analysis-table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.6;margin-top:10px;table-layout:fixed}.analysis-table th,.analysis-table td{text-align:right;padding:9px 3px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.analysis-table th:first-child{width:22%;text-align:left}.table-day{border:0;background:none;color:var(--accent);padding:10px 0;font:inherit;text-decoration:underline;min-height:40px}
.chart-axis{font-size:11px}.chart-date{font-size:12px}
.dialog-close{position:sticky;top:0;float:right;z-index:1;width:44px;height:44px;border:0;border-radius:12px;background:#f0f5f1;color:var(--ink);font-size:26px;line-height:1}
