:root{--blue:#163e91;--ink:#172338;--muted:#59677b;--line:#dbe2eb;--bg:#f3f6fa}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 'Noto Sans KR',sans-serif}button,input,select,textarea{font:inherit}button,.button{cursor:pointer}button{transition:background .15s,border-color .15s}button:hover,.button:hover{filter:brightness(.95)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.button:focus-within{outline:3px solid #3977e2;outline-offset:3px}::selection{background:#cdddff}input,textarea{caret-color:var(--blue)}header{height:86px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 4%;gap:52px}.brand{font-size:27px;font-weight:800;text-decoration:none;color:var(--ink);white-space:nowrap}.brand span{color:var(--blue)}.brand small{font-size:14px;font-weight:500;margin-left:17px;color:var(--muted)}nav{display:flex;gap:30px;height:100%;align-items:stretch}.nav{border:0;background:none;padding:0 3px;color:var(--muted);font-weight:600;border-bottom:3px solid transparent}.nav.active{color:var(--blue);border-bottom-color:var(--blue)}.free{margin-left:auto;color:var(--blue);font-size:14px;font-weight:600;background:#edf3ff;padding:6px 12px;border-radius:5px}main{max-width:1510px;padding:36px 4% 56px;margin:auto}.page-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}h1{font-size:30px;line-height:1.4;letter-spacing:-.03em;margin:0 0 7px;font-weight:700}.page-title p{margin:0;color:var(--muted)}.title-actions{display:flex;gap:8px;flex-shrink:0}a.button{display:inline-block;text-decoration:none}h2{font-size:18px;margin:0;font-weight:700}button,.button{border:1px solid var(--line);border-radius:6px;padding:10px 16px;background:white;color:var(--ink);font-weight:500}.primary{background:var(--blue);color:white;border-color:var(--blue)}.quiet{background:white}.text-btn{color:var(--blue);border:0;background:none;padding:3px 0;font-size:14px}.workspace{display:grid;grid-template-columns:minmax(420px,1fr) minmax(440px,1.1fr);gap:28px;align-items:start}.editor-panel{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden}.types{display:flex;border-bottom:1px solid var(--line);padding:8px;background:#f9fbfd;gap:4px}.types button{flex:1;border:0;background:transparent;padding:13px 5px;white-space:nowrap;color:var(--muted);font-weight:600}.types .selected{background:var(--blue);color:white}form{padding:0 26px 27px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:26px 0 14px}.section-head span{font-size:12px;color:var(--muted)}.grid{display:grid;gap:13px}.two{grid-template-columns:1fr 1fr}.span2{grid-column:1/-1}label{display:block;font-size:14px;color:#3d4b60;font-weight:500}input,select,textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid #cbd5e2;border-radius:5px;background:white;color:var(--ink);min-width:0;font-size:15px}input::placeholder,textarea::placeholder{color:#69758a}textarea{resize:vertical}.item{padding:15px 0;border-bottom:1px solid var(--line)}.item:first-child{padding-top:0}.item-top{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:6px}.item .grid{grid-template-columns:2fr 1fr 1fr;gap:9px}.item .item-name{grid-column:1/-1}.item .spec{grid-column:1/3}.remove-item{font-size:13px;padding:2px 7px;color:#a32232;border:0;background:none}.item-sum{text-align:right;margin:8px 0 0;font-size:14px;font-variant-numeric:tabular-nums}.tax-row{margin-top:18px}.uploads{margin:20px 0}input[type=file]{font-size:12px;padding:9px;overflow:hidden}.preview-panel{position:sticky;top:20px}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-weight:600;font-size:15px}.preview-toolbar small{font-weight:400;color:var(--muted);margin-left:6px}.paper-wrap{background:#e5eaf1;border:1px solid #d8e0eb;padding:24px;overflow:auto;border-radius:6px}.paper{background:white;min-height:690px;padding:36px 30px;color:#1e2939;box-shadow:0 5px 17px #283a5217;font-size:12px;overflow-wrap:anywhere}.paper table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;table-layout:fixed}.paper th{font-size:11px;background:#f1f4f8;border-top:1px solid #9dacbf;border-bottom:1px solid #bac5d3;padding:9px 4px;text-align:left}.paper td{font-size:11px;border-bottom:1px solid #e0e5ed;padding:10px 4px;vertical-align:top;white-space:pre-wrap}.paper .numeric{text-align:right}.signatures{margin-top:35px;display:flex;justify-content:space-between;padding:20px 0;border-top:1px solid #cad3e0;font-size:12px}.preview-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding:0 2px}.preview-bottom span{font-size:14px;color:var(--muted)}.preview-bottom strong{display:block;font-size:29px;line-height:1.3;color:var(--blue);font-variant-numeric:tabular-nums}.local-note{font-size:12px;color:var(--muted);margin:14px 0 24px}.conversion{border-top:1px solid var(--line);padding-top:18px;font-size:14px}.conversion div{display:flex;gap:8px;margin-top:10px}.conversion button{flex:1;font-size:14px;padding:9px 4px}.actions{display:flex;gap:8px}.notice{padding:16px 20px;background:#e9f0fd;color:#27477c;border:1px solid #d1dffa;border-radius:5px}.saved-list{margin:16px 0 34px;background:white;border:1px solid var(--line);border-radius:6px}.saved-row{padding:18px 22px;display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line)}.saved-row:last-child{border:0}.saved-row .info{flex:1;min-width:0;overflow-wrap:anywhere}.saved-row small{display:block;color:var(--muted)}.saved-row button{font-size:14px}.empty{padding:40px 25px;text-align:center;color:var(--muted)}.guide-content{max-width:800px;background:white;border:1px solid var(--line);padding:32px 38px}.guide-content h2{margin-top:30px}.guide-content h2:first-child{margin-top:0}.guide-content p,.guide-content li{color:#46546a;line-height:1.9}.danger{color:#a32232;border-color:#dfbbc0;margin-top:12px}footer{border-top:1px solid var(--line);background:white;padding:25px 4%;display:flex;align-items:center;gap:25px;font-size:13px;color:var(--muted)}footer .brand{font-size:21px}footer p{margin:0}footer>span{margin-left:auto}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#172b4d;color:white;padding:12px 23px;border-radius:7px;box-shadow:0 5px 25px #172b4d33;opacity:0;pointer-events:none;z-index:5;max-width:90%;transition:opacity .2s}#toast.show{opacity:1}[hidden]{display:none!important}
@media(max-width:1100px){header{gap:25px}.brand small{display:none}main{padding-inline:24px}.workspace{grid-template-columns:minmax(360px,1fr) minmax(350px,1fr);gap:20px}.paper-wrap{padding:14px}.paper{padding:28px 18px}form{padding-inline:20px}.section-head span{max-width:140px}.preview-toolbar .primary{font-size:13px;padding:10px}nav{gap:22px}}
@media(max-width:800px){header{height:auto;min-height:76px;padding:14px 20px;flex-wrap:wrap;gap:10px 24px}.brand{font-size:25px}.free{font-size:12px}nav{order:3;width:100%;gap:25px}.nav{padding:10px 0;font-size:14px}main{padding:26px 16px 40px}.page-title{align-items:start}h1{font-size:24px}.page-title p{font-size:14px}.page-title>.quiet,.title-actions>*{font-size:13px;white-space:nowrap;padding:8px}.workspace{grid-template-columns:1fr}.preview-panel{position:static}.paper-wrap{padding:15px}.paper{min-height:600px}.section-head span{max-width:none;font-size:11px}.actions{flex-wrap:wrap}.page-title:has(.actions){display:block}.actions{margin-top:15px}.saved-row{padding:15px;flex-wrap:wrap}.saved-row .info{flex-basis:100%}.guide-content{padding:22px}.conversion button{font-size:13px}footer{padding:22px 20px;flex-wrap:wrap;gap:8px 18px}footer>span{margin-left:0;width:100%}}
@media print{@page{size:A4;margin:12mm}body{background:white}header,footer,.page-title,.editor-panel,.about,.preview-toolbar,.preview-bottom,.local-note,.conversion,#toast,#library,#guide{display:none!important}main{padding:0;max-width:none}#editor{display:block!important}.workspace{display:block}.preview-panel{position:static}.paper-wrap{padding:0;border:0;background:white;overflow:visible}.paper{min-height:0;box-shadow:none;padding:0;font-size:12px}.paper td,.paper th{font-size:12px}.paper tr{break-inside:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
@media(max-width:800px){.item .grid{grid-template-columns:1fr 1fr}.item label:has([data-field=price]),.item .spec{grid-column:1/-1}.tax-row{grid-template-columns:1fr}.paper-wrap{overflow-x:auto}.paper{min-width:310px}}
.industry-fields:not(:empty){margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.form-hint{font-size:13px;color:#52627b;margin:12px 0 0}.tax-summary{margin-top:18px;border-block:1px solid var(--line);padding:16px 0;display:grid;gap:10px}.tax-summary>div{display:flex;justify-content:space-between;gap:16px;font-size:14px}.tax-summary strong{font-size:16px;font-variant-numeric:tabular-nums}.tax-summary>div:last-child{color:var(--blue)}.doc-secondary{color:#58667a;font-size:11px}.calculation-note{font-size:11px;color:#52627b;margin-top:12px}.types button{font-size:14px}.conversion div{flex-wrap:wrap}.conversion button{min-width:100px}
@media(max-width:800px){.types{display:grid;grid-template-columns:1fr 1fr}.item label:has([data-field=material]),.item label:has([data-field=labor]),.item label:has([data-field=expense]),.item label:has([data-field=tradeDate]){grid-column:1/-1}.paper table{font-size:11px}.tax-summary strong{font-size:17px}}

/* Readable fields and direct document actions retain the workbench layout. */
.workspace>*{min-width:0}.paper-wrap{width:100%}
label{font-size:15px}input,select,textarea{font-size:16px;min-height:48px}button,.button{min-height:44px}.text-btn{padding:8px 4px;min-height:40px}.remove-item{min-height:40px;padding:8px}.section-head{margin-top:30px}.section-head span{font-size:13px}.section-head h2{font-size:19px}.grid{gap:16px}.item .grid{grid-template-columns:1fr 1fr;gap:12px}.item label:has([data-field=price]){grid-column:1/-1}.item-top{font-size:14px}.form-hint,.local-note{font-size:14px;line-height:1.7}.types button{font-size:15px;padding-block:14px}.optional-details{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}.optional-details summary{cursor:pointer;color:var(--blue);font-size:15px;min-height:44px;padding:9px 0}.optional-details summary:focus-visible{outline:3px solid #3977e2;outline-offset:3px}.optional-details[open] summary{margin-bottom:10px}.uploads{margin:10px 0 0}.preview-panel{scroll-margin-top:20px}.paper th,.paper td{font-size:12px}.paper-wrap{max-height:calc(100vh - 290px);min-height:350px}.preview-scroll-hint,.mobile-actions{display:none}.copyright{font-size:13px;color:var(--muted);flex-basis:100%;padding-top:16px;border-top:1px solid var(--line)}footer{flex-wrap:wrap;gap:15px 25px}input[type=file]{font-size:14px}.tax-summary>div{font-size:15px}.tax-summary strong{font-size:18px}.conversion button{font-size:14px}.nav{border-radius:0}
@media(max-width:1000px){.workspace{grid-template-columns:1fr;gap:28px}.preview-panel{position:static}.paper-wrap{max-height:none}.preview-toolbar .primary{font-size:15px}.section-head span{max-width:none}}
@media(max-width:600px){.page-title:has(.title-actions){display:block}.title-actions{margin-top:12px}header{padding-inline:16px}main{padding-inline:12px;padding-bottom:35px}form{padding-inline:18px}.page-title{gap:12px}.page-title h1{font-size:23px}.two{grid-template-columns:1fr}.item .grid{grid-template-columns:1fr 1fr}.section-head{flex-wrap:wrap}.section-head span{font-size:13px;width:100%;order:3}.types button{font-size:15px}.types{gap:5px}.paper-wrap{padding:14px;min-height:0}.paper{min-width:560px;padding:30px 24px;min-height:700px}.preview-scroll-hint{display:block;font-size:14px;color:var(--muted);margin:0 0 12px}.preview-bottom{align-items:flex-start;gap:12px}.preview-bottom strong{font-size:26px}.preview-bottom button{font-size:14px}.mobile-actions{position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid #cbd5e2;padding:12px max(12px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom));display:none;align-items:center;gap:8px;z-index:4;box-shadow:0 -3px 15px #17233812}body[data-view=editor] .mobile-actions{display:flex}.mobile-actions>div{flex:1;min-width:0}.mobile-actions span{display:block;font-size:12px;color:var(--muted)}.mobile-actions strong{display:block;font-size:18px;color:var(--blue);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.mobile-actions button{padding:10px;font-size:14px;white-space:nowrap}footer{padding:24px 18px 120px}.copyright{font-size:13px}#toast{bottom:100px}.tax-summary strong{font-size:19px}.guide-content{padding:22px 18px}.preview-panel{scroll-margin-top:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.mobile-actions,.preview-scroll-hint{display:none!important}.paper-wrap{max-height:none;min-height:0;overflow:visible}.paper{min-width:0;min-height:0;padding:0}.paper th,.paper td{font-size:12px}}
.preview-scroll-hint{display:block;font-size:14px;color:var(--muted);margin:0 0 12px}.mobile-hint{display:none}.paper-wrap:focus-visible{outline:3px solid #3977e2;outline-offset:3px}@media(max-width:600px){.desktop-hint{display:none}.mobile-hint{display:inline}}
.item-help{font-size:14px;color:var(--muted);margin:0 0 14px;line-height:1.7}.compact-item{padding:14px 0}.compact-item .item-main{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(65px,.6fr) minmax(100px,1fr);gap:10px}.compact-item .item-main:has(.field-qty:last-child){grid-template-columns:minmax(0,2fr) minmax(80px,1fr)}.compact-item label{font-size:14px}.compact-item input{margin-top:5px;padding-inline:10px;min-height:46px}.compact-item .cost-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.compact-item .service-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.compact-item .item-meta{display:flex;align-items:flex-start;gap:12px;margin-top:8px;position:relative}.compact-item .item-extra{flex:1;min-width:0}.compact-item summary{font-size:14px;color:var(--blue);cursor:pointer;min-height:40px;padding:8px 0}.compact-item summary:focus-visible{outline:3px solid #3977e2;outline-offset:3px}.compact-item .item-sum{margin:8px 0;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.compact-item .extra-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:8px 0 12px}.compact-item .field-spec{grid-column:1/-1}.compact-item .remove-item{padding:8px 0;font-size:13px}.compact-item .item-extra[open]{flex-basis:100%}.compact-item .item-meta:has(details[open]){flex-wrap:wrap}.compact-item .item-meta:has(details[open]) .item-sum{margin-left:auto}.compact-item .field-price input,.compact-item .cost-fields input{text-align:right}.compact-item .field-qty input{text-align:center}@media(max-width:600px){.compact-item .item-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.compact-item .field-name{grid-column:1/-1}.compact-item .cost-fields{grid-template-columns:1fr}.compact-item .extra-fields{grid-template-columns:1fr}.compact-item label{font-size:15px}}
.compact-item .item-main label:has([data-field=price]){grid-column:auto}@media(max-width:600px){.compact-item .item-main:has(.field-qty:last-child){grid-template-columns:1fr 1fr}}
/* Collapsible form sections: seller info and document settings stay out of the way once set. */
.fold{margin-top:30px;padding-top:6px;border-top:1px solid var(--line)}.fold>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;cursor:pointer;list-style:none}.fold>summary::-webkit-details-marker{display:none}.fold>summary h2{font-size:19px;white-space:nowrap}.fold>summary span{flex:1;min-width:0;font-size:14px;color:var(--muted);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fold>summary::after{content:'';flex-shrink:0;width:8px;height:8px;margin:-4px 4px 0 0;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .15s}.fold[open]>summary::after{margin-top:4px;transform:rotate(-135deg)}.fold[open]>summary{margin-bottom:8px}.fold>summary:focus-visible{outline:3px solid #3977e2;outline-offset:3px}.form-hint:empty{display:none}#addItem{margin-top:6px}#sample{margin-top:30px}
/* Plain-language intro and FAQ under the tool, for first-time visitors and search engines. */
.about{max-width:820px;margin-top:64px;padding-top:40px;border-top:1px solid var(--line)}.about h2{font-size:22px;letter-spacing:-.02em;margin:48px 0 12px}.about h2:first-child{margin-top:0}.about h3{font-size:17px;margin:28px 0 6px}.about p{margin:0;color:#46546a;line-height:1.85}.faq details{border-bottom:1px solid var(--line)}.faq summary{display:flex;align-items:center;min-height:56px;padding:8px 0;font-weight:600;cursor:pointer}.faq summary:focus-visible{outline:3px solid #3977e2;outline-offset:3px}.faq p{padding:0 0 18px}
@media(max-width:600px){.about{margin-top:44px;padding-top:30px}.about h2{font-size:20px}}
.copyright{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px}#visits{font-variant-numeric:tabular-nums}
.doc-links{margin-left:auto;display:flex;flex-wrap:wrap;gap:2px 18px}.doc-links a,.about-links a{color:var(--muted);text-decoration:none;padding:6px 0}.doc-links a:hover,.about-links a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.about .about-links{display:flex;flex-wrap:wrap;gap:4px 22px}.about-links a{color:var(--blue)}
@media(max-width:800px){.doc-links{margin-left:0;width:100%}}
.grid>*{min-width:0}
