:root{--bg:#fafaf8;--fg:#1d1d1b;--muted:#5d5d58;--line:#deded8;--brand:#2456d6;--card:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#161614;--fg:#ecece6;--muted:#a3a39b;--line:#34342f;--brand:#7aa2ff;--card:#1f1f1c}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font:16px/1.7 system-ui,Noto Sans KR,sans-serif}a{color:var(--brand)}.wrap{max-width:760px;margin:0 auto;padding:0 16px}header.site{border-bottom:1px solid var(--line)}header.site .wrap{justify-content:space-between;align-items:center;height:56px;display:flex}header.site a.logo{color:var(--fg);font-weight:700;text-decoration:none}footer.site{border-top:1px solid var(--line);color:var(--muted);margin-top:48px;padding:24px 0;font-size:14px}footer.site nav a{margin-right:14px}h1{margin:32px 0 8px;font-size:28px;line-height:1.3}h2{margin:32px 0 8px;font-size:20px}.lead{color:var(--muted);margin:0 0 20px}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px}form.tool{gap:14px;display:grid}form.tool label{gap:4px;font-size:14px;font-weight:600;display:grid}form.tool input,form.tool select{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:8px;padding:10px}.err{color:#c0392b;min-height:1em;font-size:13px;font-weight:400}.row{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=520px){.row{grid-template-columns:1fr}}button{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--fg);cursor:pointer;border-radius:8px;padding:10px 16px}button.primary{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}button:disabled{opacity:.5;cursor:not-allowed}.actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.doc{color:#111;border:1px solid var(--line);background:#fff;border-radius:6px;margin:12px 0;padding:36px 28px}.doc-title{text-align:center;letter-spacing:.2em;margin:0 0 24px;font-size:26px}.doc-kv{border-collapse:collapse;width:100%;margin-bottom:8px}.doc-kv th,.doc-kv td{text-align:left;border:1px solid #bbb;padding:6px 10px}.doc-kv th{background:#f3f3f0;width:25%}.doc-para.align-center{text-align:center}.doc-para.align-right{text-align:right}.doc-sign{text-align:right;margin-top:24px}.doc-spacer{height:20px}.related ul{margin:6px 0;padding-left:18px}.ad-slot{min-height:100px}@media print{body *{visibility:hidden}.doc,.doc *{visibility:visible}.doc{border:0;width:100%;position:absolute;top:0;left:0}}form.tool label.check{align-items:center;gap:8px;font-weight:400;display:flex}form.tool label.check input{width:auto}.next-box{background:var(--card);border:1px solid var(--brand);border-radius:10px;padding:12px 16px;font-weight:600}.result-table{border-collapse:collapse;width:100%;margin:8px 0 16px}.result-table th,.result-table td{border-bottom:1px solid var(--line);text-align:left;padding:8px 10px}.result-table tr.highlight td{background:color-mix(in srgb, var(--brand) 14%, transparent);font-weight:600}.result-table tr.past td{color:var(--muted)}#saved-list{padding-left:18px}#saved-list li{margin:6px 0}textarea{font:inherit;border:1px solid var(--line);background:var(--bg);width:100%;color:var(--fg);resize:vertical;border-radius:8px;padding:12px}.counters{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}@media (width<=520px){.counters{grid-template-columns:repeat(2,1fr)}}.counters>div{background:var(--bg);border:1px solid var(--line);border-radius:8px;gap:2px;padding:10px;display:grid}.counters .k{color:var(--muted);font-size:12px}.counters strong{font-size:22px}.progress{background:var(--line);border-radius:6px;height:10px;overflow:hidden}.progress>div{background:var(--brand);width:0;height:100%;transition:width .15s}.progress>div.over{background:#c0392b}.notice{background:color-mix(in srgb, #c98a00 12%, var(--card));border-color:#c98a00;font-size:14px}.doc-table{border-collapse:collapse;width:100%;margin:8px 0 14px}.doc-table th,.doc-table td{border:1px solid #bbb;padding:6px 10px}.doc-table th{background:#f3f3f0}.doc-table .align-right{text-align:right}.doc-table .align-center{text-align:center}form.tool label textarea{font:inherit}.items-editor{gap:8px;display:grid}.items-head,.items-row{grid-template-columns:3fr 1fr 1.4fr 1.2fr auto;align-items:center;gap:6px;display:grid}.items-head{color:var(--muted);font-size:13px;font-weight:600}.items-row input{min-width:0}.item-amount{text-align:right;font-variant-numeric:tabular-nums}.items-total{margin:0;font-weight:600}@media (width<=560px){.items-head{display:none}.items-row{grid-template-columns:1fr 1fr}.items-row .item-name{grid-column:1/-1}}
