:root{--ink:#17332d;--green:#0d493c;--mint:#dff3e8;--cream:#f5f3ec;--line:#dfe5df;--orange:#e56b38;--muted:#6d7c77;font-family:Inter,"Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif;color:var(--ink);background:var(--cream)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}header{height:72px;padding:0 max(24px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;gap:11px;align-items:center}.brand b{display:block;font-size:19px}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.logo{background:var(--green);color:white;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-weight:800}.local{color:#467867;font-size:12px;background:#eef8f3;padding:8px 12px;border-radius:20px}main{max-width:1200px;margin:auto;padding:46px 24px 80px}.hero{display:flex;justify-content:space-between;align-items:end;margin-bottom:36px}.eyebrow{color:#31836c;font-weight:800;font-size:11px;letter-spacing:1.8px}.hero h1{font-family:Georgia,"Noto Serif KR",serif;font-size:45px;line-height:1.15;margin:12px 0}.hero h1 em{font-style:normal;color:var(--orange)}.hero p{color:var(--muted);max-width:590px;line-height:1.7}.year{background:white;border:1px solid var(--line);padding:12px 16px;border-radius:12px}.year label{font-size:11px;color:var(--muted);display:block}.year select{border:0;font-weight:800;font-size:19px;color:var(--ink);background:white}nav{display:flex;border-bottom:1px solid #cfd8d2;margin-bottom:28px;gap:30px}nav button{border:0;background:transparent;padding:14px 3px;color:var(--muted);font-weight:700}nav button.active{color:var(--green);border-bottom:3px solid var(--green)}.hidden{display:none!important}.notice{padding:13px 16px;background:#fff4de;border:1px solid #f3d7a3;border-radius:10px;color:#73572d;font-size:13px;margin-bottom:18px}.cards{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 5px 25px #17332d0a}.card small{color:var(--muted);font-weight:700}.card strong{display:block;font-size:28px;margin:17px 0}.card p{font-size:12px;color:var(--muted);margin:0}.card.dark{background:var(--green);color:white}.card.dark small,.card.dark p{color:#c8ded6}.progress{height:5px;background:#376b5f;border-radius:5px;margin-bottom:12px}.progress i{display:block;width:0;height:100%;background:#f4a478;border-radius:5px}.grid{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;margin-top:18px}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px}.panel-title h2,.panel h2{margin:6px 0;font-size:20px}.months{display:grid;gap:12px}.month{display:grid;grid-template-columns:55px 1fr 120px;align-items:center;font-size:13px}.bar{background:#edf0ec;height:7px;border-radius:8px;margin:0 13px}.bar i{display:block;background:#e98a60;height:100%;border-radius:8px}.empty{color:var(--muted);padding:30px 0;text-align:center;font-size:13px}.subtle,.primary{border-radius:9px;border:1px solid var(--line);background:white;padding:9px 13px;color:var(--ink);font-weight:700;font-size:13px}.primary{background:var(--green);color:white;border-color:var(--green)}.file input{display:none}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px}table{border-collapse:collapse;width:100%;min-width:1500px}th{text-align:left;padding:13px 12px;background:#f1f3ef;color:var(--muted);font-size:11px;white-space:nowrap}td{padding:15px 12px;border-top:1px solid var(--line);font-size:13px;vertical-align:top}td b{display:block}.meta{font-size:11px;color:var(--muted);margin-top:3px}.badge{font-size:10px;padding:4px 7px;border-radius:12px;background:#e7f4ed;color:#28705d;white-space:nowrap}.badge.warn{background:#fff0d9;color:#9a621d}.badge.demo{background:#f5e9fb;color:#71458b}.row-actions button{border:0;background:transparent;color:var(--muted);padding:3px}.other{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:12px 0}.other button{border:0;background:none;color:#a35e4d}.muted{color:var(--muted);line-height:1.6;font-size:13px}.product{padding:13px 0;border-top:1px solid var(--line)}.product b{display:block}.product small{color:var(--muted)}.source-list{list-style:none;padding:0}.source-list li{border-top:1px solid var(--line)}a{color:#19735e}.source-list a{display:block;padding:15px 0;text-decoration:none;font-weight:700}.legal{margin-top:18px}.legal strong{font-size:21px;display:block;margin:16px 0;color:var(--orange)}dialog{border:0;border-radius:18px;padding:0;width:min(740px,calc(100% - 24px));box-shadow:0 30px 80px #001a;max-height:92vh}dialog::backdrop{background:#09241dcc}dialog form{padding:25px}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.dialog-head h2{margin:5px 0}.icon{border:0;background:#eff2ef;border-radius:50%;font-size:23px;width:34px;height:34px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .wide{grid-column:1/-1}label{font-size:12px;font-weight:700;color:var(--muted)}input,select{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #cfd8d2;border-radius:8px;color:var(--ink);background:white}input:focus,select:focus{outline:2px solid #79bca8;border-color:transparent}.form-note{background:#f4f6f2;padding:11px;font-size:12px;color:var(--muted)}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,100px);background:#142c27;color:white;padding:12px 18px;border-radius:10px;font-size:13px;transition:.25s;z-index:10}#toast.show{transform:translate(-50%,0)}
@media(max-width:700px){header{padding:0 16px}.local{font-size:0}.local::after{content:"● 저장됨";font-size:11px}main{padding:28px 16px 60px}.hero{align-items:start}.hero h1{font-size:34px}.hero p{font-size:13px}.year{padding:9px}.cards,.grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.card.dark{grid-column:1/-1}.card{padding:18px}.card strong{font-size:23px}.panel{padding:18px}.panel-title{align-items:flex-start}.panel-title>div:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.month{grid-template-columns:43px 1fr 100px}nav{position:sticky;top:0;background:var(--cream);z-index:2}.hero br{display:none}}
