@import url('./public-navigation.css');
@import url('./batch-manager.css');
:root{--ink:#162b43;--muted:#697687;--line:#dde3eb;--navy:#163b64;--paper:#f4f6f8;--accent:#327796;font-family:Inter,"Pretendard","Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;font-synthesis:none}*{box-sizing:border-box}body{margin:0;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--ink);padding:11px 16px;border-radius:5px;font-size:13px;font-weight:600;min-height:44px}button:hover{background:#f0f4f8}button:disabled{opacity:.5;cursor:wait}input,select,textarea{border:1px solid #c8d1dd;background:#fff;color:var(--ink);border-radius:4px;padding:11px 12px;min-height:44px;width:100%;font-size:14px}textarea{resize:vertical;min-height:80px}label{font-size:12px;display:flex;flex-direction:column;gap:7px;margin:12px 0}label>span{font-weight:550}h1,h2,h3,p{margin-top:0}a{color:inherit;text-underline-offset:4px}:focus-visible{outline:3px solid #398aaa;outline-offset:3px}[hidden]{display:none!important}.skip{position:absolute;left:20px;top:-100px;background:#fff;padding:12px;z-index:99}.skip:focus{top:10px}.calc-brand{min-height:78px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:20px max(28px,calc((100vw - 1260px)/2))}.calc-brand img{display:block}.calc-brand nav{display:flex;gap:28px;align-items:center;margin-left:auto}.calc-brand nav a{font-size:13px;text-decoration:none;opacity:.8}.calc-brand nav a[aria-current]{opacity:1;border-bottom:1px solid #b9d5e9;padding:7px 0}.calc-brand select{width:108px;background:transparent;color:#fff;border-color:#547190;font-size:12px;min-height:36px;padding:7px}.calc-brand select option{color:var(--ink)}.calc-shell{max-width:1260px;margin:auto;padding:58px 28px 30px}.calc-intro{position:relative;margin-bottom:42px;padding-bottom:34px;border-bottom:1px solid var(--line)}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--accent);margin-bottom:18px}.calc-intro h1{font-size:42px;font-weight:650;line-height:1.22;letter-spacing:-1.6px;margin-bottom:16px}.calc-intro>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-bottom:0}.local-note{position:absolute;right:0;bottom:36px;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.status-dot{width:5px;height:5px;border-radius:50%;background:#4b8272}.calc-workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:64px;align-items:start}.mode-switch{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);gap:20px}.mode-switch button{border:0;border-radius:0;background:transparent;padding:15px;font-size:14px;color:var(--muted);border-bottom:2px solid transparent}.mode-switch button[aria-pressed=true]{border-bottom-color:var(--navy);color:var(--navy)}.muted{font-size:12px;line-height:1.7;color:var(--muted)}#mode-note{min-height:40px;margin-top:14px}.section-heading{display:flex;align-items:center;gap:10px;margin:30px 0 12px}.section-heading h2{font-size:17px;margin:0;font-weight:650;letter-spacing:-.4px}.step{font-size:10px;letter-spacing:1px;color:var(--accent)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:18px 0}summary{cursor:pointer;padding:15px 0;font-size:13px;font-weight:600;list-style:revert}summary small{float:right;color:var(--muted);font-size:10px}.rule-fields{padding-bottom:10px}.check{flex-direction:row;align-items:flex-start;gap:10px;line-height:1.65;color:var(--muted)}.check input{width:16px;min-height:16px;margin:3px 0;flex-shrink:0;accent-color:var(--navy)}.check span{font-weight:400}#container-count{margin-left:auto;font-size:12px;color:var(--muted)}.container-editor{border-top:1px solid var(--line);padding:22px 0 18px}.container-top{display:flex;align-items:center;gap:12px}.container-top h3{font-size:15px;margin:0;flex:1}.container-top button{font-size:11px;min-height:36px;padding:7px 10px;border:0;color:var(--muted)}.rate-table{width:100%;border-collapse:collapse;font-size:11px;margin:12px 0}.rate-table th{text-align:left;font-weight:500;color:var(--muted);padding-bottom:5px}.rate-table input{padding:8px;min-width:0;font-size:12px}.rate-table td{padding:3px}.rate-table td:last-child{width:36px}.rate-table button{padding:0 8px;min-height:40px}.rate-table th:nth-child(1),.rate-table th:nth-child(2){width:24%}.auto-evidence{font-size:11px;line-height:1.8;background:var(--paper);padding:14px;margin:12px 0;overflow-wrap:anywhere}.auto-evidence p{margin:0 0 8px}.container-error{font-size:12px;color:#9a3644;line-height:1.6;margin:12px 0}.primary{background:var(--navy);border-color:var(--navy);color:#fff}.primary:hover{background:#215078}.full{width:100%;margin-top:26px;min-height:50px}.add-row{width:100%;background:#f7f9fb;border-style:dashed;font-size:12px}.form-error{padding:15px;background:#fff0ef;color:#923e43;font-size:13px;margin-top:20px}.calc-results{position:sticky;top:28px;background:var(--paper);padding:28px 26px}.result-heading{border-bottom:1px solid #d3dce7;padding-bottom:18px}.result-heading .eyebrow{margin-bottom:10px}.result-heading h2{font-size:23px;letter-spacing:-.6px;margin-bottom:8px}.result-heading>p:last-child{font-size:11px;color:var(--muted);line-height:1.8;margin-bottom:0}.empty-result{padding:40px 0;min-height:150px}.empty-result strong{display:block;font-weight:500;font-size:14px;margin-bottom:10px}.empty-result p{font-size:12px;color:var(--muted)}.currency-total{padding:24px 0 12px;display:flex;justify-content:space-between;gap:12px;align-items:baseline}.currency-total span{font-size:11px;color:var(--muted)}.currency-total strong{font-size:28px;font-weight:650;letter-spacing:-.9px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.estimate-row{margin:16px 0;border-color:#d3dce7}.estimate-row summary{display:flex;gap:10px;justify-content:space-between;font-size:12px}.estimate-row summary b{font-variant-numeric:tabular-nums}.estimate-row table{font-size:11px;width:100%;border-collapse:collapse}.estimate-row td,.estimate-row th{text-align:left;padding:7px 2px;border-bottom:1px solid var(--line)}.estimate-row th{color:var(--muted);font-weight:500}.estimate-row p{font-size:11px;line-height:1.8;color:var(--muted);overflow-wrap:anywhere}.export-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.export-buttons button{font-size:11px;flex:1;padding:10px 8px}.privacy-note{font-size:10px;line-height:1.8;color:var(--muted);margin:22px 0 0}.calc-footer{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:52px}dialog{border:1px solid var(--line);padding:32px;max-width:540px;width:calc(100% - 32px);color:var(--ink);border-radius:8px}dialog::backdrop{background:#142b4366}dialog h2{font-size:22px}.dialog-close{position:absolute;right:14px;top:10px;border:0;font-size:24px}#share-preview{height:170px;font-size:12px}.calc-report{color:#13253b;font-size:11px;line-height:1.6}.calc-report h1{font-size:26px;line-height:1.3}.calc-report h2{font-size:19px}.calc-report h3{font-size:15px}.calc-report article{margin:24px 0;break-inside:avoid;page-break-inside:avoid}.calc-report table{width:100%;border-collapse:collapse}.calc-report th,.calc-report td{text-align:left;padding:9px 6px;border-bottom:1px solid #cad4df;overflow-wrap:anywhere}.calc-report th{background:#f1f4f8;font-weight:600}.calc-report p{overflow-wrap:anywhere}.calc-report .report-top{border-top:4px solid #163b64;padding-top:16px}.calc-report .report-total{font-size:18px;border-top:2px solid #163b64;padding:15px 0}.calc-report .report-note{font-size:10px;color:#516073}
@media(max-width:1040px){.calc-workspace{gap:30px;grid-template-columns:minmax(0,1fr) 320px}.local-note{position:static;margin-top:22px}}@media(max-width:760px){.calc-brand{padding:17px 20px;flex-wrap:wrap;gap:15px}.calc-brand nav{order:3;width:100%;margin:0;gap:24px}.calc-brand select{margin-left:auto}.calc-shell{padding:36px 20px 24px}.calc-intro{margin-bottom:24px;padding-bottom:24px}.calc-intro h1{font-size:32px;letter-spacing:-1px}.calc-workspace{display:block}.calc-results{position:static;margin-top:36px;padding:24px 20px}.calc-footer{gap:14px;flex-direction:column}.field-grid{gap:0 12px}input,select,textarea{font-size:16px}.container-top{gap:4px}.container-top h3{font-size:14px}.currency-total strong{font-size:30px}dialog{padding:28px 20px}.rate-table input{font-size:14px}.calc-report{font-size:11px}}@media print{@page{size:A4;margin:16mm 14mm}body{background:#fff}body>*{display:none!important}body>#print-report{display:block!important}#print-report[hidden]{display:none!important}.calc-report thead{display:table-header-group}a{color:inherit;text-decoration:none}.calc-report article{break-inside:avoid}.calc-report .report-note{margin-top:18px}}

.calc-intro h1{white-space:pre-line}

#pdf-dialog{max-width:850px;padding:36px;max-height:90vh}#print-preview{margin-top:20px}#print-save{position:sticky;bottom:0;background:var(--navy);color:#fff;width:100%}@media(max-width:600px){#pdf-dialog{padding:24px 16px}}

/* Report-only typography. Calculator controls and arithmetic are unchanged. */
.calc-report{font-size:14px;line-height:1.75}
.calc-report h1{font-size:28px;margin:12px 0 18px}
.calc-report h2{font-size:21px;line-height:1.4;margin-bottom:16px}
.calc-report article{margin:32px 0}
.calc-report th,.calc-report td{padding:12px 8px;vertical-align:top}
.calc-report .report-total{font-size:23px;padding:18px 0}
.calc-report .report-note{font-size:12px;line-height:1.75}
.calc-report p{margin-bottom:18px}
@media print{@page{size:A4;margin:18mm 16mm}.calc-report{font-size:14px;line-height:1.75}.calc-report .report-top{padding-top:20px}.calc-report tr{break-inside:avoid}.calc-report h2{break-after:avoid}}

/* Inline validation shares the form typography and preserves keyboard focus visibility. */
#calculator-form [aria-invalid="true"]{border-color:#b34040;background:#fff8f7} .field-error{display:block;color:#a12d2d;font-size:12px;line-height:1.6;margin-top:6px;font-weight:400} .check:has([aria-invalid="true"]){flex-wrap:wrap}.check .field-error{flex-basis:100%} .rate-table .field-error{min-width:0}
@media(max-width:540px){:root:is(:lang(ja),:lang(zh-CN),:lang(zh-TW),:lang(es),:lang(vi),:lang(id),:lang(pt-BR),:lang(th),:lang(de),:lang(fr)) #calculator-form .field-grid{grid-template-columns:minmax(0,1fr)}}
