:root{--bg:#eeece6;--paper:#f8f6f1;--ink:#151515;--line:rgba(21,21,21,.14);--muted:#7b776f;--accent:#e33d20;--green:#287a4b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,"Noto Sans KR",sans-serif}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:#151515;color:#eee;padding:24px 16px;display:flex;flex-direction:column;z-index:20}.admin-brand{color:#fff;text-decoration:none;font-weight:900;font-size:20px;letter-spacing:-.05em;padding:0 8px 24px;border-bottom:1px solid #333}.admin-brand span{font-size:8px;letter-spacing:.14em;color:#999;margin-left:6px}.admin-sidebar nav{display:flex;flex-direction:column;gap:5px;margin-top:20px}.admin-nav{border:0;background:transparent;color:#aaa;text-align:left;padding:12px;border-radius:7px;font-size:11px;font-weight:800}.admin-nav:hover,.admin-nav.active{background:#292929;color:#fff}.admin-nav b{float:right;background:var(--accent);color:#fff;border-radius:99px;min-width:20px;text-align:center;padding:2px 5px;font-size:8px}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:12px;padding:10px 8px}.sidebar-bottom a{color:#eee;text-decoration:none;font-size:10px}.sidebar-bottom small{font-size:7px;color:#666;letter-spacing:.1em}.admin-main{margin-left:230px;min-height:100vh}.admin-topbar{height:84px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(238,236,230,.95);position:sticky;top:0;z-index:10;backdrop-filter:blur(10px)}.admin-topbar span,.panel-title span{font-size:7px;color:var(--muted);font-weight:800;letter-spacing:.14em}.admin-topbar h1{margin:4px 0 0;font-size:22px;letter-spacing:-.04em}.admin-date{font-size:9px;color:var(--muted)}.admin-view{display:none;padding:26px}.admin-view.active{display:block}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.stat-grid article{background:var(--paper);border:1px solid var(--line);padding:20px;min-height:130px}.stat-grid span{font-size:9px;color:var(--muted)}.stat-grid strong{display:block;font-size:38px;margin:16px 0 6px;letter-spacing:-.06em}.stat-grid small{font-size:8px;color:#999}.admin-panel{background:var(--paper);border:1px solid var(--line);padding:20px;min-width:0}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:16px;border-bottom:1px solid var(--line)}.panel-title h2{font-size:16px;margin:4px 0 0}.panel-title>button,.count-label{border:1px solid #bbb5aa;background:transparent;padding:7px 10px;font-size:8px;font-weight:800}.recent-list{display:flex;flex-direction:column}.recent-list>button{display:grid;grid-template-columns:1fr 70px 150px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;padding:13px 4px}.recent-list b{display:block;font-size:10px}.recent-list small{display:block;margin-top:4px;color:var(--muted);font-size:8px}.recent-list em{font-style:normal;font-size:8px}.recent-list time{font-size:8px;color:var(--muted);text-align:right}.admin-two-column{display:grid;grid-template-columns:390px minmax(0,1fr);gap:16px}.product-form{display:grid;gap:13px;margin-top:18px}.product-form label>span,.product-form>label:not(.image-field){font-size:9px;font-weight:800}.product-form input[type=text],.product-form input[type=number],.product-form input:not([type]){width:100%;margin-top:6px;padding:11px;border:1px solid #bbb5aa;background:#fff;outline:none}.product-form input:focus{border-color:#222}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.image-field{display:grid;gap:8px}.image-field>input{font-size:9px}.image-field small{font-size:7px;color:var(--muted)}.product-image-preview{height:210px;background:#ddd8ce;display:grid;place-items:center;overflow:hidden}.product-image-preview img{width:100%;height:100%;object-fit:cover}.product-image-preview span{font-size:10px;color:#888}fieldset{border:1px solid var(--line);padding:12px}legend{font-size:8px;font-weight:800;padding:0 4px}.size-checks{display:flex;gap:5px;flex-wrap:wrap}.size-checks label input{display:none}.size-checks label span{display:grid;place-items:center;min-width:44px;height:34px;border:1px solid #b9b3a9;font-size:9px;cursor:pointer}.size-checks label input:checked+span{background:#151515;color:#fff;border-color:#151515}.switch-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.switch-row label{border:1px solid var(--line);padding:10px;font-size:9px;display:flex;gap:7px}.admin-primary{border:0;background:var(--accent);color:#fff;padding:13px;font-size:9px;font-weight:900}.admin-product-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:16px}.admin-product-card{border:1px solid var(--line);background:#fff;padding:8px}.admin-product-card.unpublished{opacity:.56}.admin-product-img{height:190px;background:#dedbd3;position:relative;overflow:hidden;display:grid;place-items:center;font-size:8px;color:#888}.admin-product-img img{width:100%;height:100%;object-fit:cover}.admin-product-img b{position:absolute;top:8px;right:8px;background:#151515;color:#fff;padding:5px 7px;font-size:7px}.admin-product-copy{padding:10px 3px}.admin-product-copy small{font-size:7px;color:var(--muted)}.admin-product-copy h3{font-size:12px;margin:4px 0 8px}.admin-product-copy>strong{font-size:12px}.mini-sizes{display:flex;gap:3px;margin-top:8px}.mini-sizes span{border:1px solid #ddd7cc;padding:3px 5px;font-size:6px}.admin-product-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.admin-product-actions button{border:1px solid #c7c1b7;background:#f7f5f0;padding:7px;font-size:7px}.admin-product-actions .danger{color:#a43124}.inquiry-head{align-items:flex-end}.order-search{display:flex;gap:4px}.order-search input{width:210px;border:1px solid #aaa49a;background:#fff;padding:9px;font-size:9px}.order-search button{border:1px solid #aaa49a;background:#fff;padding:0 10px;font-size:8px}.inquiry-layout{display:grid;grid-template-columns:380px minmax(0,1fr);min-height:620px}.inquiry-list{border-right:1px solid var(--line);padding-right:12px;margin-top:12px}.inquiry-row{width:100%;border:0;border-bottom:1px solid var(--line);background:none;display:grid;grid-template-columns:8px 1fr auto;gap:8px;text-align:left;padding:13px 5px;align-items:start}.inquiry-row.active{background:#eeece6}.inquiry-row .status-dot{width:6px;height:6px;border-radius:50%;background:#aaa;margin-top:3px}.inquiry-row .status-dot.new{background:var(--accent)}.inquiry-row b{display:block;font-size:9px}.inquiry-row strong{display:block;font-size:9px;margin-top:5px}.inquiry-row small{font-size:7px;color:var(--muted)}.inquiry-row em{font-style:normal;font-size:7px;padding:4px;border:1px solid var(--line)}.inquiry-detail{padding:24px;min-width:0}.detail-empty,.empty-state{padding:35px;color:var(--muted);font-size:9px;text-align:center}.detail-top{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:18px}.detail-top small{font-size:7px;color:var(--muted)}.detail-top h2{font-size:20px;margin:5px 0}.detail-top select{border:1px solid #aaa;padding:8px;background:#fff;font-size:9px}.detail-product{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.detail-product img{width:64px;height:72px;object-fit:cover}.detail-product small,.message-box small,.layer-data>small{font-size:7px;color:var(--muted);display:block}.detail-product b{display:block;font-size:11px;margin:4px 0}.detail-product span{font-size:8px}.detail-dl{margin:0;padding:12px 0;border-bottom:1px solid var(--line)}.detail-dl>div{display:grid;grid-template-columns:110px 1fr;padding:6px 0;font-size:9px}.detail-dl dt{color:var(--muted)}.detail-dl dd{margin:0}.detail-dl i{display:inline-block;width:10px;height:10px;border:1px solid #aaa;border-radius:50%;vertical-align:-1px;margin-right:6px}.message-box,.layer-data{margin-top:16px;padding:14px;background:#efede7}.message-box p{font-size:10px;line-height:1.6;margin:8px 0 0}.layer-data>div{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:8px 0;font-size:7px}.layer-data>div:first-of-type{margin-top:8px}.layer-data span{color:var(--muted);text-align:right}.admin-toast{position:fixed;right:22px;bottom:22px;background:#151515;color:#fff;padding:13px 18px;font-size:9px;z-index:50;box-shadow:0 12px 40px rgba(0,0,0,.2)}@media(max-width:1050px){.admin-two-column{grid-template-columns:1fr}.product-editor-panel{max-width:none}.inquiry-layout{grid-template-columns:300px 1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.admin-sidebar{position:static;width:auto;height:auto}.admin-main{margin-left:0}.admin-sidebar nav{flex-direction:row;overflow:auto}.sidebar-bottom{display:none}.stat-grid{grid-template-columns:1fr 1fr}.admin-view{padding:12px}.admin-topbar{padding:0 14px}.inquiry-layout{grid-template-columns:1fr}.inquiry-list{border-right:0}.inquiry-detail{padding:16px}.inquiry-head{align-items:stretch;flex-direction:column}.order-search input{width:100%}}

/* Flat Custom additions */
.admin-brand{display:flex;flex-direction:column;align-items:flex-start;gap:5px;white-space:nowrap}
.admin-brand strong{display:block;white-space:nowrap;line-height:1;font-size:20px}
.admin-brand span{display:block;margin-left:0;font-size:8px;line-height:1.2}
.member-profile-form{max-width:620px;margin-top:18px;padding:16px;background:#efede7;border:1px solid var(--line)}
.member-profile-form h3{margin:4px 0 0;font-size:10px}
.product-form input[type=email],.product-form input[type=tel],.product-form input[type=search]{width:100%;margin-top:6px;padding:11px;border:1px solid #bbb5aa;background:#fff;outline:none}
.status-list{border-right:0;max-width:900px}
.sidebar-bottom button{border:0;background:none;color:#eee;padding:0;text-align:left;font-size:10px;cursor:pointer}
.auth-pending{visibility:hidden}
.admin-login{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;background:rgba(10,10,10,.86);backdrop-filter:blur(12px)}.admin-login[hidden]{display:none}.admin-login-card{width:min(390px,100%);display:grid;gap:14px;padding:30px;background:#f8f6f1;color:#151515;box-shadow:0 24px 80px rgba(0,0,0,.4)}.admin-login-card>small{font-size:8px;letter-spacing:.16em;color:#777}.admin-login-card h2{margin:0 0 8px;font-size:28px;letter-spacing:-.05em}.admin-login-card label{font-size:9px;font-weight:900}.admin-login-card input{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid #aaa;background:#fff}.admin-login-card p{margin:0;color:#b32d20;font-size:9px}.admin-login-card button{border:0;background:#151515;color:#fff;padding:14px;font-size:9px;font-weight:900}
.product-form select{width:100%;margin-top:6px;padding:11px;border:1px solid #bbb5aa;background:#fff}.model-link-field{display:grid;gap:6px;padding:12px;border:2px solid #151515;background:#f0eee8}.model-link-field>span{font-size:10px!important}.model-link-field small{font-size:7px;line-height:1.5;color:var(--muted)}
.product-image-preview img,.admin-product-img img{object-fit:contain!important;background:repeating-conic-gradient(#e7e4dc 0 25%,#f8f6f1 0 50%) 50%/14px 14px}
.product-image-preview{height:auto!important;min-height:210px;max-height:none!important;overflow:visible!important}.product-image-preview img{display:block;width:auto!important;max-width:100%;height:auto!important;max-height:560px;margin:auto;object-fit:contain!important}
.product-model-badge{display:inline-block;margin-top:8px;padding:5px 7px;background:#ebe8df;border:1px solid #d1ccc1;font-size:7px;color:#555}
.model-upload-form{display:grid;gap:9px;margin:16px 0;padding:13px;border:1px solid var(--line);background:#fff}
.model-upload-form>strong{font-size:11px}.model-upload-form label{font-size:8px;font-weight:800}.model-upload-form input{display:block;width:100%;margin-top:5px;padding:8px;border:1px solid #bbb5aa;background:#fff;font-size:8px}.model-upload-form>button{border:0;background:#151515;color:#fff;padding:10px;font-size:8px;font-weight:900}.model-upload-form>small{font-size:7px;line-height:1.5;color:var(--muted)}
.model-library{display:grid;gap:4px}.model-library-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:7px;border:1px solid var(--line);font-size:8px}.model-library-row small{display:block;color:var(--muted);margin-top:3px}.model-library-row button{border:1px solid #ccc;background:#fff;padding:5px 7px;font-size:7px;color:#a43124}
.model-manager-layout{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:16px;align-items:start}.model-manager-layout .model-upload-form{margin-bottom:0}.model-library-large{margin-top:16px;gap:8px}.model-library-large .model-library-row{padding:14px;background:#fff}.model-library-row b{font-size:10px}.model-library-row em{display:block;margin-top:6px;color:var(--green);font-size:7px;font-style:normal}.model-library-row button{white-space:nowrap}.model-library-large>small{display:block;padding:32px;text-align:center;color:var(--muted)}
@media(max-width:900px){.model-manager-layout{grid-template-columns:1fr}}
.product-colors-fieldset{display:grid;gap:10px}.product-colors-fieldset>small{font-size:7px;line-height:1.5;color:var(--muted)}.product-color-rows{display:grid;gap:7px}.product-color-row{display:grid;grid-template-columns:38px minmax(80px,1fr) 105px 54px auto;gap:6px;align-items:center}.product-color-row>input:not(.color-picker),.product-color-row>select{width:100%;min-width:0;padding:8px;border:1px solid #bbb5aa;background:#fff;font-size:8px}.product-color-row .color-picker{width:38px;height:34px;padding:2px;border:1px solid #bbb5aa;background:#fff}.default-color-check{display:flex;align-items:center;gap:4px;font-size:8px!important}.product-color-row>button,.add-color-btn{border:1px solid #bbb5aa;background:#fff;padding:8px;font-size:7px}.product-color-row>button{color:#a43124}.add-color-btn{justify-self:start;font-weight:800}@media(max-width:560px){.product-color-row{grid-template-columns:38px 1fr auto}.product-color-row>select{grid-column:2}.default-color-check{grid-column:2}.product-color-row>button{grid-column:3;grid-row:1}}
.fabric-manager-layout{display:grid;grid-template-columns:minmax(340px,480px) minmax(0,1fr);gap:16px;align-items:start}.fabric-form{display:grid;gap:12px;margin-top:16px}.fabric-form>label{font-size:8px;font-weight:800}.fabric-form input:not([type=color]):not([type=range]),.fabric-form select{display:block;width:100%;margin-top:5px;padding:9px;border:1px solid #bbb5aa;background:#fff}.fabric-form input[type=range]{width:100%;margin-top:7px}.fabric-form output{float:right;color:var(--accent)}.fabric-colors{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.fabric-colors label{font-size:7px}.fabric-colors input{display:block;width:100%;height:38px;margin-top:5px}.fabric-image-field small{display:block;margin-top:5px;color:var(--muted)}#fabricPreview{display:block;width:100%;height:auto;border:1px solid var(--line);background:#777}.fabric-library{display:grid;gap:8px;margin-top:16px}.fabric-card{display:grid;grid-template-columns:92px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);padding:9px;background:#fff}.fabric-card-preview{height:70px;background-size:cover;background-position:center}.fabric-card b,.fabric-card small{display:block}.fabric-card b{font-size:10px}.fabric-card small{margin-top:5px;font-size:7px;color:var(--muted)}.fabric-card button{border:1px solid #bbb;background:#fff;color:#a43124;padding:7px;font-size:7px}@media(max-width:900px){.fabric-manager-layout{grid-template-columns:1fr}}
.fabric-file-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch;margin-top:5px}.fabric-form .fabric-file-row input{margin-top:0}.fabric-file-row button{min-width:58px;border:1px solid #b9b2a7;background:#fff;color:#9d3026;font-size:8px;font-weight:800}.fabric-file-row button:disabled{color:#aaa;background:#eee;cursor:not-allowed}
.admin-nav-divider{display:block;height:1px;background:#353535;margin:10px 8px}.product-color-row{grid-template-columns:38px minmax(80px,1fr) minmax(130px,1.25fr) 54px auto}

/* Responsive admin shell and overflow-safe editors */
html,body{max-width:100%;overflow-x:hidden}img,canvas{max-width:100%}input,select,textarea{min-width:0}.admin-main,.admin-view,.admin-two-column,.admin-panel,.product-form,fieldset{min-width:0}.admin-main{width:calc(100% - 230px)}.admin-view{max-width:100%}.admin-panel,.fabric-card,.model-library-row,.detail-product{overflow-wrap:anywhere}.admin-menu-btn,.admin-sidebar-backdrop{display:none}.admin-topbar-title{min-width:0}.admin-topbar-title h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-color-row{grid-template-columns:42px minmax(0,1fr) auto;grid-template-rows:auto auto;padding:9px;border:1px solid var(--line);background:#fff}.product-color-row .color-picker,.color-fabric-thumb{grid-column:1;grid-row:1/3;align-self:stretch;width:42px!important;height:auto!important;min-height:70px;border:1px solid #bbb5aa;background-color:#ddd;background-position:center;background-size:cover}.product-color-row>[data-color-field="name"]{grid-column:2;grid-row:1}.product-color-row>[data-color-field="fabricId"]{grid-column:2;grid-row:2}.product-color-row .default-color-check{grid-column:3;grid-row:1;white-space:nowrap}.product-color-row>[data-remove-color]{grid-column:3;grid-row:2}.product-color-row>input:not(.color-picker),.product-color-row>select{max-width:100%}
@media(max-width:1200px){.admin-two-column{grid-template-columns:minmax(300px,360px) minmax(0,1fr)}.inquiry-layout{grid-template-columns:minmax(260px,330px) minmax(0,1fr)}}
@media(max-width:1050px){.admin-two-column,.fabric-manager-layout,.model-manager-layout{grid-template-columns:minmax(0,1fr)}.admin-product-list{grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr))}}
@media(max-width:760px){
  .admin-main{width:100%;margin-left:0}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:min(82vw,300px);height:100dvh;padding:22px 16px;transform:translateX(-105%);transition:transform .24s ease;box-shadow:12px 0 38px rgba(0,0,0,.28);z-index:40}.admin-sidebar nav{flex-direction:column;overflow-y:auto;overflow-x:hidden}.admin-sidebar .sidebar-bottom{display:flex}.admin-sidebar-open .admin-sidebar{transform:translateX(0)}.admin-sidebar-backdrop{position:fixed;inset:0;z-index:35;border:0;background:rgba(0,0,0,.45);opacity:0;pointer-events:none}.admin-sidebar-open .admin-sidebar-backdrop{display:block;opacity:1;pointer-events:auto}.admin-sidebar-open{overflow:hidden}
  .admin-menu-btn{display:grid;width:40px;height:40px;flex:0 0 40px;place-content:center;gap:4px;border:1px solid var(--line);background:var(--paper)}.admin-menu-btn i{display:block;width:17px;height:2px;background:#151515}.admin-topbar{height:72px;padding:0 12px;justify-content:flex-start;gap:11px}.admin-topbar-title{flex:1}.admin-topbar h1{font-size:18px}.admin-date{font-size:7px;text-align:right}.admin-view{padding:10px}.admin-panel{padding:14px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat-grid article{min-height:105px;padding:14px}.stat-grid strong{font-size:30px}.form-row,.switch-row{grid-template-columns:minmax(0,1fr)}.recent-list>button{grid-template-columns:minmax(0,1fr) auto}.recent-list time{grid-column:1/-1;text-align:left}.inquiry-layout{grid-template-columns:minmax(0,1fr);min-height:0}.inquiry-list{max-height:430px;overflow:auto;padding-right:0}.detail-top{gap:8px}.detail-dl>div{grid-template-columns:90px minmax(0,1fr)}.order-search{width:100%;flex-wrap:wrap}.order-search input{flex:1 1 100%;width:100%}.fabric-colors{grid-template-columns:repeat(3,minmax(0,1fr))}.fabric-card{grid-template-columns:64px minmax(0,1fr) auto;gap:8px}.fabric-card-preview{height:58px}.model-library-row{grid-template-columns:minmax(0,1fr) auto}.product-image-preview{min-height:160px!important}.product-color-row{grid-template-columns:40px minmax(0,1fr) auto}.product-color-row .color-picker,.color-fabric-thumb{width:40px!important;min-height:68px}.admin-toast{left:12px;right:12px;bottom:12px;text-align:center}
}

/* 2D mockup production drawing */
.production-drawings{margin-top:18px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.production-section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:12px}
.production-section-title small{display:block;color:var(--muted);font-size:7px!important;letter-spacing:.14em}
.production-section-title h3{margin:4px 0 0;font-size:16px}
.production-section-title p{max-width:390px;margin:0;color:var(--muted);font-size:9px;line-height:1.55;text-align:right}
.production-drawing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.production-drawing-card{min-width:0;border:1px solid #c9c4ba;background:#fff;padding:12px}
.production-drawing-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:9px;border-bottom:1px solid #e4e0d8;font-size:9px}
.production-drawing-heading span{color:var(--accent);font-weight:900}
.production-drawing-heading b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.production-drawing-svg{display:block;width:100%;height:auto;max-height:410px;margin:4px auto 0;background:linear-gradient(#fff,#faf9f6)}
.production-garment-outline{fill:#f3f1eb;stroke:#aaa398;stroke-width:1.5}
.production-rib-line{stroke:#e34728;stroke-width:2;stroke-dasharray:8 6}
.production-rib-label{fill:#e34728;font-size:10px;font-weight:900;letter-spacing:.04em}
.production-print-box{fill:rgba(227,71,40,.09);stroke:#161616;stroke-width:1.8;stroke-dasharray:6 4}
.production-dimension-line{stroke:#161616;stroke-width:1;stroke-dasharray:3 3}
.production-rib-dimension{stroke:#e34728}
.production-drawing-svg marker path{fill:#161616}
.production-dimension-label{fill:#161616;font-size:9px;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.production-rib-distance-label{fill:#e34728}
.production-drawing-spec{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:5px 0 0;background:#dedad1;border:1px solid #dedad1}
.production-drawing-spec div{min-width:0;background:#faf9f6;padding:8px}
.production-drawing-spec dt{color:var(--muted);font-size:7px}
.production-drawing-spec dd{margin:4px 0 0;font-size:9px;font-weight:900;word-break:keep-all}
@media(max-width:620px){.production-section-title{display:block}.production-section-title p{margin-top:7px;text-align:left}.production-drawing-grid{grid-template-columns:1fr}.production-drawing-spec{grid-template-columns:1fr 1fr}.production-drawing-spec div:first-child{grid-column:1/-1}}
.production-mockup-specs{margin-top:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.production-mockup-card img{aspect-ratio:auto;min-height:280px;max-height:680px;background:#f2f0ea}
.production-legacy-note{margin-top:18px;padding:12px;border:1px dashed #b7b1a6;color:var(--muted);font-size:9px;text-align:center}
@media(max-width:420px){.stat-grid{grid-template-columns:minmax(0,1fr)}.admin-date{display:none}.fabric-colors{grid-template-columns:minmax(0,1fr)}.fabric-card{grid-template-columns:54px minmax(0,1fr)}.fabric-card>button{grid-column:1/-1}.product-color-row{grid-template-columns:38px minmax(0,1fr)}.product-color-row .default-color-check{grid-column:1;grid-row:3}.product-color-row>[data-remove-color]{grid-column:2;grid-row:3;justify-self:end}.product-color-row .color-picker,.color-fabric-thumb{width:38px!important}}

/* Readable Korean typography */
html,body,button,input,select,textarea{font-family:"Pretendard Variable",Pretendard,"Noto Sans KR","Malgun Gothic","Apple SD Gothic Neo",system-ui,sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:auto}small,label{font-size:10px!important}.admin-brand span,.sidebar-bottom small,.admin-topbar span,.panel-title span,.admin-date,.stat-grid span,.stat-grid small,.panel-title>button,.count-label,.model-upload-form label,.model-upload-form small,.model-library-row em{font-size:10px!important}.admin-nav,.sidebar-bottom a{font-size:11px}.admin-panel,.product-form,.detail-product{line-height:1.5}:root{--muted:#625e57}.sidebar-bottom small{color:#aaa}.admin-nav{color:#c5c5c5}
.category-manager{margin-bottom:16px}.category-form{display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto;gap:8px;margin-top:16px}.category-form input{min-width:0;padding:10px;border:1px solid #bbb5aa;background:#fff}.category-form button{border:0;background:#151515;color:#fff;padding:0 16px;font-weight:900}.category-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.category-chip{display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--line);background:#fff;font-size:10px}.category-chip button{border:0;background:none;color:var(--accent);font-weight:900}.product-order-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px}.product-order-actions button{min-width:34px}@media(max-width:700px){.category-form{grid-template-columns:1fr}.category-form button{padding:11px}}
.product-list-filter{display:flex;align-items:center;gap:7px}.product-list-filter select{max-width:150px;padding:7px;border:1px solid #bbb5aa;background:#fff;font-size:10px}@media(max-width:520px){.product-list-filter{align-items:flex-end;flex-direction:column}.product-list-filter select{max-width:125px}}
.discount-admin-help{margin:16px 0;color:var(--muted);font-size:10px}.discount-product-list{display:grid;gap:9px}.discount-product-row{display:grid;grid-template-columns:minmax(150px,1fr) repeat(3,minmax(90px,130px)) auto;gap:8px;align-items:end;padding:12px;border:1px solid var(--line);background:#fff}.discount-product-row strong{align-self:center;font-size:12px}.discount-product-row label{font-size:9px;font-weight:800}.discount-product-row input{width:100%;margin-top:5px;padding:9px;border:1px solid #bbb5aa}.discount-product-row button{height:36px;border:0;background:#151515;color:#fff;padding:0 14px;font-size:9px;font-weight:900}@media(max-width:760px){.discount-product-row{grid-template-columns:repeat(3,minmax(0,1fr))}.discount-product-row strong,.discount-product-row button{grid-column:1/-1}.discount-product-row button{width:100%}}
.admin-product-card[data-product-id]{cursor:grab;touch-action:pan-y;transition:opacity .18s,transform .18s,box-shadow .18s}.admin-product-card[data-product-id]:before{content:'⋮⋮  드래그하여 순서 변경';position:absolute;left:8px;top:8px;z-index:3;padding:5px 7px;background:rgba(21,21,21,.78);color:#fff;font-size:9px;letter-spacing:.04em;pointer-events:none}.admin-product-card.sorting{opacity:.68;transform:scale(.985);box-shadow:0 14px 38px rgba(0,0,0,.18);cursor:grabbing}.fabric-card-actions{display:grid;gap:5px}.fabric-card-actions button{min-width:48px}.fabric-form-actions{display:grid;grid-template-columns:1fr auto;gap:7px}.fabric-form-actions>button{padding:11px;border:1px solid #151515;background:#fff;font-weight:900}.fabric-form-actions .admin-primary{background:#151515;color:#fff}.fabric-form-actions>[hidden]{display:none}
.production-files-open{width:100%;margin-top:14px;border:0;background:#151515;color:#fff;padding:13px;font-size:9px;font-weight:900;cursor:pointer}.production-files-open span{opacity:.65;margin-left:6px}.production-modal{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:24px}.production-modal.open{display:grid}.production-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(10,10,10,.74);backdrop-filter:blur(8px)}.production-modal-card{position:relative;width:min(920px,100%);max-height:min(840px,92dvh);overflow:auto;background:#f7f5ef;padding:24px;box-shadow:0 30px 100px rgba(0,0,0,.45)}.production-modal-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:18px}.production-modal-head small{font-size:7px;color:var(--muted);letter-spacing:.14em}.production-modal-head h2{margin:5px 0 0;font-size:24px}.production-modal-head>button{border:0;background:none;font-size:28px;line-height:1;cursor:pointer}.production-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.production-preview-card{border:1px solid var(--line);background:#fff;padding:10px}.production-preview-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#dedbd3}.production-file-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:9px;font-size:9px}.production-file-meta button,.production-layer-row button{border:1px solid #151515;background:#fff;padding:8px 10px;font-size:8px;font-weight:900;cursor:pointer}.production-layer-list{margin-top:20px}.production-layer-list>h3{font-size:13px}.production-layer-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:9px}.production-layer-row small{color:var(--muted)}@media(max-width:620px){.production-modal{padding:8px}.production-modal-card{padding:16px;max-height:96dvh}.production-preview-grid{grid-template-columns:1fr}.production-layer-row{grid-template-columns:1fr auto}.production-layer-row small{grid-column:1}.production-file-meta{align-items:flex-start;flex-direction:column}}

/* Compact two-column management workspaces on phones. */
@media(max-width:760px){
  #view-products .admin-two-column,.model-manager-layout,.fabric-manager-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;align-items:start}
  #view-products .category-manager{margin-bottom:7px}
  #view-products .admin-two-column>.admin-panel,.model-manager-layout>.admin-panel,.fabric-manager-layout>.admin-panel{min-width:0;padding:7px}
  #view-products .panel-title,.model-manager-layout .panel-title,.fabric-manager-layout .panel-title{align-items:flex-start;gap:5px;padding-bottom:8px;flex-wrap:wrap}
  #view-products .panel-title h2,.model-manager-layout .panel-title h2,.fabric-manager-layout .panel-title h2{font-size:12px}
  #view-products .panel-title span,.model-manager-layout .panel-title span,.fabric-manager-layout .panel-title span{font-size:7px!important;letter-spacing:.05em}
  #view-products .panel-title>button,#view-products .count-label,.model-manager-layout .count-label,.fabric-manager-layout .count-label{padding:5px 6px;font-size:7px!important}
  #view-products .product-form,.model-manager-layout .model-upload-form,.fabric-manager-layout .fabric-form{gap:7px;margin-top:8px}
  #view-products .product-form input,#view-products .product-form select,.model-manager-layout input,.fabric-manager-layout input:not([type=color]):not([type=range]),.fabric-manager-layout select{min-width:0;padding:7px;font-size:8px}
  #view-products .model-link-field{gap:4px;padding:7px;border-width:1px}
  #view-products .model-link-field>span{font-size:8px!important}
  #view-products .model-link-field small,#view-products .image-field small,.model-manager-layout .model-upload-form>small,.fabric-manager-layout .fabric-image-field small{display:none}
  #view-products fieldset{padding:7px}
  #view-products .size-checks{gap:3px}
  #view-products .size-checks label span{min-width:28px;height:27px;font-size:7px!important}
  #view-products .product-image-preview{min-height:90px!important}
  #view-products .product-image-preview img{max-height:130px!important}
  #view-products .product-color-row{grid-template-columns:30px minmax(0,1fr);padding:5px;gap:4px}
  #view-products .product-color-row .color-picker,#view-products .color-fabric-thumb{width:30px!important;min-height:54px}
  #view-products .product-color-row .default-color-check{grid-column:1/3;grid-row:auto}
  #view-products .product-color-row>[data-remove-color]{grid-column:2;grid-row:auto;justify-self:end}
  #view-products .admin-product-list{grid-template-columns:minmax(0,1fr);gap:5px;margin-top:8px}
  #view-products .admin-product-card{padding:4px}
  #view-products .admin-product-card[data-product-id]:before{padding:3px 4px;font-size:6px;content:'⋮⋮ 이동'}
  #view-products .admin-product-img{height:92px}
  #view-products .admin-product-copy{padding:6px 2px}
  #view-products .admin-product-copy h3{font-size:9px;margin:3px 0 5px}
  #view-products .admin-product-copy>strong{font-size:9px}
  #view-products .mini-sizes{display:none}
  #view-products .admin-product-actions button{padding:5px 2px;font-size:6px}
  #view-products .product-list-filter{width:100%;align-items:stretch;gap:3px}
  #view-products .product-list-filter select{max-width:none;width:100%;padding:5px;font-size:7px}
  .model-manager-layout .model-upload-form{padding:7px}
  .model-manager-layout .model-library-large{margin-top:8px;gap:4px}
  .model-manager-layout .model-library-large .model-library-row{grid-template-columns:minmax(0,1fr);gap:5px;padding:7px}
  .model-manager-layout .model-library-row b{font-size:8px}
  .model-manager-layout .model-library-row button{justify-self:stretch;padding:6px;font-size:7px}
  .fabric-manager-layout .fabric-colors{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
  .fabric-manager-layout .fabric-colors input{height:30px;padding:1px}
  .fabric-manager-layout #fabricPreview{max-height:135px;object-fit:cover}
  .fabric-manager-layout .fabric-file-row{grid-template-columns:minmax(0,1fr);gap:3px}
  .fabric-manager-layout .fabric-file-row button{min-height:28px}
  .fabric-manager-layout .fabric-card{grid-template-columns:42px minmax(0,1fr);gap:5px;padding:5px}
  .fabric-manager-layout .fabric-card-preview{height:46px}
  .fabric-manager-layout .fabric-card-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}
  .fabric-manager-layout .fabric-card-actions button{padding:5px;font-size:7px}
  .fabric-manager-layout .fabric-form-actions{grid-template-columns:minmax(0,1fr)}
}

/* =========================================================
   2D MOCKUP PRINT AREA VISUAL EDITOR
========================================================= */

.mockup-print-editor{
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid var(--line);
  background:#f3f1eb;
}

.mockup-print-editor-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.mockup-print-editor-head>div{
  display:grid;
  gap:4px;
  min-width:0;
}

.mockup-print-editor-head strong{
  font-size:11px;
}

.mockup-print-editor-head small{
  color:var(--muted);
  line-height:1.5;
}

.mockup-area-reset-btn{
  flex:0 0 auto;
  border:1px solid #bbb5aa;
  background:#fff;
  padding:7px 10px;
  font-size:8px;
  font-weight:900;
}


/* 실제 목업 + PRINT AREA가 올라가는 공간 */
.mockup-print-stage{
  position:relative;
  width:100%;
  min-height:360px;
  overflow:hidden;

  display:grid;
  place-items:center;

  background:
    repeating-conic-gradient(
      #e6e2d9 0 25%,
      #f6f4ef 0 50%
    )
    50% / 18px 18px;

  border:1px solid #c9c3b8;

  touch-action:none;
  user-select:none;
}


/* admin.js가 실제 목업 이미지를 여기에 넣음 */
.mockup-preview-image-slot{
  position:absolute;
  inset:0;

  display:grid;
  place-items:center;

  overflow:hidden;
  pointer-events:none;
}

.mockup-preview-image-slot>span{
  color:var(--muted);
  font-size:10px;
}

.mockup-preview-image-slot img{
  display:block;

  width:100%;
  height:100%;

  object-fit:contain;

  pointer-events:none;
  user-select:none;
}


/* =========================================================
   PRINT AREA
========================================================= */

.mockup-print-area-box{
  position:absolute;

  left:35%;
  top:22%;
  width:30%;
  height:42%;

  z-index:5;

  border:2px solid var(--accent);

  background:
    rgba(227,61,32,.10);

  box-shadow:
    0 0 0 1px rgba(255,255,255,.75) inset;

  cursor:move;

  touch-action:none;
}

.mockup-print-area-box[hidden]{
  display:none;
}


.mockup-print-area-label{
  position:absolute;

  left:50%;
  top:50%;

  transform:
    translate(-50%,-50%);

  pointer-events:none;

  padding:5px 7px;

  background:
    rgba(227,61,32,.9);

  color:#fff;

  font-size:8px;
  font-weight:900;

  letter-spacing:.08em;

  white-space:nowrap;
}


.mockup-print-area-readout{
  position:absolute;

  left:50%;
  top:calc(50% + 24px);

  transform:
    translateX(-50%);

  pointer-events:none;

  background:
    rgba(21,21,21,.82);

  color:#fff;

  padding:4px 6px;

  font-size:7px!important;

  white-space:nowrap;
}


/* =========================================================
   RESIZE HANDLES
========================================================= */

.mockup-area-handle{
  position:absolute;

  width:14px;
  height:14px;

  background:#fff;

  border:2px solid var(--accent);

  border-radius:50%;

  z-index:7;

  touch-action:none;
}


.mockup-area-handle.nw{
  left:0;
  top:0;

  transform:
    translate(-50%,-50%);

  cursor:nwse-resize;
}


.mockup-area-handle.ne{
  right:0;
  top:0;

  transform:
    translate(50%,-50%);

  cursor:nesw-resize;
}


.mockup-area-handle.se{
  right:0;
  bottom:0;

  transform:
    translate(50%,50%);

  cursor:nwse-resize;
}


.mockup-area-handle.sw{
  left:0;
  bottom:0;

  transform:
    translate(-50%,50%);

  cursor:nesw-resize;
}


/* =========================================================
   PRECISION VALUES
========================================================= */

.mockup-print-area-advanced{
  border-top:1px solid var(--line);
  padding-top:9px;
}

.mockup-print-area-advanced summary{
  cursor:pointer;

  color:var(--muted);

  font-size:9px;
  font-weight:800;

  user-select:none;
}

.mockup-print-area-advanced[open] summary{
  margin-bottom:10px;
}


.mockup-print-area-fields{
  display:grid;
  gap:8px;

  margin:0;

  background:#fff;
}

.mockup-print-area-fields .form-row{
  grid-template-columns:
    minmax(0,1fr)
    minmax(0,1fr);
}

.mockup-print-area-fields label{
  font-size:8px;
  font-weight:800;
}

.mockup-print-area-fields input{
  display:block;

  width:100%;

  margin-top:5px;

  padding:8px;

  border:1px solid #bbb5aa;

  background:#fff;
}

.mockup-measure-toggles label{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:10px 12px;
  border:1px solid #d7d2c8;
  border-radius:10px;
  background:#fff;
  font-weight:800;
}

.mockup-measure-toggles input[type="checkbox"]{
  width:18px;
  height:18px;
  margin:0;
  padding:0;
  accent-color:#181818;
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:760px){

  .mockup-print-editor{
    padding:7px;
    gap:7px;
  }

  .mockup-print-editor-head{
    gap:6px;
  }

  .mockup-print-editor-head small{
    display:none;
  }

  .mockup-print-stage{
    min-height:240px;
  }

  .mockup-area-reset-btn{
    padding:5px 7px;
    font-size:7px;
  }

  .mockup-area-handle{
    width:16px;
    height:16px;
  }

  .mockup-print-area-fields .form-row{
    grid-template-columns:
      minmax(0,1fr)
      minmax(0,1fr);
  }
}


@media(max-width:420px){

  .mockup-print-stage{
    min-height:200px;
  }

  .mockup-print-area-label{
    font-size:7px;
    padding:4px 5px;
  }

  .mockup-print-area-readout{
    display:none;
  }

}


/* =========================================================
   2D MOCKUP REAL-SIZE CALIBRATION + EDIT MODE
========================================================= */

/*
  등록된 2D 목업 목록
  FRONT / BACK 썸네일 + 정보 + 수정/삭제 버튼
*/
.mockup-library-row{
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
}

.mockup-library-images{
  display:grid;
  grid-template-columns:repeat(2,72px);
  gap:6px;
}

.mockup-library-thumb{
  position:relative;
  width:72px;
  height:86px;
  overflow:hidden;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  background:
    repeating-conic-gradient(
      #e7e4dc 0 25%,
      #f8f6f1 0 50%
    )
    50% / 12px 12px;
}

.mockup-library-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.mockup-library-thumb>span{
  padding:5px;
  color:var(--muted);
  font-size:8px;
  text-align:center;
}

.mockup-library-thumb small{
  position:absolute;
  left:4px;
  bottom:4px;
  margin:0;
  padding:3px 5px;
  background:rgba(21,21,21,.78);
  color:#fff;
  font-size:7px!important;
  line-height:1;
}

.mockup-library-info{
  min-width:0;
}

.mockup-library-info b,
.mockup-library-info small,
.mockup-library-info em{
  display:block;
}

.mockup-library-info b{
  font-size:11px;
}

.mockup-library-info small{
  margin-top:4px;
  color:var(--muted);
  font-size:9px!important;
}

.mockup-library-info em{
  margin-top:7px;
  color:var(--green);
  font-size:8px;
  font-style:normal;
}

.mockup-library-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:5px;
  min-width:62px;
}

.mockup-library-actions button{
  width:100%;
  min-height:30px;
  border:1px solid #bbb5aa;
  background:#fff;
  padding:6px 9px;
  color:#151515;
  font-size:8px;
  font-weight:900;
}

.mockup-library-actions button[data-delete-mockup]{
  color:#a43124;
}

.mockup-library-actions button:hover{
  border-color:#151515;
}


/* 수정 모드에서 등록 버튼 아래에 JS가 생성하는 취소 버튼 */
.mockup-edit-cancel-btn{
  width:100%;
  margin-top:-3px;
  border:1px solid #151515;
  background:#fff;
  padding:10px;
  color:#151515;
  font-size:8px;
  font-weight:900;
}

.mockup-edit-cancel-btn[hidden]{
  display:none;
}


/* =========================================================
   REAL-SIZE REFERENCE LINES
========================================================= */

/*
  실제 목업 이미지 위에서
  기준 시작 / 기준 끝 / 시보리 기준을 위아래로 드래그한다.
*/
.mockup-measure-line{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:0;

  z-index:9;

  border-top:2px solid #151515;

  cursor:ns-resize;
  touch-action:none;
  user-select:none;
}


/* 잡기 쉬운 투명 드래그 영역 */
.mockup-measure-line::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-10px;
  height:20px;
  background:transparent;
}

.mockup-measure-line[hidden]{
  display:none;
}

.mockup-measure-line>span{
  position:absolute;
  left:8px;
  top:0;

  transform:translateY(-50%);

  padding:4px 7px;

  background:#151515;
  color:#fff;

  border-radius:999px;

  font-size:8px!important;
  font-weight:900;
  line-height:1;

  letter-spacing:.03em;
  white-space:nowrap;

  pointer-events:none;
}


/* 시작선 */
.mockup-measure-top-line{
  border-top-style:solid;
}


/* 끝선 */
.mockup-measure-bottom-line{
  border-top-style:solid;
}


/* 시보리는 높이 위치 하나만 사용 */
.mockup-rib-line{
  z-index:10;

  border-top:
    2px dashed
    var(--accent);
}

.mockup-rib-line>span{
  background:var(--accent);
}


/* =========================================================
   REAL LENGTH VERTICAL SPAN
========================================================= */

/*
  기준 시작선 ~ 끝선 사이에
  "80 cm"처럼 실제 기준 길이를 보여준다.
*/
.mockup-measure-span{
  position:absolute;

  width:0;

  z-index:7;

  border-left:
    1px solid
    rgba(21,21,21,.72);

  pointer-events:none;
}

.mockup-measure-span[hidden]{
  display:none;
}

.mockup-measure-span::before,
.mockup-measure-span::after{
  content:"";

  position:absolute;
  left:-5px;

  width:10px;
  height:1px;

  background:#151515;
}

.mockup-measure-span::before{
  top:0;
}

.mockup-measure-span::after{
  bottom:0;
}

.mockup-measure-span>span{
  position:absolute;

  left:8px;
  top:50%;

  transform:translateY(-50%);

  padding:5px 7px;

  border:1px solid rgba(21,21,21,.18);

  background:rgba(248,246,241,.94);
  color:#151515;

  box-shadow:
    0 4px 14px rgba(0,0,0,.08);

  font-size:9px!important;
  font-weight:900;

  white-space:nowrap;
}


/* =========================================================
   REAL-SIZE SETTINGS PANEL
========================================================= */

.mockup-horizontal-line{position:absolute;width:0;z-index:11;border-left:2px dashed #285a7a;cursor:ew-resize;touch-action:none;user-select:none}
.mockup-horizontal-line::before{content:"";position:absolute;left:-14px;top:0;width:28px;height:100%}
.mockup-horizontal-line>span{position:absolute;top:50%;left:5px;transform:translateY(-50%);padding:5px 7px;border-radius:6px;background:#285a7a;color:#fff;font-size:10px;line-height:1;white-space:nowrap;pointer-events:none}
.mockup-horizontal-line.is-right>span{left:auto;right:5px}
.mockup-horizontal-line:focus-visible{outline:2px solid #151515;outline-offset:5px}
.mockup-width-span{position:absolute;height:0;border-top:1px solid #285a7a;z-index:8;pointer-events:none}
.mockup-width-span::before,.mockup-width-span::after{content:"";position:absolute;top:-5px;width:1px;height:10px;background:#285a7a}
.mockup-width-span::before{left:0}.mockup-width-span::after{right:0}
.mockup-width-span>span{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);padding:4px 7px;border:1px solid #b5c8d4;background:#fafafa;color:#285a7a;font-size:11px;font-weight:800;white-space:nowrap}
.mockup-horizontal-line[hidden],.mockup-width-span[hidden]{display:none}
@media(max-width:760px){.mockup-horizontal-line::before{left:-18px;width:36px}.mockup-horizontal-line>span{font-size:9px;padding:5px}.mockup-measure-settings-head small{display:block!important}}

.mockup-measure-settings{
  display:grid;
  gap:10px;

  padding:12px;

  border:
    1px solid
    var(--line);

  background:#fff;
}

.mockup-measure-settings-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.mockup-measure-settings-head>div{
  display:grid;
  gap:4px;
  min-width:0;
}

.mockup-measure-settings-head strong{
  font-size:11px;
}

.mockup-measure-settings-head small{
  color:var(--muted);
  line-height:1.5;
}

.mockup-measure-length-field{
  display:grid;
  gap:6px;

  font-size:9px!important;
  font-weight:900;
}

.mockup-measure-length-field>span{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
}

.mockup-measure-length-field input{
  width:100%;
  min-width:0;

  padding:9px;

  border:1px solid #bbb5aa;
  background:#fff;

  outline:none;
}

.mockup-measure-length-field input:focus{
  border-color:#151515;
}

.mockup-measure-length-field b{
  min-width:36px;

  padding:9px 8px;

  border:1px solid #bbb5aa;

  background:#efede7;

  font-size:9px;
  text-align:center;
}


/* 정밀 좌표 */
.mockup-measure-advanced{
  border-top:1px solid var(--line);
  padding-top:9px;
}

.mockup-measure-advanced summary{
  cursor:pointer;

  color:var(--muted);

  font-size:9px;
  font-weight:800;

  user-select:none;
}

.mockup-measure-advanced[open] summary{
  margin-bottom:10px;
}


/* =========================================================
   MOCKUP EDITOR LAYER ORDER
========================================================= */

/*
  이미지 < PRINT AREA < 길이선/시보리선
*/
.mockup-preview-image-slot{
  z-index:1;
}

.mockup-print-area-box{
  z-index:5;
}

.mockup-measure-span{
  z-index:7;
}

.mockup-measure-line{
  z-index:9;
}

.mockup-rib-line{
  z-index:10;
}


/* =========================================================
   MOCKUP MOBILE
========================================================= */

@media(max-width:760px){

  .mockup-library-row{
    grid-template-columns:minmax(0,1fr);
    gap:7px;
  }

  .mockup-library-images{
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
  }

  .mockup-library-thumb{
    width:100%;
    height:110px;
  }

  .mockup-library-actions{
    grid-template-columns:1fr 1fr;
    width:100%;
  }

  .mockup-measure-settings{
    padding:8px;
    gap:8px;
  }

  .mockup-measure-settings-head{
    gap:6px;
  }

  .mockup-measure-settings-head small{
    display:none;
  }

  .mockup-measure-line{
    border-top-width:2px;
  }

  .mockup-measure-line::before{
    top:-12px;
    height:24px;
  }

  .mockup-measure-line>span{
    left:5px;
    padding:4px 6px;
    font-size:7px!important;
  }

  .mockup-measure-span>span{
    padding:4px 5px;
    font-size:8px!important;
  }

  .mockup-measure-length-field input,
  .mockup-measure-length-field b{
    padding:7px;
  }
}


@media(max-width:420px){

  .mockup-library-thumb{
    height:92px;
  }

  .mockup-measure-line>span{
    max-width:88px;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .mockup-measure-span>span{
    left:5px;
  }
}

.production-layer-row .psd-export-spec{grid-column:1/-1;font-size:11px;line-height:1.7;overflow-wrap:anywhere}
.production-layer-row .psd-export-button{grid-column:1/-1;justify-self:start;max-width:100%;font-size:12px;padding:10px 14px;background:#151515;color:#fff;white-space:normal}
.production-layer-row .psd-export-button:disabled{opacity:.6;cursor:wait}

.production-layer-row{grid-template-columns:160px minmax(0,1fr);align-items:start;gap:20px;padding:20px 0;font-size:13px}
.production-original-preview{margin:0;min-width:0}
.production-thumbnail-frame{position:relative;display:grid;place-items:center;min-width:0;min-height:160px;aspect-ratio:1;background-color:#fff;background-image:conic-gradient(#ededed 25%,transparent 0 50%,#ededed 0 75%,transparent 0);background-size:20px 20px;border:1px solid var(--line);overflow:hidden}
.production-thumbnail-frame img{display:block;width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:contain;background:transparent}
.production-thumbnail-frame img[hidden],.production-thumbnail-frame span[hidden]{display:none}
.production-thumbnail-frame span{padding:16px;color:#555;font-size:12px;line-height:1.6;text-align:center;overflow-wrap:anywhere}
.production-original-preview figcaption{margin-top:7px;font-size:11px;color:var(--muted);text-align:center}
.production-layer-info{min-width:0}
.production-layer-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.production-layer-heading b{min-width:0;overflow-wrap:anywhere;font-size:14px}
.production-layer-heading small{flex:none;font-size:11px}
.production-size-list{display:grid;gap:7px;margin:12px 0;padding:12px;background:#eeede9}
.production-size-list>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;min-width:0}
.production-size-list dt{font-size:12px;color:#555}
.production-size-list dd{margin:0;text-align:right;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.production-layer-downloads{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}
.production-layer-downloads>small{flex-basis:100%;overflow-wrap:anywhere}
.production-layer-downloads button{max-width:100%;min-height:40px;white-space:normal;font-size:12px}
.production-original-note{margin:10px 0 0;font-size:11px;line-height:1.6;color:var(--muted)}
.production-mockup-card .production-thumbnail-frame{aspect-ratio:4/3}
@media(max-width:620px){
  .production-layer-row{grid-template-columns:100px minmax(0,1fr);gap:12px}
  .production-original-preview .production-thumbnail-frame{min-height:100px}
  .production-layer-heading{flex-wrap:wrap;gap:4px}
  .production-size-list{padding:9px;gap:9px}
  .production-size-list>div{flex-direction:column;align-items:flex-start;gap:2px}
  .production-size-list dd{text-align:left}
}
@media(max-width:380px){
  .production-layer-row{grid-template-columns:minmax(0,1fr)}
  .production-original-preview{width:140px;justify-self:center}
}
