@font-face{font-family:Pretendard;font-weight:100 900;font-display:swap;src:url(https://fastly.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/woff2/PretendardVariable.woff2) format("woff2-variations")}*{box-sizing:border-box;margin:0;padding:0}:root{--ink:#16171a;--ink-soft:#45474d;--ink-faint:#84878f;--line:#d9dade;--line-strong:#16171a;--paper:#fff;--shade:#f7f7f6;--wash:#f1f1f0;--seal:#c4382f;--brand:#2563eb;--pageW:297mm;--pad:13mm}body,html{background:#e7e7e6;color:var(--ink);font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,sans-serif;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1}.app{display:grid;grid-template-columns:420px 1fr;min-height:100vh}.app-toolbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:12px 18px;background:var(--ink);color:#fff;box-shadow:0 1px 6px rgba(0,0,0,.18)}.app-toolbar .brand{font-size:14px;font-weight:700;letter-spacing:.02em;margin-right:auto}.app-toolbar .brand small{display:block;font-size:10px;font-weight:500;color:rgba(255,255,255,.55);letter-spacing:.06em}.app-toolbar button,.app-toolbar label.btn{font-family:inherit;font-size:12.5px;font-weight:600;color:var(--ink);background:#fff;border:0;padding:8px 14px;border-radius:6px;cursor:pointer}.app-toolbar button.primary{background:var(--brand);color:#fff}.app-toolbar button.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}.app-toolbar button:hover{opacity:.9}.editor-pane{position:relative;height:calc(100vh - 49px);overflow-y:auto;background:#fafafa;border-right:1px solid #e0e0e0;padding:16px 16px 80px}.ed-section{background:#fff;border:1px solid #e6e6e6;border-radius:8px;margin-bottom:12px;overflow:hidden}.ed-section>summary{list-style:none;cursor:pointer;padding:12px 14px;font-size:13px;font-weight:700;color:var(--ink);background:#f4f5f7;display:flex;align-items:center;gap:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ed-section>summary::-webkit-details-marker{display:none}.ed-section>summary:before{content:"▸";font-size:10px;color:var(--ink-faint);transition:transform .15s}.ed-section[open]>summary:before{transform:rotate(90deg)}.ed-section>summary .count{margin-left:auto;font-size:11px;font-weight:500;color:var(--ink-faint)}.ed-body{padding:12px 14px}.ed-field{margin-bottom:10px}.ed-field:last-child{margin-bottom:0}.ed-field label{display:block;font-size:11px;font-weight:600;color:var(--ink-soft);margin-bottom:4px}.ed-field input,.ed-field textarea{width:100%;font-family:inherit;font-size:12.5px;color:var(--ink);background:#fff;border:1px solid #d7d8dc;border-radius:5px;padding:7px 9px;resize:vertical}.ed-field input:focus,.ed-field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px rgba(37,99,235,.12)}.ed-row2{grid-template-columns:1fr 1fr;grid-gap:10px}.ed-row-id,.ed-row2{display:grid;gap:10px}.ed-row-id{grid-template-columns:64px 1fr;grid-gap:10px}.ed-group{border:1px solid #e6e6e6;border-radius:7px;padding:10px;margin-bottom:12px;background:#fcfcfd}.ed-group-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.ed-group-head .tag{font-size:10px;font-weight:700;color:#fff;background:var(--ink);padding:2px 7px;border-radius:3px}.ed-toggle-inline{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#555;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ed-toggle-inline input{margin:0;cursor:pointer}.ed-section-toggle{display:flex;align-items:center;margin-bottom:12px;padding:8px 10px;background:#f5f5f4;border:1px solid #e2e2e2;border-radius:5px}.ed-section-toggle label{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:#333;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ed-section-toggle input{margin:0;cursor:pointer}.ed-add-section{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px;padding:12px;border:1px dashed #cfcfcf;border-radius:6px;background:#fafafa}.ed-add-section .lbl{font-size:12px;font-weight:700;color:var(--ink);margin-right:2px}.ed-item{border-top:1px dashed #e2e2e2;padding-top:10px;margin-top:10px}.ed-item:first-of-type{border-top:0;padding-top:0;margin-top:0}.ed-item-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.ed-item-head .lbl{font-weight:700}.ed-item-head .lbl,.ed-mini{font-size:11px;color:var(--ink-soft)}.ed-mini{font-weight:600;border:1px solid #d7d8dc;background:#fff;border-radius:5px;padding:4px 9px;cursor:pointer}.ed-mini.add{color:var(--brand);border-color:rgba(37,99,235,.4)}.ed-mini.danger{color:var(--seal);border-color:rgba(196,56,47,.4)}.ed-mini:hover{background:#f4f5f7}.ed-price-line{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px;align-items:end}.seal-preview{flex:0 0 auto;width:64px;height:64px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;display:grid;place-content:center;color:var(--seal);font-size:12px;font-weight:800;overflow:hidden}.seal-preview img{width:100%;height:100%;object-fit:contain}.seal-picker{margin-top:10px;padding:10px;border:1px solid #e6e6e6;border-radius:7px;background:#fcfcfd}.seal-pick-msg{font-size:11.5px;color:var(--ink-faint)}.seal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));grid-gap:8px;gap:8px}.seal-pick{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;background:#fff;border:1px solid #e0e0e0;border-radius:7px;cursor:pointer}.seal-pick:hover{border-color:var(--brand);box-shadow:0 0 0 2px rgba(37,99,235,.12)}.seal-pick img{width:52px;height:52px;object-fit:contain}.seal-pick span{font-size:9.5px;color:var(--ink-soft);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-price-line .won-hint{font-size:11px;color:var(--ink-faint);padding-bottom:8px;white-space:nowrap}.ed-discount-line{display:grid;grid-template-columns:auto 110px 1fr;grid-gap:8px;gap:8px;align-items:center;margin-top:10px;padding:8px 12px;background:#fff8f1;border:1px solid #f5d9bd;border-radius:7px}.ed-discount-line label{font-size:12px;font-weight:700;color:var(--ink-soft)}.ed-discount-line input{width:100%;padding:7px 9px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;background:#fff}.ed-discount-line input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px rgba(37,99,235,.12)}.ed-discount-line .won-hint{font-size:11px;color:var(--ink-faint);white-space:nowrap}.ed-total-box{margin-top:4px;padding:10px 12px;background:#eef2ff;border:1px solid #d7e0ff;border-radius:7px;font-size:12px;color:var(--ink-soft)}.ed-total-box .grand{font-size:15px;font-weight:800;color:var(--ink)}.preview-pane{height:calc(100vh - 49px);overflow-y:auto;padding:26px 0 60px}.doc .page{width:var(--pageW);min-height:210mm;margin:0 auto;background:var(--paper);padding:var(--pad);box-shadow:0 1px 2px rgba(0,0,0,.06),0 12px 40px rgba(0,0,0,.13);display:flex;flex-direction:column}.doc .masthead{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:11px;border-bottom:2.5px solid var(--line-strong)}.doc .title-block .eyebrow{font-size:10px;letter-spacing:.4em;color:var(--ink-faint);text-transform:uppercase;margin-bottom:7px}.doc .title-block h1{font-size:33px;font-weight:800;letter-spacing:.24em;line-height:1;text-indent:.24em}.doc .title-block .sub{font-size:11px;color:var(--ink-soft);margin-top:8px;font-weight:500}.doc .meta{text-align:right;font-size:10.5px;color:var(--ink-soft);line-height:1.8}.doc .meta b{color:var(--ink);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.doc .parties{display:grid;grid-template-columns:1fr 1fr;margin-top:14px;border:1.5px solid var(--line-strong)}.doc .party{position:relative;display:flex;flex-direction:column}.doc .party+.party{border-left:1px solid var(--line)}.doc .party.supplier{background:var(--shade)}.doc .phead{display:flex;align-items:baseline;justify-content:space-between;padding:5px 14px;background:var(--ink)}.doc .phead .ptag{font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--paper)}.doc .phead .pen{font-size:8px;letter-spacing:.24em;color:rgba(255,255,255,.5);font-weight:600}.doc .pbody{padding:9px 14px 10px;flex:1 1;display:flex;align-items:center;gap:18px}.doc .pcol{flex:1 1}.doc .pname-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}.doc .party .pname{font-size:15px;font-weight:700;letter-spacing:-.01em}.doc .party .pname .hak{font-size:10px;font-weight:500;color:var(--ink-faint);margin-left:5px}.doc .pinfo{display:flex;flex-wrap:wrap;gap:3px 16px}.doc .pinfo>div{display:flex;gap:8px;font-size:10.5px;line-height:1.4;min-width:46%}.doc .pinfo dt{flex:0 0 50px;color:var(--ink-faint);font-weight:500}.doc .pinfo dd{color:var(--ink);font-weight:500}.doc .seal{flex:0 0 auto;width:46px;height:46px;border:1.5px solid var(--seal);border-radius:50%;color:var(--seal);display:grid;place-content:center;text-align:center;transform:rotate(-7deg);opacity:.94;font-weight:800;letter-spacing:.04em;line-height:1.12;font-size:9.5px;background:rgba(196,56,47,.05)}.doc .seal small{display:block;font-size:5px;letter-spacing:.12em;font-weight:600;margin-top:1px}.doc .foot-seal.has-img,.doc .seal.has-img{border:0;background:none;transform:none;opacity:1;overflow:visible}.doc .foot-seal.has-img img,.doc .seal.has-img img{width:100%;height:100%;object-fit:contain}.doc .total-banner{margin-top:13px;border:1.5px solid var(--line-strong);padding:12px 20px;display:flex;align-items:center;justify-content:space-between}.doc .total-banner .lbl{font-size:11.5px;letter-spacing:.1em;color:var(--ink-soft);font-weight:600}.doc .total-banner .lbl small{display:block;font-size:9.5px;color:var(--ink-faint);font-weight:500;letter-spacing:0;margin-top:3px}.doc .total-banner .amt{font-size:24px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.doc .total-banner .amt .won{font-size:15px;font-weight:600;margin-right:4px;color:var(--ink-soft)}.doc .total-banner .amt .kor{font-size:10.5px;font-weight:500;color:var(--ink-faint);margin-left:8px;letter-spacing:0}.doc .sec-label{display:flex;align-items:center;gap:9px;margin:18px 0 8px}.doc .sec-label .no{font-size:9.5px;font-weight:700;color:var(--paper);background:var(--ink);padding:2px 8px;border-radius:2px;letter-spacing:.06em}.doc .sec-label h2{font-size:12.5px;font-weight:700;letter-spacing:.02em}.doc .sec-label .hint{margin-left:auto;font-size:10px;color:var(--ink-faint)}.doc table.spec{width:100%;border-collapse:collapse;font-size:9.7px;table-layout:fixed}.doc table.spec col.c-id{width:30px}.doc table.spec col.c-main{width:96px}.doc table.spec col.c-det{width:auto}.doc table.spec col.c-note{width:150px}.doc table.spec col.c-crit{width:158px}.doc table.spec col.c-price{width:62px}.doc table.spec col.c-cust{width:150px}.doc table.spec thead th{background:var(--ink);color:var(--paper);font-weight:600;font-size:9.5px;letter-spacing:.02em;padding:7px 9px;text-align:left;vertical-align:middle;border-right:1px solid rgba(255,255,255,.14)}.doc table.spec thead th:last-child{border-right:0}.doc table.spec thead th.c{text-align:center}.doc table.spec thead th.r{text-align:right}.doc table.spec thead th small{display:block;font-weight:500;font-size:8px;color:rgba(255,255,255,.6);margin-top:2px;letter-spacing:0}.doc table.spec td{padding:7px 9px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);vertical-align:top;color:var(--ink-soft);line-height:1.5;word-break:keep-all;white-space:pre-line}.doc table.spec td:last-child{border-right:0}.doc table.spec tr.grp-top td{border-top:1.5px solid #c4c5c9}.doc table.spec tr.grp-top:first-child td{border-top:0}.doc td.id{text-align:center;font-weight:700;color:var(--ink);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--shade)}.doc td.id .sub-id{color:var(--ink-faint);font-weight:400}.doc td.main{font-weight:700;color:var(--ink);font-size:10.3px;background:var(--shade);line-height:1.35}.doc td.det{color:var(--ink);font-weight:500}.doc td.crit,.doc td.note{color:var(--ink-soft);font-size:9.3px}.doc td.price{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink);font-weight:700;font-size:10.5px;white-space:nowrap}.doc td.cost{font-size:9.3px;color:var(--ink);font-weight:500}.doc td.cust{color:var(--ink-soft);font-size:9.3px}.doc .dash{color:var(--line)}.doc table.spec .grand td,.doc table.spec .sumrow td{padding:8px 10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.doc table.spec .sumrow td{text-align:right;color:var(--ink-soft);font-size:10px;border-right:0;border-bottom:1px solid var(--line)}.doc table.spec .sumrow td .k{color:var(--ink-faint);margin-right:16px;font-weight:500}.doc table.spec .grand td{border-top:1.5px solid var(--line-strong);font-weight:800;font-size:12.5px;color:var(--ink);padding-top:9px;border-right:0;text-align:right}.doc .p2note{margin:8px 0 0;font-size:10px;color:var(--ink-soft);background:var(--wash);border-left:3px solid var(--ink);padding:9px 13px;line-height:1.6}.doc .p2note b{color:var(--ink);font-weight:700}.doc .terms{margin-top:16px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.doc .term{padding:11px 14px;border-right:1px solid var(--line)}.doc .term:last-child{border-right:0}.doc .term .tk{font-size:9.5px;letter-spacing:.1em;color:var(--ink-faint);font-weight:600;text-transform:uppercase;margin-bottom:6px;display:flex;align-items:center;gap:6px}.doc .term .tk .dot{width:5px;height:5px;background:var(--ink);border-radius:50%}.doc .term .tv{font-size:11px;color:var(--ink);line-height:1.6;font-weight:500;white-space:pre-line}.doc .foot{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-end}.doc .foot .note{font-size:9.5px;color:var(--ink-faint);line-height:1.7;max-width:55%;white-space:pre-line}.doc .foot .sign{text-align:right;font-size:10.5px;color:var(--ink-soft)}.doc .foot .sign .date{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-bottom:9px}.doc .foot .sign .by{display:flex;align-items:center;gap:12px;justify-content:flex-end}.doc .foot .sign .by b{font-size:13px;color:var(--ink);font-weight:700}.doc .foot-seal{width:48px;height:48px;border:1.5px solid var(--seal);border-radius:50%;color:var(--seal);display:grid;place-content:center;font-size:8.5px;font-weight:800;line-height:1.2;transform:rotate(-6deg);letter-spacing:.03em;text-align:center}@media print{body,html{background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}.app{display:block}.app-toolbar,.editor-pane{display:none!important}.preview-pane{height:auto;overflow:visible;padding:0}.doc .page{margin:0;box-shadow:none;width:auto;min-height:auto;padding:0}.doc .foot,.doc .parties,.doc .terms,.doc .total-banner,.doc table.spec tr{page-break-inside:avoid;break-inside:avoid}@page{size:A4 landscape;margin:10mm}}@media (max-width:1240px){.app{grid-template-columns:1fr}.editor-pane,.preview-pane{height:auto}.doc .page{width:100%}}