:root{--ink:#272421;--muted:#827b74;--paper:#fff;--line:#e7e3df;--accent:#7c7267}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'Caudex','Noto Sans KR',sans-serif}button,input,textarea,select{font:inherit}button,.button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);border-radius:0;padding:11px 16px;text-decoration:none;display:inline-block}button:hover,.button:hover{border-color:var(--ink)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #9a783f;outline-offset:3px}button.primary{background:var(--ink);color:white}button:disabled{opacity:.55;cursor:default}header{padding:24px 4%;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:22px}.brand{font:25px Georgia,serif;letter-spacing:2px;text-decoration:none}.local{margin-left:auto;color:var(--muted);font-size:12px}nav{display:flex;gap:8px;padding:16px 4%;border-bottom:1px solid var(--line);overflow:auto}nav button{border:0;background:none;white-space:nowrap}nav button.active{background:var(--ink);color:white}main{max-width:1440px;margin:auto;padding:36px 4%}h1{font-size:36px;font-weight:500;letter-spacing:-1.4px;margin:6px 0 12px}h2{font-size:22px;font-weight:500}h3{font-size:18px;font-weight:500}p{line-height:1.7}.eyebrow{font-size:11px;letter-spacing:3px;color:#7d715b}.muted,small{color:var(--muted)}.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:50px;align-items:center;margin-bottom:36px}.composer{background:#faf8f5;border:1px solid #e7e3df;padding:24px;border-radius:0}.composer p{font-size:13px}textarea{resize:vertical;width:100%;height:95px;border:1px solid var(--line);padding:15px;background:white;border-radius:0;line-height:1.6;margin:10px 0}.bar{display:flex;gap:16px;align-items:end;margin:25px 0;flex-wrap:wrap}label{display:flex;flex-direction:column;gap:8px;font-size:13px}input,select{padding:12px;border:1px solid var(--line);background:white;border-radius:0;color:var(--ink);max-width:100%}.search{flex:1;min-width:210px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.card{background:white;border:1px solid var(--line);border-radius:0;overflow:hidden;display:flex;flex-direction:column}.visual{height:215px;background:#faf9f7;display:flex;align-items:center;justify-content:center;padding:12px}.visual img{height:100%;max-width:100%;object-fit:contain}.visual .placeholder{width:102px;height:155px;background:#fffefa;border:1px solid #d5d4c9;box-shadow:0 4px 8px #34453c0a;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:20px;font-size:12px;color:var(--muted)}.placeholder i{font:17px Georgia,serif;letter-spacing:2px}.card .body{padding:18px;display:flex;flex-direction:column;flex:1}.card h3{margin:12px 0 6px}.card p{font-size:12px;margin:5px 0}.card button{width:100%;margin-top:auto}.card .counts{margin-bottom:16px}.badge{display:inline-block;border-radius:30px;padding:5px 9px;font-size:11px;background:#f1eeea;color:#6f665b;line-height:1.4}.badge.warn{background:#faf0dd;color:#795d24}.stats{display:flex;gap:30px;margin:25px 0}.stats b{font-size:28px;font-weight:500;display:block}.stats span{font-size:12px;color:var(--muted)}.tablewrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:0}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:15px;border-bottom:1px solid var(--line);line-height:1.65;min-width:110px;vertical-align:top}th{background:#f8f6f3;white-space:nowrap;font-weight:500}td small{display:block}td button{white-space:nowrap}.notice{padding:16px 20px;background:#f7f5f1;border-radius:0;line-height:1.8;margin:20px 0}.notice.warn{background:#faf0dd;color:#705622}.row{display:flex;justify-content:space-between;gap:16px;align-items:center}.empty{padding:40px;text-align:center;color:var(--muted)}dialog{border:0;border-radius:0;padding:28px;max-width:980px;width:94%;max-height:90vh;color:var(--ink)}dialog::backdrop{background:#29231d80}.types{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.types button.active{background:var(--ink);color:white}.preview{display:flex;gap:15px;justify-content:center;align-items:start;margin:20px 0}.preview img{max-width:46%;max-height:360px;object-fit:contain}.detailgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.detailgrid div{background:var(--paper);padding:12px;border-radius:0;line-height:1.6}.detailgrid small{display:block;margin-bottom:6px}.labelpreview{max-width:440px;margin:25px auto;background:white;border:1px solid var(--line);padding:24px;color:#171717;font-size:13px}.labelpreview h3{font-size:14px;font-weight:600;margin:0 0 10px}.labelpreview table{border-top:1px solid #aaa}.labelpreview td{padding:5px 7px;min-width:0;border-bottom:1px solid #aaa;white-space:pre-line}.labelpreview td:first-child{width:31%;border-right:1px solid #aaa}.labelpreview p{font-size:11px;white-space:pre-line;line-height:1.6}.labelpreview .web{font-size:12px}.reference{margin-top:25px;background:white;border:1px solid var(--line);border-radius:0;padding:20px}.reference summary{cursor:pointer}.refitem{padding:15px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.refitem pre{white-space:pre-wrap;font:13px inherit;line-height:1.7}.cartitem{background:white;border:1px solid var(--line);border-radius:0;padding:20px;margin:12px 0}.cartitem input{width:100px}.hidden{display:none!important}footer{padding:30px 4%;font-size:12px;color:var(--muted);border-top:1px solid var(--line);margin-top:40px}a{color:inherit}.actionbar{position:sticky;bottom:-28px;background:white;padding:18px 0 8px;border-top:1px solid var(--line);display:flex;align-items:end;gap:12px;flex-wrap:wrap}.actionbar input{width:120px}.detailsource{font-size:12px;overflow-wrap:anywhere}@media(max-width:950px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero{grid-template-columns:1fr;gap:15px}.local{display:none}}@media(max-width:700px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visual{height:185px}.detailgrid{grid-template-columns:1fr 1fr}h1{font-size:29px}.brand{font-size:20px}header{gap:14px}.stats{gap:22px}}@media(max-width:420px){.grid{grid-template-columns:1fr}.row{flex-wrap:wrap}.visual{height:240px}dialog{padding:18px}.labelpreview{padding:12px}.detailgrid{grid-template-columns:1fr}.actionbar{bottom:-18px}.stats b{font-size:25px}}

/* Brand direction: official logo, Caudex, white paper and warm grey details. */
.brand-ribbon{height:35px;background:#7c7369;color:white;text-align:center;font-family:Caudex,serif;font-size:13px;line-height:35px}
header{min-height:100px;padding:18px 4%;gap:45px;background:#fff;border-bottom:1px solid var(--line)}
.brand{display:block;flex-shrink:0}.brand img{display:block;width:208px;height:auto}
nav{flex:1;justify-content:center;padding:0;border:0;gap:25px;overflow:visible}nav button{border:0;background:none;padding:12px 3px 10px;border-bottom:1px solid transparent;border-radius:0;min-width:84px}nav button span{font-family:Caudex,serif;font-size:17px}nav button small{display:block;font-family:'Noto Sans KR',sans-serif;font-size:10px;margin-top:6px;letter-spacing:.4px;color:#898076}nav button.active{color:#292421;background:none;border-bottom:1px solid #73685d}nav button:hover{border-color:#73685d}nav i{font-size:11px;font-style:normal;vertical-align:super;margin-left:3px}
.local{font-size:10px;letter-spacing:.8px;line-height:1.8;white-space:nowrap}
main{max-width:1500px;padding:0 4% 50px}main>section:not(#request){padding-top:65px}
.brand-hero{position:relative;margin:0 calc(50% - 50vw);height:clamp(270px,34vw,480px);overflow:hidden;background:#b1a08a}.brand-hero>img{width:100%;height:100%;object-fit:cover}.hero-caption{position:absolute;right:6%;bottom:13%;font:30px/1.4 Caudex,serif;text-align:right;color:white;text-shadow:0 1px 5px #30221850}.hero-caption span{font-size:13px;letter-spacing:3px}
.hero{padding:65px 0 40px;gap:75px;border-bottom:1px solid var(--line);margin-bottom:40px;grid-template-columns:1fr .85fr}h1{font-weight:400;font-size:42px;letter-spacing:-.5px;line-height:1.4;margin-top:15px}.hero h1{font:46px/1.2 Caudex,serif;letter-spacing:0}.hero p{font-family:'Noto Sans KR',sans-serif;font-size:13px;font-weight:300;line-height:2}.eyebrow{font-family:Caudex,serif;color:#8c7d6d;font-size:10px;letter-spacing:2.1px}.composer{background:#fff;border:0;border-left:1px solid var(--line);padding:5px 0 5px 35px}.composer textarea{height:75px;margin:10px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#faf9f7;padding:13px;font-family:'Noto Sans KR',sans-serif;font-size:12px}.composer button.primary{background:transparent;color:var(--ink);border:0;border-bottom:1px solid #8f8274;padding:8px 0;font-size:12px}
.stats{gap:25px;margin-bottom:0}.stats b{font:23px Caudex,serif;color:#6b5e50}.stats span{font-size:10px;color:#8e867f}.badge{border-radius:0;font-size:10px;background:#f4f1ed;padding:4px 7px;letter-spacing:.1px}.badge.warn{background:#f7eee1;color:#927444}
.bar{margin:30px 0;align-items:end}label{font-family:'Noto Sans KR',sans-serif;font-size:11px;gap:9px;color:#796f64}input,select{font-family:'Noto Sans KR',sans-serif;font-size:12px;padding:12px 10px;border-color:#ded8d1}input[type=search]{border:0;border-bottom:1px solid #9c8b77;background:transparent}.search{max-width:650px}.grid{gap:45px 26px}.card{border:0;overflow:visible;background:white}.visual{height:285px;background:#faf9f7;padding:0}.visual img{width:100%;height:100%;object-fit:contain}.card .body{padding:17px 0 0;text-align:center}.card h3{font-family:'Noto Sans KR',sans-serif;font-size:14px;font-weight:400;margin:12px 0 4px;line-height:1.7}.card p{font-size:11px;line-height:1.8}.card .counts{color:#9b8f82;font-size:10px}.card button{font-size:11px;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:white;padding:12px 6px;letter-spacing:.2px}.card button:hover{background:#faf8f5;border-color:#a59480}.card .placeholder{border:0;box-shadow:none;background:#fdfcf9;color:#a49787}.placeholder i{font-family:Caudex,serif}.tablewrap{border:0;border-top:1px solid #a99a89}.tablewrap th{font-family:'Noto Sans KR',sans-serif;font-size:11px;color:#786c5e;background:#f8f6f3}.tablewrap td{font-size:12px;padding:18px 14px}.notice{font-family:'Noto Sans KR',sans-serif;font-size:12px;font-weight:300;background:#f8f6f2;border-left:2px solid #a2917b;border-radius:0}.notice.warn{border-left-color:#b79358;background:#faf4e9}.detailgrid div{background:#f8f6f3;border:0;border-bottom:1px solid #e7e0d7;border-radius:0;font-size:12px}.detailgrid small{font-size:10px}dialog h2{font-family:'Noto Sans KR',sans-serif;font-weight:400}.types button{font-family:'Noto Sans KR',sans-serif;font-size:12px}.types button.active{background:#7c7267;border-color:#7c7267}.labelpreview{font-family:'Noto Sans KR',sans-serif}.cartitem{border:0;border-top:1px solid #cfc3b6;border-radius:0;padding:24px 0}.reference{border:0;border-top:1px solid #cfc3b6;padding:24px 0}footer{display:flex;align-items:center;gap:35px;padding:40px 4%;font-family:'Noto Sans KR',sans-serif;font-size:11px;line-height:1.9;background:#faf9f6}footer img{width:170px;height:auto}footer small{font-size:10px}.footer-note{margin-left:auto;text-align:right}

@media(max-width:1100px){header{gap:25px}.brand img{width:175px}nav{gap:18px}nav button{min-width:70px}nav button span{font-size:15px}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){header{flex-wrap:wrap;justify-content:center;padding:25px 4% 0;gap:18px}.brand img{width:210px}nav{flex-basis:100%;gap:25px;padding-bottom:10px}nav button span{font-size:15px}nav button small{font-size:9px}.hero{grid-template-columns:1fr;gap:30px;padding-top:40px}.composer{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.brand-hero{height:300px}.hero-caption{font-size:24px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 16px}.visual{height:240px}footer{flex-wrap:wrap;gap:20px}.footer-note{margin-left:0;text-align:left}.hero h1{font-size:37px}}
@media(max-width:500px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visual{height:210px}.card .body{padding-top:12px}.card h3{font-size:12px}.card p{font-size:10px}.card button{font-size:10px}.brand-hero{height:250px}.hero-caption{font-size:22px}nav{gap:12px}nav button{min-width:0;flex:1}nav button span{font-size:13px}.hero{padding-bottom:30px}.detailgrid{grid-template-columns:1fr}.bar{gap:12px}.search{flex-basis:100%}main>section:not(#request){padding-top:35px}h1{font-size:29px}.stats{gap:24px}}
/* Request-first archive: compact introduction, touch-friendly controls. */
.brand-hero{height:180px}.hero-caption{font-size:25px;bottom:18%}.hero-caption span{font-size:11px}.quick-request{margin:25px 0 0;border-bottom:1px solid var(--line)}.quick-request summary{cursor:pointer;padding:16px 0;font-family:'Noto Sans KR',sans-serif;font-size:13px;list-style:none}.quick-request summary span{float:right}.quick-request .composer{padding:0 0 20px;border:0}.quick-request textarea{height:110px;font-size:14px}.parsed-row{display:grid;grid-template-columns:1fr 2fr 100px;gap:12px;align-items:center;padding:15px 0;border-top:1px solid var(--line)}.parsed-row b{font-size:12px;font-weight:400}.parsed-row input,.parsed-row select{width:100%}#parseout>button{margin-top:12px}.visual[role=button]{cursor:pointer}.card .body{gap:5px}.card button{margin-top:12px}.card h3{margin-top:5px}.grid{padding-bottom:35px}.preview-thumb{max-width:46%;padding:10px;background:#f8f6f3;display:flex;align-items:center;flex-direction:column;gap:12px;font-size:11px}.print-sample{position:relative;display:block;line-height:0;width:100%;max-width:235px}.preview .preview-thumb img{max-width:100%;max-height:none;display:block;width:100%;height:auto}.trim-line{display:block;position:absolute;border:1px dashed #e32484;pointer-events:none;box-shadow:0 0 0 .5px white}.label-thumb{cursor:zoom-in}.label-thumb:focus-visible{outline:2px solid var(--accent)}.zoom-hint{display:block;text-align:center;font-size:12px;padding:0 0 20px;color:var(--accent)}.label-thumb .detailsource{display:none}.labelpreview{overflow-wrap:anywhere}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:white;padding:10px 16px;border-bottom:1px solid var(--line)}#imageviewer{width:min(1100px,98vw);height:94dvh;max-height:94dvh;padding:0;overflow:hidden}.viewer-controls{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:12px}.viewer-controls button{padding:10px 13px}.viewer-controls [aria-pressed=true]{background:var(--ink);color:white}.viewer-legend{text-align:center;font-size:11px;margin:0;padding:0 12px 12px}.viewer-legend span{color:#b61964}.viewer-scroll{height:calc(100% - 155px);overflow:auto;background:#edeae6;padding:24px;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}.viewer-canvas{margin:0 auto;max-width:none;min-width:200px}.viewer-print{position:relative;width:min(100%,600px);margin:0 auto;line-height:0}.viewer-canvas[style]:not([style="width:100%"]):not([style="width:75%"]):not([style="width:50%"]){min-width:0}.viewer-canvas .viewer-print{width:72%;max-width:none}.viewer-print>img{width:100%;display:block;height:auto}.viewer-print.cropped{aspect-ratio:var(--ratio);overflow:hidden}.viewer-print.cropped>img{position:absolute;width:calc(100% * var(--scale));max-width:none;left:calc(-1 * var(--crop-x) * var(--scale));top:calc(-1 * var(--crop-y) * var(--scale))}.viewer-canvas .labelpreview{width:100%;max-width:650px;padding:30px;font-size:16px}.viewer-canvas .labelpreview h3{font-size:18px}.viewer-canvas .labelpreview table{font-size:inherit}.viewer-canvas .detailsource{display:none}.actionbar{align-items:center;bottom:-28px;z-index:1}.actionbar button{min-height:45px}.actionbar #added{font-size:12px}.actionbar #added button{border:0;padding:8px}.cartitem .row>div:last-child{display:flex;align-items:end;gap:12px}.request-card{border-top:1px solid var(--line);padding:22px 0}.request-card ul{list-style:none;padding:0}.request-card li{padding:9px 0;display:flex;gap:15px;justify-content:space-between;line-height:1.7}.request-card li strong{white-space:nowrap;font-weight:500}#review .bar label{min-width:140px;flex:1}#review #memo{min-height:90px}#receipt:empty{display:none}#submit{min-width:180px}.footer-note{display:none}input[type=number]{font-family:'Noto Sans KR',sans-serif}
@media(max-width:700px){header{padding:20px 4% 0;gap:14px}.brand img{width:175px}nav{gap:7px;justify-content:space-between;width:100%}nav button{flex:1;min-height:55px;padding:8px 1px}nav button span{font-size:13px}nav button small{font-size:10px}.brand-hero{height:140px}.hero-caption{font-size:20px}.hero-caption span{font-size:9px;letter-spacing:1px}.bar{margin:22px 0}.bar label{flex:1;min-width:130px}.bar .search{min-width:100%;max-width:none}.grid{gap:26px 14px}.visual{height:220px}.card button{min-height:44px}.quick-request{margin-top:12px}.parsed-row{grid-template-columns:1fr 85px}.parsed-row b{grid-column:1/-1}.parsed-row label:first-of-type{min-width:0}input,select,textarea,.quick-request textarea{font-size:16px}dialog#detail{width:100%;height:100dvh;max-height:100dvh;max-width:100%;margin:0;padding:18px 16px;padding-bottom:0}#detail>.row:first-child{position:sticky;top:-18px;background:white;z-index:2;padding:12px 0;border-bottom:1px solid var(--line)}#detail h2{font-size:18px;margin:5px 0}.types{gap:7px;margin:18px 0}.types button{min-height:44px;padding:10px;font-size:12px}.detailgrid{grid-template-columns:1fr 1fr;gap:7px}.detailgrid div{padding:10px;overflow-wrap:anywhere}.detailgrid small{font-size:11px}.preview{gap:10px}.preview-thumb{max-width:calc(50% - 5px);padding:6px}.actionbar{bottom:0;margin:0 -16px;padding:14px 16px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -5px 16px #00000008}.actionbar label{width:95px}.actionbar input{width:95px}.actionbar>button{flex:1}.actionbar #added{width:100%}.labelpreview{font-size:11px;padding:12px}.labelpreview td{font-size:inherit}.tablewrap>table{min-width:760px}#imageviewer{height:100dvh;max-height:100dvh;width:100%;max-width:100%;margin:0}.viewer-toolbar b{font-size:13px}.viewer-scroll{padding:12px;height:calc(100% - 190px)}.viewer-canvas .viewer-print{width:100%}.viewer-canvas .labelpreview{padding:15px;font-size:13px}.viewer-controls{gap:6px;padding:10px 8px}.viewer-controls button{font-size:12px;min-height:42px;padding:8px 10px}.viewer-legend{line-height:1.7}.cartitem{padding:18px 0}.cartitem .row{display:block}.cartitem .row>div:last-child{margin-top:12px}.cartitem input{width:110px}.cartitem b{font-size:14px}.request-card li{font-size:13px}#review .bar:last-of-type{position:sticky;bottom:0;background:white;padding:12px 0;margin-bottom:0;border-top:1px solid var(--line)}#submit{flex:1;min-height:48px}#saved{width:100%;font-size:12px}footer{padding:25px 4%;margin-top:20px}footer img{width:130px}}
.viewer-canvas .viewer-print{width:min(100%,calc((100dvh - 235px) * var(--workratio,.64) * var(--zoom,1)))}.viewer-print.cropped>img{top:calc(-1 * var(--crop-y) * var(--scale-y))}.viewer-canvas .labelpreview{font-size:calc(15px * var(--zoom,1))}
@media(max-width:700px){.viewer-canvas .viewer-print{width:min(100%,calc((100dvh - 270px) * var(--workratio,.64) * var(--zoom,1)))}.viewer-canvas .labelpreview{font-size:calc(13px * var(--zoom,1))}}
#adminlink{margin-left:auto;text-underline-offset:4px;padding:12px}#adminlogin{max-width:460px;padding:20px 0 50px}#adminloginform{display:flex;flex-direction:column;gap:16px}#adminloginmessage{line-height:1.8;font-family:'Noto Sans KR',sans-serif;font-size:13px}#adminrequests{display:grid;gap:25px}.admin-request{border:1px solid var(--line);padding:25px}.admin-request>.row p{font-size:12px;margin:6px 0}.admin-request ul{list-style:none;padding:0;border-top:1px solid var(--line)}.admin-request li{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line);line-height:1.7}.admin-request li strong{white-space:nowrap;font-weight:500}.admin-delivery{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.admin-delivery p{font-family:'Noto Sans KR',sans-serif;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.admin-delivery small{display:block;font-size:11px}.admin-memo{grid-column:1/-1}.admin-request summary{cursor:pointer;padding:14px 0;font-size:13px}.admin-spec{padding:14px;background:#faf9f6;margin:8px 0;font-size:12px}.admin-actions{border-top:1px solid var(--line);padding-top:18px;margin-top:10px;display:flex;align-items:end;gap:12px;flex-wrap:wrap}.admin-actions span{font-size:12px;align-self:center}.admin-actions select{min-width:140px}.admin-actions button{min-height:44px}#adminmessage{font-size:12px}.admin-request .badge{font-size:12px}#admin .bar .search{max-width:none}
@media(max-width:700px){.admin-request{padding:16px}.admin-delivery{grid-template-columns:1fr}.admin-request li{font-size:13px}.admin-actions label{flex:1}.admin-actions button{flex:1}.admin-actions span{flex-basis:100%}.admin-request>.row{flex-wrap:nowrap;align-items:start}.admin-request>.row>div{min-width:0}.admin-request .badge{white-space:nowrap}.admin-request .row b{font-size:13px}.admin-actions input,.admin-actions select{font-size:16px}#admin .bar{align-items:end}}
/* Quick-order list: choose quantities once; details only on demand. */
#request>.bar{margin-top:28px;margin-bottom:14px}.quick-request{margin:0 0 25px;border-top:0}.quick-request summary{padding:12px 0;font-size:12px;color:var(--muted)}header nav{gap:35px}header nav button span{font-family:'Noto Sans KR',sans-serif;font-size:14px}.card h3{margin:0 0 6px}.card button{font-size:12px}.card .body{padding-top:14px}.card .visual{background:#f8f7f4}.has-dock main{padding-bottom:110px}#requestdock{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:min(700px,92%);padding:14px 18px;background:#fff;border:1px solid #d2c8bc;box-shadow:0 4px 30px #342e2314;display:flex;justify-content:space-between;align-items:center;z-index:8;gap:20px}#requestdock>span{display:flex;gap:14px;align-items:center}#requestdock b{font-size:14px;font-weight:500}#requestdock small{font-size:12px}#requestdock button{min-width:145px;min-height:45px}#toast{position:fixed;left:50%;bottom:110px;transform:translate(-50%,12px);background:#292521;color:#fff;max-width:90%;padding:13px 20px;font-size:12px;z-index:30;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;line-height:1.7;text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}
dialog#detail{width:min(740px,94vw);max-height:88dvh;padding:0;height:auto}.sheet-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:15px;background:white;border-bottom:1px solid var(--line);padding:22px 25px}.sheet-head h2{margin:0 0 8px;font-size:22px}.sheet-head p{margin:0;font:12px 'Noto Sans KR',sans-serif;color:var(--muted)}.sheet-head button{flex-shrink:0}.order-options{padding:0 25px}.order-option{padding:22px 0;border-bottom:1px solid var(--line)}.order-option:last-child{border-bottom:0}.option-main{display:flex;gap:16px;align-items:center}.option-preview{width:60px;flex-shrink:0;padding:0;border:0;background:#f6f4f0;line-height:1}.option-preview img{display:block;width:60px;height:80px;object-fit:contain}.option-preview>span{width:60px;height:80px;display:flex;align-items:center;justify-content:center;line-height:1.6;font-size:11px;color:#8b7c6b}.option-preview small{display:block;font-size:10px;padding:7px 2px;background:white;color:var(--muted)}.option-title{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.option-title b{font-family:'Noto Sans KR',sans-serif;font-size:14px;font-weight:500;line-height:1.6}.option-title>span{font-size:12px;color:var(--muted)}.option-title small{font-size:10px;color:#a38e6c;line-height:1.6}.quantity-stepper{display:flex;border:1px solid #d4cdc5;align-items:center;flex-shrink:0}.quantity-stepper input{width:70px;text-align:center;padding:12px 0;border:0;font-size:16px;-moz-appearance:textfield}.quantity-stepper input::-webkit-inner-spin-button{appearance:none}.quantity-stepper button{border:0;padding:11px 9px;font-size:17px;min-width:35px;min-height:45px}.option-spec{margin:0 0 0 76px}.option-spec summary{font-size:11px;color:var(--muted);cursor:pointer;padding:4px 0}.option-spec p{font-size:12px;margin:8px 0}.option-spec>small{font-size:11px;line-height:1.7}.sheet-footer{position:sticky;bottom:0;background:white;border-top:1px solid var(--line);padding:18px 25px;display:flex;align-items:center;justify-content:space-between;gap:15px;z-index:2}.sheet-footer>span{font-size:12px}.sheet-footer button{min-width:175px;min-height:46px}.review-item{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:18px 0}.review-item>div{flex:1;min-width:0}.review-item b{font-family:'Noto Sans KR',sans-serif;font-weight:500;font-size:14px}.review-item small{display:block;font-size:12px;margin-top:7px}.review-item input{width:90px;text-align:right;font-size:16px}.review-item>button{border:0;font-size:23px;padding:8px;color:#9a9085}.review-item>span{font-size:12px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.request-form{max-width:740px;margin:28px auto}.request-form>label{font-size:13px;display:block}.request-form>label small{font-size:10px;margin-left:8px}.request-form>label input{display:block;width:100%;margin-top:10px}.delivery-default{display:flex;justify-content:space-between;align-items:center;padding:22px 0;margin:15px 0;border-bottom:1px solid var(--line)}.delivery-default small{display:block;font-size:11px;margin-bottom:7px}.delivery-default b{font-weight:500;font-size:14px}.delivery-default button{border:0;text-decoration:underline;text-underline-offset:4px;font-size:12px;color:var(--accent);padding:12px}.request-form #deliveryedit{background:#faf8f5;padding:16px;display:grid;gap:15px}.request-form #deliverydone{justify-self:end}#requestextras summary{cursor:pointer;padding:14px 0;font-size:12px}#requestextras summary span{color:var(--muted);font-size:10px;margin-left:8px}.extra-fields{display:grid;gap:18px;padding:15px 0}.extra-fields input{max-width:300px}.extra-fields small{font-size:10px}.submitbar{border-top:1px solid var(--line);padding-top:20px;margin-top:15px}.submitbar>button{width:100%;min-height:50px;font-size:14px}.submitbar #saved{display:block;font-size:12px;line-height:1.7;margin-top:12px}.request-card>button{font-size:12px;padding:9px 13px}
@media(min-width:900px){#request>.bar .search{max-width:none}#review>#cart{max-width:740px;margin:auto}#review>h1{max-width:740px;margin-left:auto;margin-right:auto}}
@media(max-width:700px){header{padding-top:16px;gap:5px}.brand img{width:165px}header nav{padding:0;gap:18px;flex-basis:100%;max-width:340px;margin:0 auto}header nav button{padding:10px 5px;min-height:42px}header nav button span{font-size:13px}.quick-request{margin-bottom:20px}.quick-request summary{font-size:12px}#request>.bar{margin-top:22px}.grid{gap:26px 15px}.card h3{font-size:12px}.card button{font-size:11px}#requestdock{bottom:0;width:100%;max-width:none;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-left:0;border-right:0;border-bottom:0;gap:12px}#requestdock>span{flex-direction:column;align-items:start;gap:3px}#requestdock button{min-width:150px}#toast{bottom:100px;width:88%;max-width:400px}dialog#detail{width:100%;max-width:100%;height:auto;max-height:92dvh;margin:auto 0 0;top:auto;bottom:0;border-radius:14px 14px 0 0}.sheet-head{padding:20px 16px 16px}.sheet-head h2{font-size:18px!important}.sheet-head p{font-size:11px;line-height:1.7}.sheet-head button{padding:10px;font-size:12px;min-height:44px}.order-options{padding:0 16px}.order-option{padding:18px 0}.option-main{gap:10px}.option-preview,.option-preview img,.option-preview>span{width:44px}.option-preview img,.option-preview>span{height:62px}.option-title b{font-size:12px}.option-title>span{font-size:11px}.option-title small{font-size:9px}.quantity-stepper input{width:47px;font-size:16px}.quantity-stepper button{min-width:29px;padding:11px 6px;font-size:16px}.option-spec{margin-left:54px}.sheet-footer{padding:14px 16px calc(14px + env(safe-area-inset-bottom));gap:10px}.sheet-footer>span{font-size:11px;flex:1}.sheet-footer button{min-width:150px}.review-item{gap:7px}.review-item b{font-size:12px;line-height:1.7}.review-item small{font-size:11px}.review-item input{width:70px;padding:11px 7px}.review-item>button{padding:7px}.request-form{margin-top:24px}.submitbar{position:sticky;bottom:0;background:white;padding-bottom:calc(12px + env(safe-area-inset-bottom));z-index:3}#review #receipt .notice{margin-top:15px}}

.pdf-download{white-space:nowrap;border:1px solid #c9c3b8;padding:8px 12px;text-decoration:none;color:inherit;font-size:14px}

.viewer-print.cropped{border-radius:var(--round-x,0%) / var(--round-y,0%)}

.bundle-quantity{margin:16px 0 22px;padding:16px;background:#f5f3ee;border:1px solid #e1ddd4}.bundle-quantity label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.bundle-quantity input{width:105px;min-width:0;margin:0;padding:9px}.bundle-presets,.bundle-buttons{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.bundle-presets button{padding:6px 12px;font-size:13px;background:white}.bundle-buttons button{padding:9px 11px;font-size:13px;border-color:#bcb2a3;background:white}.bundle-quantity small{display:block;margin-top:10px;font-size:12px;color:#716b62}.parsed-row select{max-width:100%}@media(max-width:520px){.bundle-quantity{padding:12px}.bundle-buttons{display:grid;grid-template-columns:1fr}.bundle-buttons button{text-align:left}.parsed-row{min-width:0}.parsed-row label{min-width:0}.parsed-row b{overflow-wrap:anywhere}}
#detail .bundle-quantity>label{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%;text-align:left}#detail .bundle-quantity>label input{width:105px;flex:0 0 105px;margin:0}

nav .order-nav{font-size:13px;color:inherit;text-decoration:none;padding:10px 12px;white-space:nowrap;align-self:center}@media(max-width:600px){nav .order-nav{padding:9px 8px;font-size:12px}}

/* Product source details and archived references */
#productdetailviewer{width:min(960px,96vw);height:92dvh;max-height:92dvh;padding:0;overflow:hidden;border:1px solid #ddd6cb;background:#faf9f6}#productdetailviewer[open]{display:flex;flex-direction:column}#productdetailviewer iframe{width:100%;flex:1;border:0;min-height:0}.reference-materials{margin:20px 0;padding:14px;border-top:1px solid #e5e0d8}.reference-materials button{display:block;width:100%;text-align:left;margin-top:8px}.reference-materials small{display:block;color:#82776c;margin-top:4px}@media(max-width:600px){#productdetailviewer{width:100vw;height:96dvh;max-width:100vw;max-height:96dvh;margin:auto 0 0;border-radius:12px 12px 0 0}.viewer-toolbar b{min-width:0}}
#detail{scroll-padding-block:140px 110px}.order-option{scroll-margin-block:140px 110px}

/* Staff request screens */
:root{--muted:#655d55}
header nav button{min-height:44px}
header nav button.active{font-weight:700}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #725c48;outline-offset:2px}
#kind{flex:0 1 auto;width:auto;min-height:44px}
.card button.visual{display:flex;width:100%;margin:0;border:0;padding:0;background:#f6f4f0}
.card .body button{min-height:44px}
.option-group{border:1px solid var(--line);margin:0 0 12px;border-radius:3px}
.option-group summary,.bundle-quantity summary,.request-card summary{cursor:pointer;min-height:44px;padding:12px 14px;font-weight:600}
.option-group summary{background:#f5f2ed}
.option-group summary small{margin-left:6px;font-weight:400;color:var(--muted)}
.option-group .order-option{margin:0;padding:12px;border-width:0 0 1px}
.option-group .order-option:last-child{border-bottom:0}
#detail[open],#reorder[open]{display:flex;flex-direction:column}
#reorder{width:min(720px,94vw);max-height:88dvh;padding:0}
.sheet-head,.sheet-footer{flex:none}
.sheet-content{overflow:auto;min-height:0;overscroll-behavior:contain;padding:12px 20px}
.sheet-content .order-options{padding:0}
.sheet-footer{position:static;padding-bottom:max(12px,env(safe-area-inset-bottom))}
.sheet-head button,.sheet-footer button,.viewer-toolbar button,.viewer-controls button{min-width:44px;min-height:44px}
.placement{display:inline-flex;gap:5px;align-items:center;color:#655649;font-size:12px}
.placement svg{width:24px;height:22px}
.option-title{min-width:0;overflow-wrap:anywhere}
.option-main .wide-art img{width:100%;object-fit:contain}
.bundle-quantity{padding:0 0 12px}
.bundle-quantity fieldset{margin:6px 12px;border:1px solid var(--line);padding:6px 10px}
.bundle-quantity .bundle-target,.bundle-target{display:flex;justify-content:flex-start;align-items:center;gap:9px;min-height:44px}
.bundle-target input,.bundle-quantity .bundle-target input{width:20px;height:20px;flex:none;margin:0}
.bundle-controls{display:flex;gap:10px;align-items:end;margin:10px 12px}
.bundle-controls button{min-height:44px}
#bundlemessage{margin:0 12px;overflow-wrap:anywhere}
.review-item{display:grid;grid-template-columns:52px minmax(0,1fr) 76px auto 44px;gap:8px}
.review-item small{display:block}
.review-thumb{display:grid;place-items:center;min-height:44px;width:52px;padding:2px;background:#f6f4f0;border:1px solid var(--line);font-size:11px}
.review-thumb img,.status-item img{max-width:100%;height:44px;object-fit:contain}
.review-item input{width:100%;min-width:0}
.review-item>button:last-child{min-height:44px}
.request-card{margin:12px 0}
.request-card summary span:first-child{display:inline-block;vertical-align:middle;width:calc(100% - 115px);overflow-wrap:anywhere}
.request-card small{display:block;color:var(--muted)}
.request-card h3{font-size:15px}
.request-card summary .badge{margin-left:4px}
.status-items{list-style:none;padding:0;margin:12px 0}
.status-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}
.status-item>span{grid-column:2;overflow-wrap:anywhere}
.status-item small{display:block}
.status-item>a{width:52px;text-align:center}
.timeline{padding-left:24px}
.material-photo{max-width:100%;max-height:240px}
.viewer-print.transparent-stock{background:#f0ece7}
.viewer-print.transparent-stock img{mix-blend-mode:multiply}
#imageviewer .viewer-scroll{overscroll-behavior:contain}
@media(max-width:700px){
 #request>.bar{gap:8px}#request>.bar .search{flex-basis:100%}
 #request .search input,#kind,#detail input,#review input,#review textarea,#review select,.composer textarea{font-size:16px}
 #detail[open],#reorder[open]{max-height:calc(var(--visual-height,100dvh) - 6px);margin-bottom:0}
 #detail .sheet-content,#reorder .sheet-content{padding:8px 10px}
 #detail .sheet-head,#reorder .sheet-head{padding:10px 12px}
 #detail .sheet-footer,#reorder .sheet-footer{padding:8px 12px max(8px,env(safe-area-inset-bottom))}
 #detail .option-main{grid-template-columns:52px minmax(0,1fr) auto;gap:6px}
 #detail .option-main .quantity-stepper{grid-template-columns:44px minmax(38px,48px) 44px}
 #detail .quantity-stepper button,#detail .quantity-stepper input{min-height:44px;padding:0}
 #detail .quantity-stepper input{width:100%}
 #detail .option-title b,.card h3{font-size:14px}
 #detail .option-title span{font-size:12px}
 #detail .option-spec summary{display:flex;align-items:center;min-height:44px}
 #detail .option-preview{width:52px}
 .review-item{grid-template-columns:44px minmax(0,1fr) 64px auto 44px;gap:5px;padding-inline:6px}
 .review-thumb{width:44px}
 .viewer-controls{flex-wrap:wrap}
}
.order-editor{margin-top:14px}
.order-editor form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.order-editor form label{flex:1 1 130px}
.order-editor button{min-height:44px}
