:root{--bg:#f4f5f8;--ink:#1b2433;--muted:#6b7280;--accent:#4338ca;--line:#e5e7eb;--bar:#111827;--white:#fff}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15.5px/1.65 "Plus Jakarta Sans","Noto Sans KR",-apple-system,"Segoe UI","Apple SD Gothic Neo","Malgun Gothic",sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{border:0;border-radius:10px;background:#8a8c82;color:#fff;padding:11px 17px;font-weight:700;cursor:pointer}button.primary,button[aria-pressed=true]{background:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a5b4fc;outline-offset:3px}input,select,textarea{background:white;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:11px 13px;min-width:0;max-width:100%;font-size:16px}input{width:100%}p{margin:10px 0}h1{font-size:23px;margin:14px 0 20px}h2{font-size:19px;margin:0 0 12px}h2 small{font-size:14px;font-weight:400}.topbar{background:var(--bar);color:white}.bar-inner{max-width:1200px;margin:auto;padding:8px 18px;display:flex;align-items:center;justify-content:space-between;min-height:46px;font-weight:700}.bar-inner form{margin:0}.bar-inner small{color:#a5b4fc;margin-left:8px}.logout{background:none;font-size:14px;padding:5px 0;color:#cbd5e1}.mainnav{max-width:1200px;display:flex;flex-wrap:wrap;margin:0 auto;padding:10px 12px;gap:4px}.mainnav a{display:block;padding:7px 10px;color:#4b5563;font-size:14px;white-space:nowrap;border-radius:7px}.mainnav a[aria-current]{color:var(--accent);background:#e9e7ff;font-weight:700}main{max-width:1140px;margin:0 auto;padding:14px 18px 40px}.workspace-notice{font-size:12px;color:#6b7280;text-align:right}.card{border:1px solid var(--line);background:white;border-radius:18px;padding:18px;margin:0 0 18px;box-shadow:0 2px 6px #11182705}.narrow{max-width:560px}.stack{display:flex;flex-direction:column;gap:8px}.stack button{align-self:flex-start;margin-top:8px}.stack label{font-weight:650}.muted,small{color:var(--muted)}.notice{padding:14px 18px;border-radius:10px;background:#eef0ff;border:1px solid #d9dcff;margin-bottom:18px;font-size:14px}.notice p{margin:5px 0}.error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.success{background:#effaf5;border-color:#bbf7d0;color:#166534}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}.metric{background:white;border:1px solid var(--line);padding:18px;border-radius:14px;color:var(--ink);display:flex;flex-direction:column}.metric strong{font-size:28px;color:var(--accent)}.metric span{font-size:14px;color:var(--muted)}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.big-number{font-size:32px;font-weight:800;margin:8px 0 16px;color:var(--accent)}.section-heading{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.section-heading h2{margin:0}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.tabs a{border-radius:9px;padding:7px 17px;background:#f3f4f6;color:#4b5563}.tabs a[aria-current]{background:var(--accent);color:white}.formula{padding:14px 16px;color:var(--accent);background:#f0efff;border-radius:10px;font-size:14px;font-weight:600;margin:14px 0}.calculator-input{display:grid;grid-template-columns:160px 1fr;gap:12px;align-items:center;margin:14px 0}.calculator-input label{font-weight:700}[hidden]{display:none!important}.results{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px}.results>div{padding:16px;background:#f6f6fd;border-radius:12px;display:flex;flex-direction:column;gap:6px}.results strong{font-size:21px;color:var(--accent)}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.grow{flex:1;min-width:220px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{white-space:nowrap;background:#f8f9fc;font-weight:700}td small{display:block}code{font-size:13px;overflow-wrap:anywhere}.empty{padding:36px 16px;text-align:center;color:var(--muted)}.badge{font-size:13px;border-radius:7px;background:#ede9fe;color:#5b21b6;padding:4px 8px;white-space:nowrap}.transaction{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.transaction:last-child{border:0}.transaction p{font-size:13px}.amount{text-align:right;min-width:160px}.amount strong{font-size:19px}.amount small{display:block;font-size:12px}.credit{color:#15803d}.debit{color:#dc2626}dl{display:grid;grid-template-columns:100px 1fr;gap:8px}dt{color:var(--muted)}dd{margin:0}summary{font-weight:700;cursor:pointer}.timeline{list-style:none;padding:0;margin:12px 0}.timeline li{display:flex;gap:20px;padding:10px 0;border-bottom:1px solid var(--line)}.timeline strong{min-width:90px;color:var(--accent)}footer{color:#89909c;font-size:12px;text-align:center;padding:20px 0;margin-top:25px}footer span{font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:760px){main{padding:10px 14px 94px}.mainnav{position:fixed;z-index:10;bottom:0;left:0;right:0;max-width:none;flex-wrap:nowrap;overflow-x:auto;background:var(--bar);padding:5px 7px 9px;border-top:1px solid #374151}.mainnav a{font-size:12px;padding:12px 9px;color:#aab3c3}.mainnav a[aria-current]{color:white;background:#312e81}.two-columns{grid-template-columns:1fr;gap:0}.metrics{grid-template-columns:repeat(2,1fr)}.metric:last-child:nth-child(odd){grid-column:span 2}.results{grid-template-columns:1fr 1fr}.card{padding:15px}.calculator-input{grid-template-columns:116px 1fr}.transaction{flex-direction:column;gap:5px}.amount{text-align:left}.toolbar .grow{min-width:100%}.workspace-notice{text-align:left}.topbar .bar-inner{padding-left:14px}.timeline li{font-size:14px}.timeline strong{min-width:67px}}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:12px 0 20px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-weight:600}.form-grid label:has(input[type=hidden]){display:none}.form-grid textarea{width:100%}.table-scroll{overflow:auto}.button{padding:9px 14px;border-radius:9px;background:#e9e7ff;display:inline-block}.toolbar{margin-bottom:18px}
