@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{font-family:'Noto Sans KR',sans-serif;color:#263e37;background:#f7f8f5;font-synthesis:none;--green:#224f45;--muted:#78847e;--border:#e4e9e2}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d6a357;outline-offset:3px}button{border:0}button:disabled{opacity:.5;cursor:not-allowed}[hidden]{display:none!important}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:#eef1e9;padding:40px 25px;border-right:1px solid var(--border);display:flex;flex-direction:column}.brand{text-decoration:none;color:var(--green);font-size:36px;font-weight:800;letter-spacing:-3px}.brand span{display:block;font-size:11px;letter-spacing:1px;margin-top:5px;font-weight:500}.home-label{font-size:11px;color:var(--muted);margin:62px 16px 16px}nav{display:grid;gap:9px}nav button{background:none;text-align:left;border-radius:10px;padding:16px;color:#6d7d71}nav button span{margin-left:12px;font-size:14px}nav button.active{background:var(--green);color:white;box-shadow:0 5px 12px #224f4512}.sidebar-note{margin-top:auto;padding:100px 15px 0;font-size:13px;line-height:1.9;color:#667565}.sidebar-note span{display:block;font-size:11px;margin-top:14px;color:#91a08c}main{padding:0 5%;max-width:1500px;width:100%}header{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:12px}.breadcrumb{font-size:12px;font-weight:600}.breadcrumb span{color:#89948a;font-weight:400;margin-left:12px}.actor{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}.actor select{padding:8px 12px;background:white;border:1px solid var(--border);border-radius:20px;color:var(--green);font-size:12px}.prototype{margin-top:22px;font-size:11px;color:#846d3c;background:#f1ead9;padding:11px 15px;border-radius:7px}.prototype span{color:#887d66;margin-left:14px}.heading{display:flex;align-items:center;justify-content:space-between;margin:36px 0 30px;gap:18px}.eyebrow{font-size:10px;letter-spacing:2px;color:#9b875a;font-weight:700;margin:0 0 12px}h1{font-size:30px;letter-spacing:-1.5px;margin:0 0 10px}p{line-height:1.7}.heading p:last-child{font-size:13px;color:var(--muted);margin:0}.primary{background:var(--green);color:white;border-radius:9px;padding:14px 23px;font-weight:600;font-size:13px;white-space:nowrap}.secondary{background:white;border:1px solid #dce3d9;padding:10px 14px;border-radius:8px;color:#586b5e;font-size:12px}.filters{display:flex;align-items:end;gap:18px;padding:21px 24px;background:white;border:1px solid var(--border);border-radius:12px}.filters label{font-size:11px;color:var(--muted);display:grid;gap:8px;min-width:150px}.filters input,.filters select{width:100%;background:#f8faf6;border:1px solid var(--border);border-radius:7px;padding:10px;color:#334c40;font-size:12px;min-height:40px}.text-button{background:transparent;color:#859080;font-size:11px;padding:12px;margin-left:auto}.totals{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0 36px}.total-card{background:white;border:1px solid var(--border);border-radius:12px;padding:23px 24px}.total-card:last-child{background:#eaf0e5;border-color:#dfe8d7}.total-label{font-size:12px;color:var(--muted)}.total-value{font-size:27px;letter-spacing:-1px;font-weight:700;margin:14px 0 7px;font-variant-numeric:tabular-nums}.total-value small{font-size:14px;font-weight:400;margin-left:3px}.total-caption{font-size:10px;color:#939c8d}.expense-text{color:#b36e51}.income-text{color:#35685c}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}h2{font-size:17px;margin:0;letter-spacing:-.4px}.section-title p{font-size:11px;color:var(--muted);margin:7px 0 0}#count{font-size:12px;font-weight:500;color:#9aa38f;margin-left:6px}.table-head{display:grid;grid-template-columns:1fr 180px 150px;padding:13px 20px;background:#edf0e9;border-radius:8px;font-size:10px;color:#7c8978}.table-head span:last-child{text-align:right}.entry{display:grid;grid-template-columns:1fr 180px 150px;width:100%;padding:20px;border-bottom:1px solid var(--border);text-align:left;background:transparent;align-items:center;color:inherit;gap:8px}.entry:hover{background:#f0f3ec}.entry-main{display:flex;align-items:center;gap:14px;min-width:0}.entry-icon{width:41px;height:41px;flex-shrink:0;background:#ebeedd;display:grid;place-items:center;border-radius:13px;font-size:17px}.entry-title{font-size:13px;font-weight:600;overflow-wrap:anywhere}.entry-sub{font-size:10px;color:#929c8c;margin-top:6px}.entry-meta{font-size:11px;display:flex;gap:8px;align-items:center}.pill{background:#edf1e7;color:#6b7a5a;padding:5px 9px;border-radius:5px}.entry-amount{text-align:right;font-size:15px;font-weight:600;white-space:nowrap}.entry-amount small{font-size:10px;font-weight:400}.empty{padding:45px 20px;text-align:center;color:var(--muted);font-size:13px}.muted{font-size:12px;color:var(--muted)}footer{padding:36px 0 25px;display:flex;align-items:center;gap:15px;color:#99a28f;font-size:15px;font-weight:700}footer span{font-size:10px;font-weight:400}.setting-card{background:#edf1e8;border-radius:12px;padding:22px;margin:20px 0 30px}.setting-card h3{font-size:14px;margin-top:0}.setting-card p{font-size:12px;color:#6d7c67;max-width:650px}.category-row{margin:23px 0}.category-row>div{display:flex;justify-content:space-between;font-size:13px;margin-bottom:9px}.bar{height:8px;border-radius:8px;background:#e8eddf;overflow:hidden}.bar span{height:100%;display:block;background:#63836a;border-radius:8px}.trash-row{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:12px;border-bottom:1px solid var(--border);font-size:12px}#status{background:#fff1dc;padding:12px;margin-top:12px;font-size:12px;border-radius:8px}dialog{border:0;border-radius:18px;padding:28px;width:min(520px,calc(100% - 24px));max-height:90dvh;color:#263e37;box-shadow:0 25px 100px #19372b33}dialog::backdrop{background:#1b302960;backdrop-filter:blur(3px)}.dialog-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.icon-button{background:#eef1e9;border-radius:50%;width:34px;height:34px;color:#61705a}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{font-size:12px;display:grid;gap:8px}.form-grid input,.form-grid select{width:100%;min-width:0;padding:12px;border:1px solid #dce3d7;border-radius:8px;background:#fbfcf9;color:#263e37}.full{grid-column:1/-1}.full .muted{display:contents}.dialog-actions{display:flex;justify-content:space-between;margin-top:22px;gap:12px}.dialog-actions .primary{margin-left:auto}.danger{background:#faeee8;color:#a65f49;padding:10px 15px;border-radius:8px}#form-error{font-size:12px;color:#ad4935}#author-note{margin-top:18px}
@media(min-width:1450px){.shell{max-width:1600px;margin:auto}.sidebar{min-height:100vh}}@media(max-width:1050px){.shell{grid-template-columns:175px 1fr}.sidebar{padding:30px 18px}main{padding:0 24px}.filters{gap:10px;padding:18px}.filters label{min-width:0;flex:1}.text-button{display:none}.table-head,.entry{grid-template-columns:1fr 125px 120px}.total-card{padding:20px 16px}.total-value{font-size:23px}}@media(max-width:700px){.shell{display:block}.sidebar{min-height:auto;padding:20px 20px 0;border-right:0;border-bottom:1px solid var(--border)}.brand{font-size:29px;letter-spacing:-2px}.brand span{display:inline;margin-left:12px;letter-spacing:.5px}.home-label,.sidebar-note{display:none}nav{display:flex;margin-top:17px;gap:7px}nav button{flex:1;padding:12px 5px;border-radius:9px 9px 0 0;text-align:center}nav button span{margin-left:5px;font-size:12px}nav button.active{box-shadow:none}main{padding:0 18px}header{height:63px}.breadcrumb{font-size:11px}.breadcrumb span{display:none}.actor{font-size:10px}.prototype{margin-top:14px;line-height:1.7;padding:10px 12px}.prototype span{display:block;margin-left:0;font-size:10px}.heading{margin:28px 0 23px;align-items:flex-start;flex-wrap:wrap}h1{font-size:25px}.heading p:last-child{font-size:11px}.heading .primary{padding:11px 15px}.filters{padding:13px;gap:9px;flex-wrap:wrap}.filters label:first-child{flex-basis:100%}.filters label{flex:1 1 40%}.filters input,.filters select{font-size:12px}.totals{gap:8px;margin:14px 0 27px}.total-card{padding:15px 10px;border-radius:10px}.total-label{font-size:10px}.total-value{font-size:18px;letter-spacing:-.7px;margin:12px 0 5px}.total-value small{font-size:10px}.total-caption{font-size:8px}.section-title h2{font-size:16px}.section-title p{font-size:10px}.section-title .secondary{font-size:10px;padding:8px}.table-head{display:none}.entry{grid-template-columns:1fr auto;padding:17px 0;gap:8px}.entry-main{gap:10px;grid-row:1/3}.entry-icon{width:36px;height:36px;font-size:15px}.entry-meta{grid-column:2;grid-row:2;font-size:9px;justify-content:flex-end}.entry-amount{grid-column:2;grid-row:1;font-size:14px}.entry-title{font-size:12px}.entry-sub{font-size:9px}.pill{padding:3px 6px}footer{gap:10px;padding-top:30px}footer span{font-size:9px}dialog{padding:23px}.form-grid{gap:14px}.form-grid input,.form-grid select{font-size:14px}.form-grid label{font-size:11px}}
