
:root{
  --mint:#39c5bb;
  --mint-dark:#159b94;
  --mint-soft:#e8fbf9;
  --ink:#111827;
  --muted:#667085;
  --line:#e5e7eb;
  --paper:#f7f8fa;
  --white:#fff;
  --danger:#d92d20;
  --warning:#b54708;
  --shadow:0 18px 55px rgba(17,24,39,.09);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Pretendard,"Noto Sans KR",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.55;
}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
.shell{width:min(1180px,calc(100% - 32px));margin:0 auto}
.site-header{
  position:sticky;top:0;z-index:50;
  border-bottom:1px solid rgba(229,231,235,.8);
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(18px);
}
.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:-.04em}
.brand img{width:48px;height:48px;object-fit:contain}
.brand span{font-size:20px}
.nav-links{display:flex;align-items:center;gap:8px;color:#344054;font-weight:700}
.nav-links a{padding:10px 13px;border-radius:12px}
.nav-links a:hover,.nav-links a.active{background:var(--mint-soft);color:var(--mint-dark)}
.nav-actions{display:flex;gap:8px;align-items:center}
.app-top-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.btn{
  border:0;border-radius:14px;padding:12px 17px;font-weight:800;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  transition:.18s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--ink);color:#fff;box-shadow:0 8px 22px rgba(17,24,39,.15)}
.btn-mint{background:var(--mint);color:#072f2c}
.btn-soft{background:#fff;border:1px solid var(--line);color:#344054}
.btn-danger{background:#fee4e2;color:var(--danger)}
.btn-sm{padding:8px 11px;border-radius:10px;font-size:13px}
.hero{
  padding:72px 0 54px;
  background:
   radial-gradient(circle at 15% 20%,rgba(57,197,187,.20),transparent 34%),
   radial-gradient(circle at 88% 5%,rgba(17,24,39,.08),transparent 28%);
}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13px;font-weight:800;color:var(--mint-dark)}
.hero h1{font-size:clamp(40px,6vw,68px);line-height:1.05;letter-spacing:-.06em;margin:18px 0 20px}
.hero h1 em{font-style:normal;color:var(--mint-dark)}
.hero p{font-size:18px;color:var(--muted);max-width:620px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero-card{
  position:relative;background:#fff;border-radius:30px;padding:20px;box-shadow:var(--shadow);
  border:1px solid rgba(229,231,235,.9);overflow:hidden
}
.hero-card img{width:100%;height:520px;object-fit:cover;border-radius:22px}
.floating-chip{
  position:absolute;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);
  border:1px solid rgba(229,231,235,.9);box-shadow:0 12px 30px rgba(17,24,39,.12);
  padding:13px 15px;border-radius:16px;font-weight:900
}
.chip-1{left:0;top:54px;transform:translateX(-30%)}
.chip-2{right:8px;bottom:50px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}
.stat{padding:18px;background:rgba(255,255,255,.78);border:1px solid rgba(229,231,235,.9);border-radius:18px}
.stat strong{display:block;font-size:24px;letter-spacing:-.03em}
.stat span{font-size:13px;color:var(--muted)}
.section{padding:76px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}
.section-head h2{font-size:38px;letter-spacing:-.045em;margin:0}
.section-head p{margin:8px 0 0;color:var(--muted)}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.info-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 7px 22px rgba(17,24,39,.04)}
.info-card .num{width:40px;height:40px;border-radius:12px;background:var(--mint-soft);color:var(--mint-dark);display:grid;place-items:center;font-weight:900}
.info-card h3{margin:18px 0 8px;font-size:20px}
.info-card p{color:var(--muted);margin:0}
.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.product-panel{background:#fff;border-radius:var(--radius);border:1px solid var(--line);padding:24px}
.product-panel img{border-radius:17px;background:#fafafa}
.price-strip{background:var(--ink);color:#fff;border-radius:24px;padding:30px;display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center}
.price-strip h2{font-size:34px;margin:0 0 8px;letter-spacing:-.04em}
.price-strip p{margin:0;color:#d0d5dd}
.price-box{background:#fff;color:var(--ink);border-radius:18px;padding:22px}
.price-box strong{font-size:28px}

.business-benefit-price-box{display:grid;gap:12px;font-size:18px;font-weight:800;line-height:1.45}
.business-benefit-price-box>div+div{padding-top:12px;border-top:1px solid #e5e7eb}
.footer{padding:42px 0;border-top:1px solid var(--line);background:#fff;color:#667085;font-size:13px}
.footer-grid{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}

/* app layout */
.app-page{min-height:100vh;background:#f4f6f8}
.app-top{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center}
.app-top .shell{display:flex;align-items:center;justify-content:space-between}
.page-title{font-size:28px;letter-spacing:-.04em;margin:0}
.app-main{padding:32px 0 70px}
.wizard-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}
.card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 6px 20px rgba(17,24,39,.035)}
.card-pad{padding:26px}
.stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:22px}
.step{padding:13px;border-radius:14px;background:#eaecf0;color:#667085;font-weight:800;font-size:13px}
.step.active{background:var(--ink);color:#fff}
.step.done{background:var(--mint-soft);color:var(--mint-dark)}
.panel{display:none}
.panel.active{display:block}
.panel h2{margin:0 0 6px;font-size:25px;letter-spacing:-.035em}
.panel-intro{color:var(--muted);margin:0 0 24px}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:16px}
.field.full{grid-column:1/-1}
label{display:block;font-size:14px;font-weight:800;margin-bottom:8px;color:#344054}
.input,.select,.textarea{
  width:100%;border:1px solid #d0d5dd;background:#fff;border-radius:13px;padding:13px 14px;outline:none;
  transition:border-color .15s,box-shadow .15s
}
.input:focus,.select:focus,.textarea:focus{border-color:var(--mint);box-shadow:0 0 0 4px rgba(57,197,187,.13)}
.textarea{min-height:110px;resize:vertical}
.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.segmented label{margin:0}
.segmented input{display:none}
.segmented span{display:block;text-align:center;padding:14px 10px;border:1px solid var(--line);border-radius:14px;font-weight:800;cursor:pointer}
.segmented input:checked+span{background:var(--mint-soft);color:var(--mint-dark);border-color:var(--mint)}
.notice{padding:15px;border-radius:14px;background:#fffaeb;border:1px solid #fedf89;color:#7a2e0e;font-size:13px}
.notice strong{display:block;margin-bottom:4px}
.set-card{border:1px solid var(--line);border-radius:18px;padding:18px;margin-top:14px;background:#fcfcfd}
.set-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.set-head h3{margin:0;font-size:17px}
.grade-row{display:grid;grid-template-columns:120px 1fr 40px;gap:10px;align-items:end;margin-bottom:10px}
.grade-row .remove{height:44px;border-radius:12px;border:1px solid #fecdca;background:#fff;color:var(--danger);font-weight:900}
.set-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.meta-chip{padding:7px 10px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:12px;font-weight:800}
.action-row{display:flex;justify-content:space-between;gap:12px;margin-top:24px}
.summary{position:sticky;top:92px;padding:22px}
.summary h3{margin:0 0 18px;font-size:19px}
.summary-line{display:flex;justify-content:space-between;gap:16px;margin:10px 0;color:#475467}
.summary-line strong{color:var(--ink)}
.summary-total{border-top:1px solid var(--line);margin-top:16px;padding-top:16px;font-size:18px}
.summary-total strong{font-size:28px}
.summary-badge{padding:11px 12px;border-radius:13px;background:var(--mint-soft);color:var(--mint-dark);font-size:13px;font-weight:800;margin-top:14px}
.upload{border:1.5px dashed #98a2b3;border-radius:16px;padding:24px;text-align:center;background:#fcfcfd}
.upload input{margin-top:10px}
.option-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.option-card{border:1px solid var(--line);border-radius:16px;padding:15px;cursor:pointer}
.option-card.active{border-color:var(--mint);background:var(--mint-soft)}
.option-card strong{display:block}
.option-card span{font-size:13px;color:var(--muted)}
.review-box{border:1px solid var(--line);border-radius:16px;padding:18px;margin-top:14px}
.review-box h3{margin:0 0 10px}
.code-line{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#101828;color:#fff;padding:12px 14px;border-radius:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin-top:8px}
.code-line button{background:#344054;color:#fff;border:0;border-radius:9px;padding:7px 9px;font-weight:800}

/* mypage */
.dashboard-grid{display:grid;grid-template-columns:290px minmax(0,1fr);gap:22px}
.side-card{padding:22px}
.avatar{width:54px;height:54px;border-radius:18px;background:var(--mint);display:grid;place-items:center;font-weight:900;font-size:20px}
.profile-row{display:flex;gap:13px;align-items:center}
.side-menu{display:grid;gap:6px;margin-top:22px}
.side-menu button{border:0;background:transparent;padding:12px;border-radius:12px;text-align:left;font-weight:800;color:#475467}
.side-menu button.active,.side-menu button:hover{background:#f2f4f7;color:var(--ink)}
.wallet-card{background:linear-gradient(135deg,#101828,#344054);color:#fff;border-radius:24px;padding:28px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.wallet-card span{color:#d0d5dd}
.wallet-card strong{display:block;font-size:36px;margin-top:6px}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}
.metric{padding:19px;background:#fff;border:1px solid var(--line);border-radius:18px}
.metric span{font-size:13px;color:var(--muted)}
.metric strong{display:block;font-size:26px;margin-top:5px}
.order-list{display:grid;gap:12px}
.order-item{padding:19px;border:1px solid var(--line);border-radius:17px;background:#fff;display:grid;grid-template-columns:1fr auto;gap:12px}
.status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:900;background:#f2f4f7;color:#475467}
.status.mint{background:var(--mint-soft);color:var(--mint-dark)}
.status.warn{background:#fff4e5;color:#b54708}

/* admin */
.admin-layout{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}
.admin-side{background:#101828;color:#fff;padding:22px;position:sticky;top:0;height:100vh}
.admin-brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:18px;margin-bottom:30px}
.admin-brand img{width:40px;height:40px}
.admin-menu{display:grid;gap:7px}
.admin-menu button{border:0;background:transparent;color:#d0d5dd;padding:12px;border-radius:12px;text-align:left;font-weight:800}
.admin-menu button.active,.admin-menu button:hover{background:#344054;color:#fff}
.admin-content{padding:30px}
.admin-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}
.admin-head h1{margin:0;letter-spacing:-.04em}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.kpi{padding:20px;background:#fff;border:1px solid var(--line);border-radius:18px}
.kpi span{font-size:13px;color:var(--muted)}
.kpi strong{display:block;font-size:29px;margin-top:6px}
.admin-card{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{padding:13px 12px;border-bottom:1px solid #eaecf0;text-align:left;white-space:nowrap;font-size:14px}
th{color:#667085;font-size:12px;background:#fcfcfd}
tr.clickable:hover{background:#f9fafb;cursor:pointer}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.search{min-width:260px}
.calendar-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:18px}
.day-card{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}
.day-card strong{display:block}
.day-card span{font-size:12px;color:var(--muted)}
.day-bar{height:8px;background:#eaecf0;border-radius:999px;margin-top:13px;overflow:hidden}
.day-bar i{display:block;height:100%;background:var(--mint)}
.drawer{
  position:fixed;inset:0;z-index:90;background:rgba(16,24,40,.45);display:none;justify-content:flex-end
}
.drawer.open{display:flex}
.drawer-panel{width:min(560px,100%);height:100%;background:#fff;padding:26px;overflow:auto;box-shadow:-20px 0 50px rgba(16,24,40,.18)}
.drawer-head{display:flex;justify-content:space-between;align-items:center}
.drawer-head button{border:0;background:#f2f4f7;border-radius:10px;padding:8px 10px}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.detail{padding:13px;border-radius:13px;background:#f9fafb}
.detail span{display:block;font-size:12px;color:var(--muted)}
.detail strong{display:block;margin-top:4px}
.timeline{border-left:2px solid #eaecf0;margin:20px 0 20px 8px;padding-left:18px}
.timeline div{position:relative;margin:0 0 16px}
.timeline div:before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--mint);left:-24px;top:6px}
.toast{position:fixed;right:22px;bottom:22px;background:#101828;color:#fff;padding:13px 16px;border-radius:13px;box-shadow:var(--shadow);display:none;z-index:120}
.toast.show{display:block}
.mobile-only{display:none}

@media(max-width:980px){
  .hero-grid,.product-grid,.price-strip,.wizard-layout,.dashboard-grid{grid-template-columns:1fr}
  .summary{position:relative;top:0}
  .hero-card img{height:420px}
  .chip-1{left:25px;transform:none}
  .cards-3{grid-template-columns:1fr}
  .admin-layout{grid-template-columns:1fr}
  .admin-side{height:auto;position:relative}
  .admin-menu{grid-template-columns:repeat(3,1fr)}
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .nav-links{display:none}
  .hero{padding-top:46px}
  .hero h1{font-size:43px}
  .stats,.metrics,.kpi-grid,.field-grid,.segmented,.option-grid,.calendar-strip{grid-template-columns:1fr}
  .section{padding:54px 0}
  .section-head{display:block}
  .hero-card img{height:330px}
  .stepper{grid-template-columns:repeat(2,1fr)}
  .grade-row{grid-template-columns:86px 1fr 40px}
  .admin-menu{grid-template-columns:1fr 1fr}
  .admin-content{padding:18px}
  .footer-grid{display:block}
  .mobile-only{display:block}
}

/* v2.1 clearer order controls */
.step{cursor:pointer;transition:transform .15s,background .15s}
.step:hover{transform:translateY(-1px)}
.quick-next-note{margin-top:10px;padding:13px 15px;border-radius:14px;background:#f0fdf9;border:1px solid #a6f4e8;color:#135b55;font-size:13px}
.section-label-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:22px 0 10px}
.section-label-row strong{display:block;font-size:16px;color:var(--ink)}
.section-label-row span:not(.required-chip){display:block;font-size:13px;color:var(--muted);margin-top:3px}
.required-chip{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:var(--mint-soft);color:var(--mint-dark);font-size:12px;font-weight:900;white-space:nowrap}
.set-card.emphasized{border:1.5px solid #cbd5e1;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.set-head>div span{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.strong-chip{background:#eef2ff;color:#3730a3}
.number-range-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field-help{font-size:12px;color:var(--muted);margin-top:7px;line-height:1.55}
.print-face-grid{display:grid;grid-template-columns:1fr;gap:10px}
.print-face-card{position:relative;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;margin:0;padding:15px;border:1.5px solid var(--line);border-radius:16px;cursor:pointer;background:#fff;transition:.15s}
.print-face-card:hover{border-color:#98a2b3;transform:translateY(-1px)}
.print-face-card.active{border-color:var(--mint);background:var(--mint-soft);box-shadow:0 0 0 3px rgba(57,197,187,.1)}
.print-face-card input{position:absolute;opacity:0;pointer-events:none}
.face-number{width:40px;height:40px;border-radius:12px;background:#101828;color:#fff;display:grid;place-items:center;font-size:18px;font-weight:900}
.face-copy strong{display:block;color:var(--ink)}
.face-copy small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.face-check{font-size:12px;font-weight:900;color:#667085;padding:6px 9px;border-radius:999px;background:#f2f4f7}
.print-face-card.active .face-check{background:var(--mint);color:#083c38}
.price-guide{margin-top:12px;padding:12px 14px;border-radius:13px;background:#101828;color:#fff;font-size:13px;font-weight:800}
.face-upload-list{display:grid;gap:10px;margin-bottom:18px}
.face-upload-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:#fcfcfd}
.face-upload-row strong{display:block;font-size:14px}
.face-upload-row span{display:block;font-size:12px;color:var(--muted);margin-top:3px}
.face-upload-row input{max-width:240px}
.empty-choice{padding:14px;border-radius:14px;background:#f8fafc;border:1px dashed #cbd5e1;color:#64748b;font-size:13px;margin-bottom:18px}
.review-highlight{background:#f8fafc}
.review-line{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid #eaecf0}
.review-line:last-child{border-bottom:0}
.review-line span{color:var(--muted);font-size:13px}
.review-line strong{text-align:right;font-size:13px}
@media(max-width:720px){.number-range-grid{grid-template-columns:1fr}.print-face-card{grid-template-columns:40px 1fr}.face-check{grid-column:1/-1;text-align:center}.face-upload-row{grid-template-columns:1fr}.face-upload-row input{max-width:100%}}


/* v2.2 composition and flexible poster order */
.composition-entry-box{padding:16px;border-radius:16px;background:#f0fdf9;border:1.5px solid #99e9df;margin-bottom:16px}
.composition-entry-box>label{font-size:16px;color:#123d3a}
.composition-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.composition-code-input{font-size:17px;font-weight:850;letter-spacing:.02em}
.composition-divider{display:flex;align-items:center;gap:10px;color:#98a2b3;font-size:12px;font-weight:800;margin:15px 0}
.composition-divider:before,.composition-divider:after{content:"";height:1px;background:#e4e7ec;flex:1}
.poster-builder{margin-top:18px;padding:18px;border:1.5px solid #d0d5dd;border-radius:18px;background:#fcfcfd}
.poster-mode-options{margin-bottom:14px}
.poster-options{padding-top:4px}
.quantity-input-row{display:grid;grid-template-columns:44px minmax(90px,1fr) 44px;gap:8px}
.quantity-button{border:1px solid #d0d5dd;background:#fff;border-radius:12px;font-size:23px;font-weight:900;color:#344054}
.quantity-button:hover{border-color:var(--mint);background:var(--mint-soft)}
.poster-price-preview{height:50px;display:flex;align-items:center;padding:0 15px;border-radius:13px;background:#101828;color:#fff;font-size:22px;font-weight:900}
.poster-notice{margin-top:4px;line-height:1.65}
.poster-upload{background:#fff}
@media(max-width:720px){.composition-input-row{grid-template-columns:1fr}.poster-mode-options{grid-template-columns:1fr}.quantity-input-row{grid-template-columns:44px 1fr 44px}}

/* v2.3 required fields, automatic region, design gallery and proof flows */
.required-mark{font-style:normal;font-size:11px;font-weight:900;color:#b42318;background:#fef3f2;border-radius:999px;padding:3px 7px;margin-left:5px;vertical-align:1px}
.readonly-field{min-height:50px;display:flex;align-items:center;padding:0 14px;border:1px solid #d0d5dd;border-radius:13px;background:#f9fafb;color:#667085;font-weight:800}
.readonly-field.normal{background:#f0fdf9;border-color:#99e9df;color:#0f766e}
.readonly-field.remote{background:#fff7ed;border-color:#fed7aa;color:#c2410c}
.notice-warn{background:#fffaeb;border-color:#fedf89;color:#7a2e0e}
.front-page-notice{margin-top:12px}
.front-page-notice.is-front-selected{background:#f0fdf9;border-color:#99e9df;color:#135b55}
.number-fixed-notice{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa;margin-bottom:12px}
.number-fixed-notice strong{white-space:nowrap;color:#9a3412}
.number-fixed-notice span{font-size:13px;color:#7c2d12;line-height:1.5}
.grade-row-with-suffix{align-items:end}
.grade-suffix-input{display:grid;grid-template-columns:1fr 36px;align-items:center}
.grade-suffix-input .input{border-radius:12px 0 0 12px}
.grade-suffix-input span{height:50px;display:grid;place-items:center;border:1px solid #d0d5dd;border-left:0;border-radius:0 12px 12px 0;background:#f2f4f7;font-weight:900;color:#344054}
.customer-code-chip{background:#ecfdf3;color:#027a48}
.design-selector-section{padding:18px;border:1.5px solid #d0d5dd;border-radius:18px;background:#fcfcfd}
.free-design-sheet{display:block;width:100%;max-height:430px;object-fit:contain;border:1px solid #e4e7ec;border-radius:16px;background:#fff;margin:8px 0 16px}
.design-choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.design-choice-grid label{position:relative;margin:0;cursor:pointer}
.design-choice-grid input{position:absolute;opacity:0;pointer-events:none}
.design-choice-grid span{display:flex;align-items:center;justify-content:center;min-height:42px;padding:8px 10px;border:1.5px solid #d0d5dd;border-radius:12px;background:#fff;font-size:13px;font-weight:850;color:#475467}
.design-choice-grid label.active span{border-color:var(--mint);background:var(--mint-soft);color:var(--mint-dark);box-shadow:0 0 0 3px rgba(57,197,187,.09)}
.design-choice-grid .custom-design-choice{grid-column:span 2}
.custom-design-upload{margin-top:14px}
.file-status{font-size:12px;margin-top:9px;color:#667085;font-weight:800}
.file-status.valid{color:#027a48}
.file-status.invalid{color:#b42318}
.poster-filename-notice{margin-top:12px}
.file-list-hint{margin-top:10px;color:#667085;font-size:12px}
.file-list-hint.has-files{display:flex;flex-wrap:wrap;gap:6px}
.file-list-hint.has-files span{padding:5px 8px;border-radius:999px;background:#f2f4f7;color:#344054;font-weight:750}
.review-edit-note{margin-top:10px;padding:10px 12px;border-radius:11px;background:#eefdfb;color:#0f766e;font-size:12px;font-weight:800}
.proof-grid{display:grid;gap:14px}
.proof-card{padding:18px;border:1px solid var(--line);border-radius:17px;background:#fff}
.proof-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.proof-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.proof-deadline{margin-top:10px;padding:10px 12px;border-radius:11px;background:#fffaeb;color:#7a2e0e;font-size:12px;font-weight:800}
.modal{position:fixed;inset:0;background:rgba(16,24,40,.5);z-index:150;display:none;align-items:center;justify-content:center;padding:20px}
.modal.open{display:flex}
.modal-card{width:min(560px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:22px;padding:24px;box-shadow:0 24px 80px rgba(16,24,40,.28)}
.modal-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}
.modal-head h3{margin:0}
.modal-close{border:0;background:#f2f4f7;border-radius:10px;padding:8px 11px;font-weight:900}
.editable-order-note{font-size:12px;color:#027a48;margin-top:7px;font-weight:800}
.locked-order-note{font-size:12px;color:#667085;margin-top:7px}
@media(max-width:720px){
  .design-choice-grid{grid-template-columns:repeat(2,1fr)}
  .design-choice-grid .custom-design-choice{grid-column:1/-1}
  .free-design-sheet{max-height:280px}
  .proof-card-head{display:block}
}
.business-price-compare{display:grid;gap:5px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(15,118,110,.18)}
.business-price-compare>div{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:8px;align-items:center;font-size:12px}
.business-price-compare>div:first-child{color:#667085}
.business-price-compare b{text-align:right}
@media(max-width:520px){.business-price-compare>div{grid-template-columns:.8fr 1fr 1.25fr;font-size:11px}}


/* v2.4 editable orders and strict poster file rules */
.edit-mode-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 17px;margin:-4px 0 18px;border:1.5px solid #67e8d5;border-radius:16px;background:linear-gradient(135deg,#ecfdf9,#f0fdfa);color:#115e59}
.edit-mode-banner strong{display:block;font-size:15px}
.edit-mode-banner span{display:block;font-size:12px;margin-top:3px;line-height:1.5}
.price-adjustment-box{border:1.5px solid #f59e0b;background:#fffbeb}
.amount-up{color:#b42318}
.amount-down{color:#027a48}
.face-upload-row input[type=file],.poster-upload input[type=file]{font-size:12px}
@media(max-width:720px){.edit-mode-banner{align-items:flex-start;flex-direction:column}.edit-mode-banner .btn{width:100%}}

/* 주문 수정·차액 처리 */
.revision-list{display:grid;gap:10px;margin:10px 0 18px}
.revision-item{border:1px solid #e8ecef;border-radius:14px;padding:13px 15px;background:#fbfcfd}
.revision-item>div{display:flex;justify-content:space-between;gap:12px;align-items:center}
.revision-item span{font-size:12px;color:#7a8490}
.revision-item p{margin:8px 0 0;color:#4d5966;font-size:13px}
.revision-item b{margin-left:5px;color:#1e6f67}
.adjustment-note{margin-top:9px;padding:10px 12px;border-radius:12px;background:#edf9f7;color:#27675f;font-size:13px;display:grid;gap:2px}
.adjustment-note.warn{background:#fff6dc;color:#7a5a00}
.adjustment-note.refund{background:#fff0f0;color:#9a3434}

/* wallet order integration */
.order-payment-split{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.order-payment-split span{font-size:12px;background:#f2fbf9;border:1px solid #cbeee8;color:#167f71;border-radius:999px;padding:4px 8px}.wallet-history{display:grid;gap:8px}.wallet-history-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px 14px;border:1px solid #eaecf0;border-radius:12px;background:#fff}.wallet-history-row div{min-width:0}.wallet-history-row strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wallet-history-row span{display:block;color:#667085;font-size:12px;margin-top:4px}.wallet-history-row b{white-space:nowrap;font-size:15px}.wallet-history-row b.plus{color:#008c7d}.wallet-history-row b.minus{color:#d92d20}@media(max-width:640px){.wallet-history-row{align-items:flex-start}.wallet-history-row strong{white-space:normal}}

/* 주문페이지 주소검색·다중 직접도안 보완 */
.address-field{display:grid;gap:9px}
.address-search-row{display:grid;grid-template-columns:minmax(120px,180px) auto;gap:9px}
.address-search-row .btn{min-height:50px;white-space:nowrap}
.address-field>.input{width:100%}
.print-side-guide-image{display:block;width:100%;max-height:460px;object-fit:contain;margin:4px 0 16px;border:1px solid #e4e7ec;border-radius:17px;background:#fff}
.custom-design-name-rule{margin:12px 0 8px;line-height:1.6}
.custom-design-file-list{display:grid;gap:7px;margin-top:10px}
.custom-design-file-list span{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;border-radius:11px;background:#f8fafc;border:1px solid #e4e7ec}
.custom-design-file-list span.valid{border-color:#a6f4c5;background:#ecfdf3;color:#027a48}
.custom-design-file-list span.invalid{border-color:#fecdca;background:#fef3f2;color:#b42318}
.custom-design-file-list b{font-size:13px}
.custom-design-file-list small{font-size:11px;text-align:right}
.common-request-field{margin-top:20px;padding:17px;border:1.5px solid #d0d5dd;border-radius:17px;background:#fcfcfd}
.common-request-field .textarea{margin-top:9px}
@media(max-width:720px){
  .address-search-row{grid-template-columns:1fr auto}
  .print-side-guide-image{max-height:300px}
  .custom-design-file-list span{align-items:flex-start;flex-direction:column;gap:4px}
  .custom-design-file-list small{text-align:left}
}
.postcode-modal{position:fixed;inset:0;z-index:220;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(16,24,40,.62)}
.postcode-modal.open{display:flex}
.postcode-modal-card{width:min(620px,100%);overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 24px 80px rgba(16,24,40,.32)}
.postcode-modal-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 17px;border-bottom:1px solid #e4e7ec}
.postcode-modal-head strong{display:block;color:#101828}
.postcode-modal-head span{display:block;margin-top:3px;font-size:12px;color:#667085}
.postcode-modal-head button{border:0;border-radius:10px;padding:8px 11px;background:#f2f4f7;font-weight:850;cursor:pointer}
.postcode-embed{width:100%;height:min(650px,72vh);min-height:430px;background:#fff}
@media(max-width:720px){.postcode-modal{padding:0}.postcode-modal-card{height:100%;border-radius:0}.postcode-embed{height:calc(100vh - 70px);min-height:0}}

/* mypage tab navigation */
.mypage-panel{display:none}
.mypage-panel.active{display:block}
.mypage-content{min-width:0}
.mypage-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.mypage-shortcut{border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px;text-align:left;cursor:pointer}
.mypage-shortcut:hover{border-color:var(--mint);background:var(--mint-soft)}
.mypage-shortcut strong{display:block;font-size:16px;color:var(--ink)}
.mypage-shortcut span{display:block;font-size:13px;color:var(--muted);margin-top:6px;line-height:1.5}
@media(max-width:720px){
  .mypage-shortcuts{grid-template-columns:1fr}
  .side-menu{grid-template-columns:repeat(2,1fr)}
  .side-menu button{text-align:center}
  .order-item{grid-template-columns:1fr}
  .order-item>div:last-child{text-align:left!important}
}


/* admin wallet customer summary */
.wallet-balance-value{font-size:17px;color:#101828;white-space:nowrap}
.wallet-detail-modal-card{width:min(920px,100%)}
.wallet-detail-balance{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;border-radius:16px;background:#101828;color:#fff}
.wallet-detail-balance span{color:#d0d5dd;font-size:14px}.wallet-detail-balance strong{font-size:28px;white-space:nowrap}
.wallet-detail-amount{font-weight:850;white-space:nowrap}.wallet-detail-amount.plus{color:#008c7d}.wallet-detail-amount.minus{color:#d92d20}
.wallet-order-link{border:0;background:transparent;padding:0;color:#167f71;font-weight:850;text-decoration:underline;cursor:pointer;white-space:nowrap}
@media(max-width:640px){.wallet-detail-balance{align-items:flex-start;flex-direction:column;gap:5px}.wallet-detail-balance strong{font-size:24px}.wallet-detail-modal-card{padding:18px}}

/* 고객 업로드 파일 카테고리 · ZIP 다운로드 */
.file-category-guide{margin:-2px 0 12px;color:#667085;font-size:13px;line-height:1.55}
.customer-file-categories{display:grid;gap:12px;margin-top:10px}
.customer-file-category{border:1px solid #e4e7ec;border-radius:16px;background:#fff;overflow:hidden}
.customer-file-category-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 15px;background:#f8fafb;border-bottom:1px solid #eaecf0}
.customer-file-category-head>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.customer-file-category-head strong{font-size:15px;color:#101828}
.customer-file-category-head span{font-size:12px;color:#667085;line-height:1.45}
.customer-file-category-head .btn{white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.customer-file-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;padding:12px}
.customer-file-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border:1px solid #eaecf0;background:#fff;border-radius:11px;padding:10px 11px;text-align:left;cursor:pointer;color:#344054}
.customer-file-item:hover{border-color:#39c5bb;background:#f2fffd}
.customer-file-item span{font-size:13px;font-weight:700;overflow-wrap:anywhere}
.customer-file-item small{font-size:11px;color:#98a2b3;white-space:nowrap}
.customer-file-empty{grid-column:1/-1;padding:10px;color:#98a2b3;font-size:13px;text-align:center}
@media (max-width:760px){.customer-file-category-head{align-items:stretch;flex-direction:column}.customer-file-category-head .btn{width:100%}.customer-file-items{grid-template-columns:1fr}}

/* 사이트 내 알림 */
.notification-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:5px;border-radius:999px;background:#ff4d4f;color:#fff;font-size:11px;font-weight:900;line-height:1}
.notification-count[hidden]{display:none!important}
.notification-bell{display:inline-flex;align-items:center;gap:2px}
.notification-head{align-items:flex-start;gap:16px}
.notification-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.notification-actions .active-filter{border-color:#39c5bb;background:#ecfffc;color:#11786e}
.notification-list{display:grid;gap:10px}
.notification-item{width:100%;border:1px solid #eaecf0;background:#fff;border-radius:15px;padding:15px 16px;text-align:left;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;cursor:pointer;transition:.16s ease;color:#344054}
.notification-item:hover{border-color:#8de0d8;box-shadow:0 7px 20px rgba(16,24,40,.06);transform:translateY(-1px)}
.notification-item.unread{border-color:#98e6df;background:#f4fffd}
.notification-item-main{min-width:0;display:flex;gap:12px;align-items:flex-start}
.notification-dot{width:9px;height:9px;border-radius:50%;background:#39c5bb;margin-top:7px;flex:0 0 auto}
.notification-item:not(.unread) .notification-dot{background:#d0d5dd}
.notification-copy{min-width:0}
.notification-copy strong{display:block;font-size:15px;color:#101828;line-height:1.4}
.notification-copy p{margin:5px 0 0;color:#667085;font-size:13px;line-height:1.55;overflow-wrap:anywhere}
.notification-meta{display:flex;align-items:flex-end;flex-direction:column;gap:7px;flex:0 0 auto;color:#98a2b3;font-size:12px;white-space:nowrap}
.notification-open-label{font-weight:800;color:#168779}
.notification-empty{padding:34px 18px;border:1px dashed #d0d5dd;border-radius:15px;text-align:center;color:#667085;background:#fcfcfd}
@media(max-width:760px){.notification-head{display:block}.notification-actions{justify-content:flex-start;margin-top:12px}.notification-item{display:block}.notification-meta{align-items:flex-start;margin-top:10px;white-space:normal}.notification-item-main{gap:9px}}


/* 콘텐츠·약관 관리 */
.content-manager-grid{display:grid;gap:16px}.content-wide{grid-column:1/-1}.content-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.content-image-field{display:grid;gap:8px;font-size:13px;font-weight:700}.content-image-field img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#f7f8fa;border:1px solid #eaecf0;border-radius:14px}.content-copy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.content-copy-grid label,.policy-editor-grid label{display:grid;gap:7px;font-size:13px;font-weight:700}.content-copy-full{grid-column:1/-1}.policy-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.policy-editor{min-height:360px;font-family:inherit;line-height:1.65}.policy-editor-grid a{font-size:13px;color:#087f72}.setting-full{grid-column:1/-1}
.order-consent-box{display:grid;gap:12px;margin-top:18px}.consent-row{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid #dfe5e4;border-radius:14px;background:#fff}.consent-row input{margin-top:4px;flex:0 0 auto}.consent-row span{font-size:14px;line-height:1.6}.consent-row a{color:#087f72;text-decoration:underline}.consent-important{border-color:#f0c36b;background:#fffaf0}.consent-summary{font-size:13px;color:#667085;line-height:1.65;padding:0 4px}
.policy-main{padding:54px 0 90px;background:#f7f8fa;min-height:70vh}.policy-shell{max-width:920px}.policy-card{background:#fff;border:1px solid #eaecf0;border-radius:24px;padding:32px;box-shadow:0 16px 50px rgba(16,24,40,.06)}.policy-card h1{font-size:34px;margin:12px 0 22px}.policy-text{white-space:pre-wrap;line-height:1.8;color:#344054;font-size:15px}.policy-draft-notice{margin-bottom:22px}.footer-policy-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}.footer-policy-links a{color:inherit;text-decoration:underline}.login-policy-links{margin-top:8px}.login-policy-links a{color:#087f72}
@media(max-width:900px){.content-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-copy-grid,.policy-editor-grid{grid-template-columns:1fr}.content-copy-full{grid-column:auto}}
@media(max-width:600px){.content-image-grid{grid-template-columns:1fr}.policy-card{padding:22px}.policy-card h1{font-size:28px}}

/* signup + mobile authentication navigation */
.auth-switch{margin-top:16px;text-align:center;color:#667085;font-size:14px}
.auth-switch a{color:var(--mint-dark);font-weight:900;text-decoration:underline}
.signup-consent{display:flex;align-items:flex-start;gap:10px;margin:14px 0;color:#475467;font-size:13px;line-height:1.55}
.signup-consent input{margin-top:4px}
.signup-consent a{color:var(--mint-dark);font-weight:800;text-decoration:underline}
.auth-status-note{margin-top:16px;padding:14px;border-radius:14px;background:#f6fffd;color:#365e59;font-size:13px;line-height:1.65}

@media(max-width:720px){
  .site-header .nav{height:auto;min-height:64px;padding:8px 0;gap:8px}
  .site-header .brand{gap:7px;min-width:0}
  .site-header .brand img{width:36px;height:36px}
  .site-header .brand span{font-size:15px}
  .auth-nav-actions{margin-left:auto;gap:5px;flex-wrap:nowrap}
  .auth-nav-actions .btn{padding:9px 10px;border-radius:10px;font-size:12px;white-space:nowrap}
  .auth-nav-actions .header-order-button{display:none}
  .app-top{height:auto;min-height:68px;padding:10px 0}
  .app-top .shell{display:flex;align-items:flex-start;gap:10px;flex-direction:column}
  .app-top .brand img{width:38px;height:38px}
  .app-top .brand span{font-size:16px}
  .app-top-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .app-top-actions .btn{width:100%;min-width:0;padding:9px 6px;font-size:12px;white-space:nowrap}
  .admin-head{align-items:flex-start;gap:12px}
  .admin-head-actions{width:auto;display:flex;flex-wrap:wrap}
  .admin-head-actions .btn{width:auto}
}
@media(max-width:390px){
  .site-header .brand span{display:none}
  .auth-nav-actions .btn{padding:8px 9px;font-size:11px}
}

/* 2026-08 통합 주문 UX 수정 */
.header-order-button{font-size:16px!important;font-weight:900!important;padding:13px 22px!important;box-shadow:0 10px 24px rgba(22,173,160,.28);transform:translateY(-1px)}
.header-order-button::before{content:"✦";margin-right:6px}.date-reason{margin-top:8px;padding:10px 12px;border-radius:10px;background:#fff4e5;color:#b54708;font-size:13px;font-weight:700}
.ticket-shape-section{border:1px solid #e4e7ec;border-radius:18px;padding:18px;background:#fff}.ticket-shape-choice-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(240px,.95fr);gap:14px;align-items:center;margin-top:12px}.ticket-shape-guide{display:block;width:100%;max-width:720px;margin:0;border:1px solid #eaecf0;border-radius:14px}.ticket-shape-choice-side{min-width:0}.ticket-shape-options{display:grid!important;grid-template-columns:1fr;max-width:none;margin:0 0 10px}.ticket-shape-choice-side .notice{margin:0}.design-fee-notice{margin-top:14px}.grade-row-custom{display:grid;grid-template-columns:minmax(180px,1.2fr) 110px minmax(210px,1.5fr) auto 34px;gap:10px;align-items:end;border:1px solid #e4e7ec;border-radius:14px;padding:13px;margin-bottom:10px}.design-fee-row-chip{align-self:center;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;white-space:nowrap}.design-fee-row-chip.free{background:#ecfdf3;color:#027a48}.design-fee-row-chip.charged{background:#fff4e5;color:#b54708}.composition-readonly-box{margin-top:16px;border-top:1px dashed #d0d5dd;padding-top:14px}.readonly-composition{user-select:none;pointer-events:none;cursor:default;background:#f2f4f7;border:1px solid #e4e7ec;border-radius:12px;padding:13px 14px;color:#344054;font-weight:800;min-height:46px}.design-message-field{margin-top:14px}.wallet-shortage-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 8px}.design-fee-breakdown small{color:#667085}.mobile-sticky-action{display:none}.design-fee-admin-list{display:grid;gap:7px;margin:10px 0 14px}.design-fee-admin-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;background:#f8fafc;border-radius:10px}
@media(max-width:760px){.header-order-button{font-size:15px!important;padding:12px 16px!important}.grade-row-custom{grid-template-columns:1fr 90px}.grade-row-custom>div:nth-child(3){grid-column:1/-1}.grade-row-custom .design-fee-row-chip{grid-column:1/2;justify-self:start}.grade-row-custom .remove{grid-column:2/3;grid-row:2}.mobile-sticky-action{display:block;position:fixed;left:0;right:0;bottom:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid #e4e7ec;z-index:90;backdrop-filter:blur(10px)}.mobile-sticky-action .btn{width:100%;justify-content:center;font-size:16px;padding:14px}.app-main{padding-bottom:88px}.ticket-shape-section{padding:14px}}

/* 모바일에서도 주문 버튼을 숨기지 않고 회원 메뉴와 함께 크게 표시 */
@media(max-width:720px){
  .site-header .nav{flex-wrap:wrap}
  .auth-nav-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .auth-nav-actions .btn{width:100%;justify-content:center}
  .auth-nav-actions .header-order-button{display:flex!important;font-size:13px!important;padding:10px 8px!important}
}
.admin-copy-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}


/* AUTH_VISIBILITY_HOTFIX */
.auth-nav-actions [hidden]{display:none!important}

/* 2026-08 관리자 콘텐츠·모바일·장르별 진행상태 */
.genre-name-field{margin-bottom:14px}.number-replacement-toggle{display:flex;align-items:center;gap:9px;margin-top:14px;padding:13px;border:1px solid #d0d5dd;border-radius:12px;background:#f8fafc;font-weight:800}.number-replacement-toggle input{width:18px;height:18px}.content-order-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.content-order-grid label{display:grid;grid-template-columns:1fr 130px 90px;gap:8px;align-items:center;font-weight:800}.settings-save-actions{display:flex;gap:8px;flex-wrap:wrap}.proof-version-list,.set-progress-list{display:grid;gap:9px;margin:10px 0 18px}.proof-version-row,.set-progress-row{border:1px solid #e4e7ec;border-radius:12px;padding:12px;background:#f8fafc}.proof-version-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.proof-version-row span,.set-progress-row small{display:block;color:#667085;font-size:12px;margin-top:4px}.set-progress-row{display:grid;grid-template-columns:minmax(120px,1fr) 180px auto;gap:10px;align-items:center}.customer-status-timeline{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.customer-status-step{font-size:12px;padding:7px 10px;border-radius:999px;background:#f2f4f7;color:#667085;font-weight:800}.customer-status-step.current{background:#dffff8;color:#087f72}.order-set-progress{margin-top:10px;display:grid;gap:6px}.order-set-progress>div{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;background:#f8fafc;border-radius:9px;font-size:13px}.admin-mobile-menu,.admin-menu-overlay{display:none}
@media(max-width:760px){
  .admin-page-body{overflow-x:hidden}.admin-mobile-menu{display:flex;position:fixed;top:10px;left:10px;z-index:1300;border:0;border-radius:12px;background:#101828;color:#fff;padding:10px 13px;font-weight:900;box-shadow:0 8px 25px rgba(16,24,40,.22)}
  .admin-layout{display:block!important;min-width:0}.admin-side{position:fixed!important;left:0;top:0;bottom:0;width:min(86vw,320px)!important;height:100dvh!important;z-index:1400;transform:translateX(-105%);transition:transform .22s ease;overflow-y:auto}.admin-side.open{transform:translateX(0)}
  .admin-menu-overlay{position:fixed;inset:0;z-index:1350;background:rgba(16,24,40,.48)}.admin-menu-overlay.open{display:block}.admin-content{width:100%!important;min-width:0!important;padding:64px 12px 24px!important}.admin-head{display:block}.admin-head-actions{margin-top:10px;width:100%!important}.admin-card{padding:14px!important;border-radius:16px}.table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.drawer-panel{width:100vw!important;max-width:100vw!important;padding:16px!important}.drawer-head{position:sticky;top:0;background:#fff;z-index:3;padding-bottom:10px}.detail-grid,.field-grid{grid-template-columns:1fr!important}.toolbar{display:grid!important;grid-template-columns:1fr!important}.toolbar .select,.toolbar .input{width:100%!important}.content-order-grid{grid-template-columns:1fr}.content-order-grid label{grid-template-columns:1fr 110px 72px}.set-progress-row{grid-template-columns:1fr}.proof-version-row{display:block}.proof-version-row .actions{margin-top:8px}.admin-row-card .actions .btn{width:100%;justify-content:center}
}

/* 문의 답변·고객 답변내역 */
.inquiry-admin-main{min-width:0;flex:1}.inquiry-admin-main>p{margin:10px 0;color:#344054;white-space:pre-wrap;line-height:1.55}.inquiry-reply-box{display:grid;gap:8px;margin-top:12px}.inquiry-reply-box .textarea{min-height:92px}.inquiry-answer,.customer-admin-answer{margin-top:12px;padding:12px 14px;border-radius:12px;background:#eefdf9;border:1px solid #b7eee4}.inquiry-answer b,.customer-admin-answer strong{display:block;color:#0f766e}.inquiry-answer p,.customer-admin-answer p{margin:6px 0;white-space:pre-wrap;line-height:1.55}.inquiry-answer small,.customer-admin-answer small{color:#667085}.request-history-card{border-style:dashed}
@media(max-width:760px){.inquiry-admin-card{display:block}.inquiry-admin-card>.actions{margin-top:10px}.inquiry-reply-box .btn{width:100%}}

/* 결제 완료 고객 안내 팝업 */
.completion-modal{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(16,24,40,.58)}.completion-modal.open{display:flex}.completion-modal-card{width:min(620px,100%);max-height:92dvh;overflow:auto;border-radius:22px;background:#fff;padding:24px;box-shadow:0 28px 90px rgba(16,24,40,.35)}.payment-completion-notice h2{margin:0 0 8px;font-size:25px}.payment-completion-notice>p{margin:0 0 16px;color:#667085;line-height:1.65}.payment-completion-notice .notice span{display:block;margin-top:5px;line-height:1.65}.completion-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.completion-modal-actions .btn{justify-content:center}@media(max-width:540px){.completion-modal{padding:10px}.completion-modal-card{padding:18px;border-radius:18px}.completion-modal-actions{grid-template-columns:1fr}.payment-completion-notice h2{font-size:22px}}

.admin-internal-status{display:block;margin-top:5px;color:#667085;font-size:11px;white-space:nowrap}


/* 2026-08 final polish: number phrases, member filters, shipping schedule */
.number-replacement-section{margin-top:14px;border:1px solid #dfe6ee;border-radius:16px;padding:14px;background:#fbfcfe}
.number-replacement-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.number-replacement-head strong,.number-replacement-head span{display:block}.number-replacement-head span{font-size:13px;color:#667085;margin-top:4px;line-height:1.5}
.number-replacement-list{display:grid;gap:10px}.number-replacement-row{display:grid;grid-template-columns:minmax(0,1fr) 120px auto 36px;gap:10px;align-items:end;padding:12px;border:1px solid #eaecf0;border-radius:13px;background:#fff}
.number-replacement-row label{display:block;font-size:12px;font-weight:700;margin-bottom:6px}.number-replacement-empty{padding:16px;text-align:center;color:#667085;border:1px dashed #d0d5dd;border-radius:12px;background:#fff}
.member-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.member-filter-card{appearance:none;border:1px solid #e4e7ec;background:#fff;border-radius:14px;padding:13px;text-align:left;cursor:pointer}.member-filter-card span,.member-filter-card strong{display:block}.member-filter-card span{font-size:12px;color:#667085}.member-filter-card strong{font-size:19px;margin-top:5px;color:#101828}.member-filter-card.active{border-color:#37c7bc;background:#edfffd;box-shadow:0 0 0 2px rgba(55,199,188,.12)}
.shipping-day-card{appearance:none;text-align:left;font:inherit;cursor:pointer}.shipping-day-card.selected{outline:3px solid rgba(55,199,188,.25);border-color:#37c7bc}.shipping-set-summary{min-width:230px;white-space:normal!important;line-height:1.45}.shipping-filter-toolbar{flex-wrap:wrap}.shipping-filter-toolbar input[type=date]{max-width:190px}
@media(max-width:1100px){.member-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.number-replacement-head{display:block}.number-replacement-head .btn{margin-top:10px}.number-replacement-row{grid-template-columns:minmax(0,1fr) 92px}.number-replacement-row .design-fee-row-chip{grid-column:1/2}.number-replacement-row .remove{grid-column:2/3;grid-row:2}.member-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shipping-filter-toolbar .input,.shipping-filter-toolbar .btn{width:auto;max-width:100%}}


/* 관리자 주문 안전 삭제 */
.order-delete-toolbar{align-items:center;flex-wrap:wrap}
.selected-order-count{font-size:13px;color:#667085;font-weight:700;white-space:nowrap}
.order-select-cell{width:54px;text-align:center!important}
.order-select-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#12b886}
.order-delete-help{margin:12px 0 14px}
.order-delete-zone{margin-top:28px;padding:18px;border:1px solid #fda29b;border-radius:16px;background:#fff8f7}
.order-delete-zone h3{margin-top:0;color:#b42318}
.order-delete-zone .btn-danger{width:100%;justify-content:center;margin-top:10px}
@media(max-width:760px){.order-delete-toolbar .btn,.order-delete-toolbar .selected-order-count{width:100%;justify-content:center;text-align:center}.order-select-cell{width:46px}}


/* 2026-08 회원 상세·개별단가·픽업·모바일 가독성 */
.member-detail-modal-card{width:min(860px,100%);max-height:92dvh;overflow:auto;padding:24px}.member-detail-meta{margin:5px 0 0;color:#667085;font-size:13px}.member-detail-section{margin-top:18px;padding:18px;border:1px solid #e4e7ec;border-radius:16px;background:#fff}.member-detail-section h4{margin:0 0 12px;font-size:18px}.member-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.member-account-grid .detail small{display:block;margin-top:5px;color:#667085;font-size:11px}.member-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.member-section-head h4{margin-bottom:4px}.member-section-head p,.member-delete-section p{margin:0;color:#667085;font-size:13px;line-height:1.6}.member-pricing-toggle{display:flex;align-items:center;gap:8px;white-space:nowrap;margin:0;padding:9px 11px;border-radius:12px;background:#edfffd;color:#087f75}.member-pricing-toggle input{width:18px;height:18px;accent-color:#12b886}.member-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:15px}.member-price-grid label{margin:0}.member-price-grid label span{display:block;margin-bottom:6px}.member-wide-button{width:100%;justify-content:center;margin-top:14px}.member-delete-section{border-color:#fda29b;background:#fff8f7}.member-delete-section h4{color:#b42318}.member-special-price-label{color:#087f75!important}.pickup-fields{margin-top:4px}.fulfillment-options{grid-template-columns:repeat(2,minmax(0,1fr))}.special-pricing-notice{border-color:#71ded5;background:#edfffd}
@media(max-width:760px){
  .app-top{height:auto;min-height:68px;padding:9px 0}.app-top .shell{align-items:flex-start;gap:10px}.app-top-actions .btn{font-size:15px!important;line-height:1.25;padding:12px 8px!important;font-weight:900}.auth-nav-actions .btn{font-size:14px!important;line-height:1.25;padding:11px 9px!important;font-weight:900}.auth-nav-actions .header-order-button{font-size:14px!important;padding:11px 9px!important}.member-detail-modal-card{padding:17px;border-radius:18px}.member-account-grid,.member-price-grid{grid-template-columns:1fr}.member-section-head{display:block}.member-pricing-toggle{margin-top:12px;white-space:normal}.fulfillment-options{grid-template-columns:1fr}
}
@media(max-width:390px){.app-top-actions .btn{font-size:14px!important}.auth-nav-actions .btn,.auth-nav-actions .header-order-button{font-size:13px!important}}

/* 2026-08 v7 관리자 업무·실시간 대시보드 */
.admin-live-status{display:block;margin-top:6px;color:#087f75;font-size:11px;font-weight:800}
.artwork-person-main{min-width:0;flex:1}.artwork-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:11px}.artwork-status-grid b{display:block;padding:8px 10px;border-radius:10px;font-size:12px;line-height:1.45}.artwork-status-grid .status-done{background:#ecfdf3;color:#027a48}.artwork-status-grid .status-missing{background:#fff4e5;color:#b54708}
.member-business-status{padding:8px 11px;border-radius:999px;background:#f2f4f7;color:#667085;font-size:12px;white-space:nowrap}.member-business-status.verified{background:#ecfdf3;color:#027a48}.member-business-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.member-business-actions .btn{justify-content:center}
@media(max-width:760px){.artwork-status-grid{grid-template-columns:1fr}.member-business-actions{grid-template-columns:1fr}.member-business-status{display:inline-block;margin-top:10px}}

/* KUJIPRINT V8 · 사업자 주문 / 계좌이체 / 관리자 압축 UI */
.business-product-selector{margin:18px 0}.business-product-selector .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#koop140Builder{margin-top:18px;padding:18px;border:2px solid #39c5bb;border-radius:20px;background:#f1fffd}
.koop140-product-hero{display:grid;grid-template-columns:minmax(180px,280px) 1fr;gap:20px;align-items:center}.koop140-product-hero img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:16px;border:1px solid #b7eee9;background:#fff}.koop140-product-copy h3{margin:6px 0 8px}.koop140-product-copy p{margin:0;color:#475467;line-height:1.65}.koop140-fixed-notice{margin-top:12px;padding:12px 14px;border-radius:13px;background:#fff;border:1px solid #71ded5;color:#087f75;font-weight:800;line-height:1.55}
.koop140-mode-row{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 12px}.koop140-mode-row label{display:flex;align-items:center;gap:7px;padding:10px 13px;border:1px solid #d0d5dd;border-radius:12px;background:#fff;font-weight:800}.koop140-mode-row input{accent-color:#12b886}
.koop140-alphabet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.koop-alpha-card{display:grid;grid-template-columns:1fr 92px;gap:10px;align-items:center;padding:12px;border:1px solid #d0ece9;border-radius:14px;background:#fff}.koop-alpha-card strong{display:block}.koop-alpha-card small{display:block;margin-top:3px;color:#667085}.koop-alpha-card input{width:100%;min-width:0}
.koop140-range-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.koop-range-card{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid #d0ece9;border-radius:14px;background:#fff}.koop-range-card input{accent-color:#12b886}.koop-range-card strong,.koop-range-card small{display:block}.koop-range-card small{margin-top:3px;color:#667085}.koop-range-card.disabled{opacity:.5}
.koop140-total{margin-top:14px;padding:13px 15px;border-radius:14px;background:#087f75;color:#fff}.koop140-total strong{display:block;font-size:17px}.koop140-total{font-size:13px;line-height:1.55}
.request-split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.request-split-grid>div{padding:14px;border:1px solid #e4e7ec;border-radius:14px;background:#f8fafc}.request-split-grid span{display:block;color:#667085;font-size:12px;font-weight:800}.request-split-grid p{margin:7px 0 0;white-space:pre-wrap;line-height:1.55;font-weight:700;color:#101828}
#paymentMethodChooser{margin:18px 0}.payment-method-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.payment-method-option{display:flex;align-items:flex-start;gap:10px;padding:15px;border:1px solid #d0d5dd;border-radius:15px;background:#fff}.payment-method-option input{margin-top:3px;accent-color:#12b886}.payment-method-option strong,.payment-method-option small{display:block}.payment-method-option small{margin-top:4px;color:#667085;line-height:1.45}.bank-transfer-panel{padding:18px;border:1px solid #71ded5;border-radius:18px;background:#edfffd}.bank-account-display{padding:14px;border-radius:13px;background:#087f75;color:#fff;font-size:17px;font-weight:900;word-break:break-all}.bank-transfer-panel .field{margin-top:14px}
.koop140-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.koop140-admin-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border:1px solid #e4e7ec;border-radius:14px;background:#fff}.koop140-admin-name strong,.koop140-admin-name small{display:block}.koop140-admin-name small{margin-top:3px;color:#667085}.koop140-admin-controls{display:flex;align-items:center;gap:8px}.koop140-admin-controls .input{width:92px}.koop140-enable{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:12px;font-weight:800}.koop140-enable input{accent-color:#12b886}
.detail-grid.compact-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.detail-grid.compact-detail-grid .detail{padding:10px 11px;min-width:0}.detail-grid.compact-detail-grid .detail span{font-size:11px}.detail-grid.compact-detail-grid .detail strong{font-size:13px;line-height:1.45;word-break:break-word}
.v8-order-overview{margin:18px 0;padding:18px;border:1px solid #b7eee9;border-radius:18px;background:#f7fffe}.v8-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.v8-section-title h3{margin:5px 0 0}.v8-product-badge{padding:8px 11px;border-radius:999px;background:#087f75;color:#fff;font-size:12px;white-space:nowrap}.v8-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px}.v8-time-grid>div{padding:11px;border-radius:12px;background:#fff;border:1px solid #d8f2ef}.v8-time-grid span{display:block;color:#667085;font-size:11px}.v8-time-grid strong{display:block;margin-top:4px;font-size:13px;line-height:1.45;word-break:break-word}
.v8-bank-review{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding:12px;border:1px solid #f5c451;border-radius:13px;background:#fffaf0}.v8-bank-review>div{margin-right:auto}.v8-bank-review strong,.v8-bank-review span,.v8-bank-review small{display:block}.v8-bank-review span{margin-top:3px;color:#b54708;font-weight:800}.v8-bank-review small{margin-top:3px;color:#667085}
.v8-collapsible{margin-top:13px;border:1px solid #e4e7ec;border-radius:14px;background:#fff;overflow:hidden}.v8-collapsible>summary{cursor:pointer;padding:13px 15px;font-weight:900;color:#344054;background:#f8fafc;list-style:none}.v8-collapsible>summary::-webkit-details-marker{display:none}.v8-collapsible>summary:after{content:"펼치기";float:right;color:#087f75;font-size:11px}.v8-collapsible[open]>summary:after{content:"접기"}.v8-collapsible>h3{display:none}.v8-collapsible>:not(summary):not(h3){margin-left:14px;margin-right:14px}.v8-collapsible>:last-child{margin-bottom:14px}
.v8-event-list{padding:4px 0}.v8-event-item{position:relative;display:grid;grid-template-columns:14px 1fr;gap:9px;padding:10px 0}.v8-event-item:not(:last-child):before{content:"";position:absolute;left:6px;top:23px;bottom:-7px;width:2px;background:#d8f2ef}.v8-event-dot{width:13px;height:13px;margin-top:3px;border-radius:50%;background:#12b886;border:3px solid #c8f5f0}.v8-event-item strong{display:block;font-size:13px}.v8-event-item p{margin:3px 0;color:#475467;font-size:12px}.v8-event-item small{color:#667085;font-size:11px}.v8-delivery-list{padding:5px 0}.v8-delivery-row{display:grid;grid-template-columns:minmax(180px,1fr) 1fr 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #eaecf0;font-size:12px}.v8-delivery-row:last-child{border-bottom:0}.v8-delivery-row strong,.v8-delivery-row small{display:block}.v8-delivery-row small{margin-top:3px;color:#667085}.v8-proof-warning{margin-top:12px}

@media (max-width:1000px){.koop140-alphabet-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.koop140-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid.compact-detail-grid,.v8-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.business-product-selector .choice-grid,.payment-method-options,.request-split-grid,.koop140-product-hero,.koop140-range-grid{grid-template-columns:1fr}.koop140-alphabet-grid,.koop140-admin-grid{grid-template-columns:1fr}.koop-alpha-card{grid-template-columns:1fr 100px}.detail-grid.compact-detail-grid,.v8-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v8-delivery-row{grid-template-columns:1fr}.v8-section-title{display:block}.v8-product-badge{display:inline-block;margin-top:9px}}
.koop140-hero,.koop140-locked-panel{display:grid;grid-template-columns:minmax(180px,280px) 1fr;gap:18px;align-items:center}.koop140-hero img,.koop140-locked-panel img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:16px;border:1px solid #b7eee9;background:#fff}.koop140-hero h3,.koop140-locked-panel h3{margin:8px 0}.koop140-hero p,.koop140-locked-panel p{margin:0;color:#475467;line-height:1.65}.koop140-builder{margin-top:18px;padding:18px;border:2px solid #39c5bb;border-radius:20px;background:#f1fffd}.koop140-inventory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.koop140-locked-panel{margin:16px 0;padding:16px;border:1px solid #71ded5;border-radius:18px;background:#edfffd}.business-product-options{grid-template-columns:repeat(2,minmax(0,1fr))}.business-product-options label span strong,.business-product-options label span small{display:block}.business-product-options label span small{margin-top:4px;color:#667085;font-size:12px}.consent-important{border-color:#f5c451!important;background:#fffaf0!important}
@media(max-width:760px){.koop140-hero,.koop140-locked-panel,.business-product-options{grid-template-columns:1fr}.koop140-inventory-grid{grid-template-columns:1fr}}

/* KUJIPRINT V8.2 */
.request-single-grid{grid-template-columns:1fr}.poster-request-field{padding:14px;border:1px solid #b7eee9;border-radius:14px;background:#f7fffe}.poster-request-field label{font-weight:900}.bulk-plate-picker{display:grid;gap:7px}.bulk-custom-plate-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px}.bulk-custom-plate-row[hidden]{display:none}.bulk-custom-plate-row span{font-weight:900;color:#344054}.bulk-plate-preview{font-size:12px;font-weight:800;color:#087f72;background:#ecfdf9;border-radius:9px;padding:7px 9px}.automatic-deadline-box{display:flex;flex-direction:column;justify-content:center;min-height:92px;padding:13px 14px;border:1px solid #b7eee9;border-radius:13px;background:#f7fffe}.automatic-deadline-box span{font-size:12px;color:#667085;font-weight:800}.automatic-deadline-box strong{margin-top:5px;font-size:15px;color:#087f72}.automatic-deadline-box small{margin-top:5px;color:#667085;line-height:1.45}.set-composition-list{display:grid;gap:8px;margin:10px 0 18px}.set-composition-row{margin:0!important;border:1px solid #e4e7ec;border-radius:12px;background:#f8fafc;padding:11px 12px}.inquiry-filter-toolbar{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px}.detail-grid.compact-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.v8-time-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1180px){.detail-grid.compact-detail-grid,.v8-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.detail-grid.compact-detail-grid,.v8-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.inquiry-filter-toolbar{display:grid!important;grid-template-columns:1fr!important}.detail-grid.compact-detail-grid,.v8-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:761px){.detail-grid.compact-detail-grid,.v8-time-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}


.per-set-print-design-list{display:grid;gap:14px;margin-top:16px}.per-set-config-card{border:1px solid #dfe7e5;border-radius:18px;padding:16px;background:#fff}.per-set-config-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.per-set-config-head div{display:grid;gap:3px}.per-set-config-head small{color:#667085}.set-number-badge{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#39c5bb;color:#fff;font-weight:800}.per-set-config-card details{border-top:1px solid #edf1f0;padding-top:10px;margin-top:10px}.per-set-config-card summary{cursor:pointer;font-weight:750}.compact-face-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.compact-face-grid label{display:flex;gap:8px;align-items:center;padding:10px;border:1px solid #e4e7ec;border-radius:12px;font-size:13px}.set-face-uploads,.set-design-upload{display:grid;gap:8px}.compact-upload{display:grid;gap:5px;padding:10px;background:#f8faf9;border-radius:12px}.compact-upload small{color:#667085;word-break:break-all}@media(max-width:720px){.compact-face-grid{grid-template-columns:1fr}.per-set-config-card{padding:13px}}
.wallet-topup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.wallet-topup-grid button{padding:16px;border:1px solid #d0d5dd;border-radius:14px;background:#fff;font-weight:800;cursor:pointer}.wallet-topup-grid button.active{border-color:#39c5bb;background:#effdfb}@media(max-width:600px){.wallet-topup-grid{grid-template-columns:1fr 1fr}}

/* Stage 1.2: poster request field must remain visible for poster orders */
#posterRequestField.poster-request-force{display:none!important}
#posterRequestField.poster-request-force.is-visible{display:block!important}

.wallet-admin-adjust-box{margin:16px 0;padding:16px;border:1px solid #dbe5e4;border-radius:16px;background:#f8fffe}
.wallet-admin-adjust-box .section-head{margin-bottom:12px}
.wallet-admin-adjust-box .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:640px){.wallet-admin-adjust-box .field-grid{grid-template-columns:1fr}}


.member-wallet-section{background:#f8fffe;border-color:#cfe9e5}
.member-wallet-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.member-wallet-grid label{display:flex;flex-direction:column;gap:7px}
.member-wallet-grid label span{font-size:13px;font-weight:700}
.member-wallet-memo{grid-column:1/-1}
@media(max-width:640px){.member-wallet-grid{grid-template-columns:1fr}.member-wallet-memo{grid-column:auto}}

#walletTopupEstimate{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.wallet-estimate-copy{line-height:1.7;flex:1;min-width:220px}
.wallet-estimate-button{white-space:nowrap}
.business-wallet-home{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px;border-radius:24px;background:linear-gradient(135deg,#effffb,#f8fffe);border:1px solid #cfe9e5}
.business-wallet-home h2{margin:8px 0 8px}.business-wallet-home p{margin:0;color:#667085;line-height:1.7}
.business-wallet-balance{margin-top:16px;font-weight:700}.business-wallet-balance strong{margin-left:8px;color:#0f766e;font-size:20px}
.business-wallet-home-button{min-width:170px;justify-content:center}
@media(max-width:720px){.business-wallet-home{align-items:stretch;flex-direction:column}.business-wallet-home-button{width:100%}}

.table-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.table-actions .btn{padding:7px 10px;font-size:12px}

/* 2026-08-06 mobile number-ticket notice hotfix */
@media (max-width:720px){
  .number-fixed-notice{
    display:block;
    width:100%;
    box-sizing:border-box;
    padding:14px;
  }
  .number-fixed-notice strong{
    display:block;
    white-space:normal;
    word-break:keep-all;
    overflow-wrap:break-word;
    line-height:1.5;
    margin-bottom:7px;
  }
  .number-fixed-notice span{
    display:block;
    width:100%;
    min-width:0;
    word-break:keep-all;
    overflow-wrap:break-word;
    line-height:1.65;
  }
  .set-card,
  .set-card *{
    min-width:0;
    box-sizing:border-box;
  }
}

/* Multiple-set print/design guides: show reference images once above all sets. */
.shared-print-design-guides{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0 18px}
.shared-print-design-guides details{border:1px solid #e4e7ec;border-radius:16px;background:#fff;overflow:hidden}
.shared-print-design-guides summary{padding:13px 15px;font-weight:800;cursor:pointer;background:#f8fafc}
.shared-print-design-guides .print-side-guide-image,
.shared-print-design-guides .free-design-sheet{margin:0;border:0;border-radius:0;max-height:360px}
@media (max-width:700px){
  .shared-print-design-guides{grid-template-columns:1fr;gap:10px}
  .shared-print-design-guides .print-side-guide-image,
  .shared-print-design-guides .free-design-sheet{max-height:280px}
}

/* 관리자 주문관리 가독성 보완 */
.set-composition-row,.set-composition-row span{color:#101828!important}
.set-composition-row button{color:#fff!important}
.poster-order-badge{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:6px 9px;border-radius:999px;background:#fff0f6;color:#c2255c;font-weight:900;font-size:12px;border:1px solid #fcc2d7}
.poster-order-none{color:#98a2b3;font-size:12px;font-weight:700}

/* 2026-08-06 출고일정 인쇄면 썸네일 */
.shipping-print-images{display:flex;gap:6px;align-items:center;min-width:72px;flex-wrap:wrap}.shipping-print-thumb{position:relative;width:52px;height:52px;padding:0;border:1px solid #d7e5e2;border-radius:9px;background:#fff;overflow:hidden;cursor:pointer}.shipping-print-thumb img{width:100%;height:100%;object-fit:cover;display:block}.shipping-print-thumb>span{position:absolute;z-index:2;left:3px;top:3px;min-width:18px;padding:1px 4px;border-radius:999px;background:rgba(0,0,0,.76);color:#fff;font-size:11px;line-height:16px;text-align:center}.shipping-print-file{display:flex;align-items:center;justify-content:center}.shipping-print-file b{font-size:10px}.shipping-thumb-loading,.shipping-no-print{font-size:12px;color:#7b8583}.shipping-print-error{font-size:11px;color:#b42318}.shipping-artwork-badge,.shipping-poster-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.shipping-artwork-badge.done{background:#ddf8ee;color:#08745c}.shipping-artwork-badge.missing{background:#fff0ef;color:#b42318}.shipping-poster-badge{background:#fff0f6;color:#b42369}@media(max-width:700px){.shipping-print-thumb{width:44px;height:44px}}

/* 2026-08-06 주문상세 도안/인쇄면 식별 개선 */
.always-open-file-section{margin:18px 0;padding:18px;border:1px solid #d7ebe7;border-radius:16px;background:#fbfffe}
.always-open-file-section>h3{margin:0 0 14px;color:#111827}
.kuji-proof-top-section{border-color:#99ddd0;background:#f4fffc}
.set-print-design-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.set-print-design-card{border:1px solid #e5e7eb;border-radius:14px;padding:14px;background:#fff;display:grid;gap:9px}
.set-print-design-head{display:flex;gap:8px;align-items:center;padding-bottom:8px;border-bottom:1px solid #eef2f1}
.set-print-design-head strong{color:#0f766e}.set-print-design-head span{font-weight:700;color:#111827}
.set-print-design-card>div:not(.set-print-design-head){display:grid;grid-template-columns:110px 1fr;gap:8px}
.set-print-design-card b{font-size:13px;color:#667085}.set-print-design-card span{color:#111827;word-break:break-word}
.customer-file-category{display:block!important}
.customer-file-category .customer-file-items{display:flex!important}
@media(max-width:760px){.set-print-design-grid{grid-template-columns:1fr}.set-print-design-card>div:not(.set-print-design-head){grid-template-columns:95px 1fr}.always-open-file-section{padding:14px}}

/* 2026-08-06 관리자 주문상세 파일명 한 줄·세트요약 글자 축소 */
.customer-file-category .customer-file-items{display:flex!important;flex-wrap:wrap!important;align-items:stretch;gap:8px;padding:12px}
.customer-file-category .customer-file-item{flex:1 1 240px;min-width:240px;max-width:100%;align-items:center}
.customer-file-category .customer-file-item span{display:block;min-width:0;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;word-break:normal!important;overflow-wrap:normal!important}
.set-print-design-admin>h3{font-size:17px}
.set-print-design-card{font-size:13px;padding:12px;gap:7px}
.set-print-design-head strong{font-size:13px}.set-print-design-head span{font-size:13px}
.set-print-design-card b{font-size:12px}.set-print-design-card>div:not(.set-print-design-head)>span{font-size:13px}
@media(max-width:760px){.customer-file-category .customer-file-item{flex-basis:100%;min-width:0}.set-print-design-admin>h3{font-size:16px}.set-print-design-card{font-size:12.5px}.set-print-design-head strong,.set-print-design-head span,.set-print-design-card>div:not(.set-print-design-head)>span{font-size:12.5px}}

/* 관리자 주문상세: 세트별 인쇄면 즉시 다운로드 */
.set-face-downloads{display:flex;flex-direction:column;gap:7px;align-items:flex-start}
.set-face-file-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.set-face-label{min-width:62px;font-weight:800;color:#1f2937;white-space:nowrap}
.set-face-preview,.set-face-download{border:0;font:inherit;font-size:.86em;font-weight:800;padding:5px 9px;border-radius:8px;cursor:pointer;white-space:nowrap}
.set-face-preview{background:#f1f5f9;color:#334155}
.set-face-preview:hover{background:#e2e8f0}
.set-face-preview-thumb{width:52px;height:34px;padding:0;border:1px solid #dce7e5;background:#fff;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}
.set-face-preview-thumb img{width:100%;height:100%;display:block;object-fit:contain;background:#fff}
.set-face-preview-thumb:hover{border-color:#99d9cf;background:#f7fffd}
.set-face-preview-fallback{font-size:10px;font-weight:800;color:#475569;padding:0 3px}
@media(max-width:760px){.set-face-preview-thumb{width:48px;height:32px}}
.set-face-download{background:#e7faf6;color:#08766b}
.set-face-download:hover{background:#c9f2e9}
.set-face-preview:disabled,.set-face-download:disabled{opacity:.65;cursor:wait}
.set-face-missing{display:inline-block;color:#667085;white-space:nowrap}
.set-face-download-help{margin:10px 2px 0;color:#667085;font-size:12px}
.collapsible-print-sides>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;list-style:none;padding:14px 16px;color:#111827}
.collapsible-print-sides>summary::-webkit-details-marker{display:none}
.collapsible-print-sides>summary span{font-size:12px;color:#667085}
.collapsible-print-sides[open]>summary{border-bottom:1px solid #e5e7eb}
.collapsible-print-sides>.customer-file-category-head{padding-top:14px}

/* Cancelled orders: keep visible but clearly crossed out in order management. */
#orderTable tr.order-cancelled-row > td:not(.order-select-cell) { text-decoration: line-through; text-decoration-thickness: 1.5px; opacity: .58; }
#orderTable tr.order-cancelled-row { background: #f6f6f6; }
#orderTable tr.order-cancelled-row .status, #orderTable tr.order-cancelled-row .admin-internal-status, #orderTable tr.order-cancelled-row .poster-order-badge { text-decoration: line-through; }

/* Poster request and customer poster files: collapsed by default */
.poster-request-collapsible{padding:0!important;border:1px solid #e4e7ec;border-radius:14px;background:#f8fafc;overflow:hidden}
.poster-request-collapsible summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;padding:14px}
.poster-request-collapsible summary::-webkit-details-marker{display:none}
.poster-request-collapsible summary span{margin:0}
.poster-request-collapsible summary b{font-size:12px;color:#0f766e;white-space:nowrap}
.poster-request-collapsible[open] summary b{font-size:0}
.poster-request-collapsible[open] summary b::after{content:"접기";font-size:12px}
.poster-request-collapsible p{margin:0!important;padding:0 14px 14px}
.collapsible-poster-files{overflow:hidden}
.collapsible-poster-files>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;padding:14px 16px;background:#f8fafc}
.collapsible-poster-files>summary::-webkit-details-marker{display:none}
.collapsible-poster-files>summary span{font-size:12px;color:#667085;font-weight:800}
.collapsible-poster-files[open]>summary span{font-size:0}
.collapsible-poster-files[open]>summary span::after{content:"접기";font-size:12px}

/* 2026-08-06: 1번 앞면 인쇄 의무화 */
.mandatory-face-option{background:#ecfdf9!important;border-color:#52cfc4!important;opacity:1!important}
.mandatory-face-option input:disabled{opacity:1}
.mandatory-front-notice,.mandatory-front-summary{margin:10px 0!important}


/* 관리자 주문상세 요청사항: 한 줄 미리보기 + 기본 접기 */
.request-note-collapsible{padding:0!important;border:1px solid #e4e7ec;border-radius:14px;background:#f8fafc;overflow:hidden;min-width:0}
.request-note-collapsible summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;list-style:none;cursor:pointer;padding:13px 14px;min-width:0}
.request-note-collapsible summary::-webkit-details-marker{display:none}
.request-note-collapsible .request-note-label{display:block!important;color:#667085;font-size:12px;font-weight:800;white-space:nowrap}
.request-note-collapsible .request-note-preview{display:block!important;color:#101828;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.request-note-collapsible summary em{font-style:normal;font-size:11px;font-weight:900;padding:3px 7px;border-radius:999px;background:#d1fae5;color:#047857;white-space:nowrap}
.request-note-collapsible.no-request summary{cursor:default;grid-template-columns:auto minmax(0,1fr) auto}
.request-note-collapsible.no-request summary em{background:#f2f4f7;color:#667085}
.request-note-collapsible summary b{font-size:12px;color:#0f766e;white-space:nowrap}
.request-note-collapsible[open] summary b{font-size:0}
.request-note-collapsible[open] summary b::after{content:"접기";font-size:12px}
.request-note-collapsible[open] .request-note-preview{visibility:hidden}
.request-note-collapsible p{margin:0!important;padding:0 14px 14px;white-space:pre-wrap;line-height:1.55;font-weight:700;color:#101828}
@media (max-width:760px){.request-note-collapsible summary{grid-template-columns:auto minmax(0,1fr) auto}.request-note-collapsible summary b{grid-column:1/-1;justify-self:end;margin-top:-2px}.request-note-collapsible.no-request summary{grid-template-columns:auto minmax(0,1fr) auto}}

/* 2026-08-06 모바일 주문 3단계 크기 정상화 */
@media (max-width:760px){
  .panel[data-panel="3"]{
    width:100%;
    min-width:0;
    max-width:100%;
    overflow-x:hidden;
  }
  .panel[data-panel="3"] *,
  .panel[data-panel="3"] *::before,
  .panel[data-panel="3"] *::after{
    min-width:0;
    box-sizing:border-box;
  }
  .panel[data-panel="3"] h2{
    font-size:28px;
    line-height:1.3;
    letter-spacing:-.035em;
  }
  .panel[data-panel="3"] .panel-intro{
    font-size:17px;
    line-height:1.65;
  }
  .panel[data-panel="3"] .section-label-row strong{
    font-size:18px;
    line-height:1.4;
  }
  .panel[data-panel="3"] .section-label-row span{
    font-size:14px;
    line-height:1.55;
  }
  .panel[data-panel="3"] .required-chip{
    flex:0 0 auto;
    font-size:13px;
  }
  .panel[data-panel="3"] .shared-print-design-guides,
  .panel[data-panel="3"] .per-set-print-design-list,
  .panel[data-panel="3"] .per-set-config-card,
  .panel[data-panel="3"] details,
  .panel[data-panel="3"] summary,
  .panel[data-panel="3"] img,
  .panel[data-panel="3"] input,
  .panel[data-panel="3"] select{
    width:100%;
    max-width:100%;
  }
  .panel[data-panel="3"] .shared-print-design-guides{
    grid-template-columns:1fr;
    gap:12px;
  }
  .panel[data-panel="3"] .shared-print-design-guides summary,
  .panel[data-panel="3"] .per-set-config-card summary{
    font-size:16px;
    line-height:1.4;
    padding:13px 14px;
  }
  .panel[data-panel="3"] .per-set-config-card{
    padding:15px;
    border-radius:18px;
  }
  .panel[data-panel="3"] .per-set-config-head strong{
    font-size:16px;
  }
  .panel[data-panel="3"] .per-set-config-head small{
    font-size:13px;
    line-height:1.5;
  }
  .panel[data-panel="3"] .compact-face-grid label{
    font-size:15px;
    line-height:1.4;
    padding:13px 12px;
  }
  .panel[data-panel="3"] .compact-upload{
    padding:13px;
  }
  .panel[data-panel="3"] .compact-upload>span{
    font-size:14px;
    line-height:1.45;
  }
  .panel[data-panel="3"] .compact-upload small{
    font-size:12px;
    line-height:1.45;
  }
  .panel[data-panel="3"] .notice{
    font-size:14px;
    line-height:1.55;
  }
  .panel[data-panel="3"] .print-side-guide-image,
  .panel[data-panel="3"] .free-design-sheet,
  .panel[data-panel="3"] .ticket-shape-guide{
    height:auto;
    object-fit:contain;
  }
}

.proof-original-name{display:block;margin-top:4px;color:#111827;font-weight:700;word-break:break-all;}

/* Refund account information */
.refund-account-card{border-color:#cfeceb;background:linear-gradient(180deg,#fff 0%,#fbffff 100%)}
.refund-account-fields{grid-template-columns:minmax(170px,.7fr) minmax(170px,.7fr) minmax(260px,1.4fr)}
.refund-account-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}
.refund-account-actions small{color:#667085;line-height:1.55}
.admin-refund-account-box{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0;padding:16px 18px;border:1px solid #bee8e4;border-radius:16px;background:#f2fffd}
.admin-refund-account-box h3{margin:0 0 5px;font-size:17px}.admin-refund-account-box p{margin:0;font-weight:700;word-break:break-all}
.admin-refund-account-box.missing{border-color:#eadfc9;background:#fffaf1}.admin-refund-account-box.missing p{font-weight:500;color:#786849}
.member-refund-account-number{grid-column:span 2}.member-refund-account-number strong{word-break:break-all}
@media(max-width:760px){.refund-account-fields{grid-template-columns:1fr}.refund-account-actions,.admin-refund-account-box{align-items:stretch;flex-direction:column}.refund-account-actions .btn,.admin-refund-account-box .btn{width:100%}.member-refund-account-number{grid-column:auto}}
/* 2026-08 final workflow */
.poster-multi-head,.poster-set-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.poster-multi-head>div{display:grid;gap:4px}.poster-multi-head span{font-size:13px;color:#667085}.poster-set-card{margin-top:14px;border:1px solid #dfe4ea;border-radius:16px;padding:16px;background:#fff}.poster-set-head{margin-bottom:12px}.admin-highlight-block{border:1px solid #d8e7e5;background:#f7fffe;border-radius:14px;padding:14px;margin:0 0 14px}.admin-highlight-block h3{margin:0 0 10px}.proof-manage-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-top:1px solid #e8eeee}.proof-manage-row:first-of-type{border-top:0}.proof-compact{font-size:11px;line-height:1.45;white-space:nowrap}.proof-compact b{display:block}.proof-compact .done,.proof-compact b.done{color:#0b8f80}.proof-compact .missing,.proof-compact b.missing{color:#d84343}.kpi-breakdown{display:block;font-size:10px;font-weight:600;margin-top:4px;color:#667085}.proof-confirm-notice{padding:12px;border-radius:12px;background:#fff8e9;border:1px solid #f2d68d;font-size:13px;line-height:1.65;margin-bottom:12px}.proof-confirm-notice strong{display:block;margin-bottom:3px}
@media(max-width:700px){.poster-multi-head{align-items:flex-start;flex-direction:column}.poster-multi-head .btn{width:100%}.poster-set-card{padding:13px}.final-workflow-order .set-face-uploads{display:grid!important;grid-template-columns:1fr!important;gap:10px}.final-workflow-order .compact-face-grid{display:grid!important;grid-template-columns:1fr!important;gap:8px}.final-workflow-order .compact-upload{margin:0!important}.proof-manage-row{align-items:flex-start;flex-direction:column}}
.face-upload-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.face-upload-card{border:1px solid #dfe4ea;border-radius:14px;padding:12px;background:#fff}.face-upload-card.selected{border-color:#56c9bf;background:#f3fffd}.face-select-row{display:flex;gap:8px;align-items:center;font-weight:700}.face-upload-card .compact-upload{display:grid;gap:7px;margin-top:10px}.face-upload-hint{display:block;color:#98a2b3;margin-top:8px;line-height:1.4}@media(max-width:700px){.face-upload-card-grid{grid-template-columns:1fr}.face-upload-card{padding:14px}.face-upload-card .compact-upload input[type=file]{width:100%;max-width:100%}}


/* KUJIPRINT V9 CORE */
.poster-multi-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.poster-multi-head>div{display:flex;flex-direction:column;gap:4px}.poster-multi-head span{font-size:13px;color:#667085}.poster-set-card{border:1px solid #d9e1e8;border-radius:16px;padding:16px;margin-top:12px;background:#fff}.poster-set-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.admin-highlight-block{border:1px solid #d9e1e8;border-radius:14px;padding:14px;margin:12px 0;background:#fbfffe}.admin-highlight-block h3{margin:0 0 10px}.proof-manage-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #eee}.proof-manage-row:last-child{border-bottom:0}.proof-compact{font-size:11px;line-height:1.35;white-space:nowrap}.proof-compact b{display:block}.proof-compact .done,.done{color:#009688}.proof-compact .missing,.missing{color:#d33}.kpi-breakdown{display:block;font-size:10px;margin-top:4px;color:#667085}.proof-confirm-notice{padding:12px 14px;background:#fff8e7;border:1px solid #f0ca68;border-radius:12px;font-size:13px;line-height:1.6;margin-bottom:12px}.proof-confirm-notice strong{display:block;margin-bottom:4px}.v9-face-file-wrap{display:none;margin-top:8px;padding-top:8px;border-top:1px dashed #ccd4dd}.v9-face-file-wrap small{display:block;margin-bottom:6px}
@media(max-width:760px){.poster-multi-head{align-items:flex-start;flex-direction:column}.poster-multi-head .btn{width:100%}.poster-set-card{padding:13px}.v9-face-file-wrap{display:block}.proof-compact{font-size:10px}.admin-highlight-block{padding:12px}.proof-manage-row{align-items:flex-start;flex-direction:column}}

/* 관리자 주문 상세 배치 편집 */
.order-layout-editor-grid{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(360px,1.1fr);gap:18px;align-items:start}
.order-layout-editor-panel,.order-layout-preview-panel{border:1px solid #e5e7eb;border-radius:18px;background:#fff;padding:18px}
.order-layout-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.order-layout-editor-head>div{display:flex;flex-direction:column;gap:4px}.order-layout-editor-head strong{font-size:17px}.order-layout-editor-head small{color:#667085}
.order-layout-sort-list{display:flex;flex-direction:column;gap:8px}.order-layout-sort-item{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;border:1px solid #dde2ea;border-radius:12px;padding:11px 10px;background:#fff;cursor:grab;transition:.15s}.order-layout-sort-item:hover{border-color:#3bc6bf;box-shadow:0 4px 16px rgba(16,24,40,.06)}.order-layout-sort-item.dragging{opacity:.45}.order-layout-sort-item.drag-over{border-color:#18b8b0;background:#effcfa}.layout-drag-handle{font-size:20px;color:#98a2b3;text-align:center}.order-layout-sort-item>div:nth-child(2){display:flex;flex-direction:column;gap:2px}.order-layout-sort-item small{color:#7a8394;font-size:12px}.layout-move-actions{display:flex;gap:4px}.layout-move-actions button{width:30px;height:30px;border:1px solid #d9dee7;border-radius:8px;background:white;font-weight:800;cursor:pointer}.layout-move-actions button:disabled{opacity:.25;cursor:default}
.order-layout-preview-shell{border:1px solid #dce3ec;border-radius:16px;background:#f7f9fc;padding:14px;max-height:720px;overflow:auto}.order-layout-preview-title{font-weight:800;font-size:18px;padding:10px 8px 16px}.order-layout-preview-list{display:flex;flex-direction:column;gap:8px}.order-layout-preview-card{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center;padding:12px;background:white;border:1px solid #e2e7ef;border-radius:12px}.order-layout-preview-card>span{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#e7faf8;color:#149e98;font-weight:800}.order-layout-preview-card>div{display:flex;flex-direction:column;gap:2px}.order-layout-preview-card small{color:#778195}
.order-layout-save-bar{position:sticky;bottom:12px;margin-top:18px;padding:14px 16px;border:1px solid #bfe8e5;border-radius:16px;background:rgba(245,255,254,.96);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:space-between;gap:15px;box-shadow:0 8px 30px rgba(16,24,40,.08)}.order-layout-save-bar>div{display:flex;flex-direction:column;gap:3px}.order-layout-save-bar small{color:#667085}
#drawerContent.order-layout-active{display:flex;flex-direction:column}#drawerContent.order-layout-active>[data-order-layout-group]{min-width:0}
@media(max-width:900px){.order-layout-editor-grid{grid-template-columns:1fr}.order-layout-preview-shell{max-height:520px}.order-layout-save-bar{align-items:stretch;flex-direction:column}.order-layout-save-bar .btn{width:100%}}


/* 2026-08-07 mobile customer order compact UX
   Display-only optimization. Pricing/order/upload logic is unchanged. */
@media (max-width:760px){
  body.mobile-order-optimized .app-top{height:54px}
  body.mobile-order-optimized .app-top .shell{gap:8px}
  body.mobile-order-optimized .brand{gap:7px;font-size:15px}
  body.mobile-order-optimized .brand img{width:32px;height:32px}
  body.mobile-order-optimized .app-top-actions{gap:4px;flex-wrap:nowrap}
  body.mobile-order-optimized .app-top-actions .btn,
  body.mobile-order-optimized .app-top-actions .header-order-button{min-height:34px!important;padding:7px 9px!important;font-size:11px!important;border-radius:10px}

  body.mobile-order-optimized .app-main{padding:14px 0 82px}
  body.mobile-order-optimized .shell{width:min(100% - 20px,var(--shell))}
  body.mobile-order-optimized .order-page-heading{display:flex!important;align-items:center;gap:8px;margin-bottom:12px!important}
  body.mobile-order-optimized .order-page-heading>div{min-width:0;flex:1}
  body.mobile-order-optimized .order-page-heading .eyebrow{font-size:10px;padding:5px 8px}
  body.mobile-order-optimized .order-page-heading .page-title{font-size:23px!important;margin-top:7px!important}
  body.mobile-order-optimized .order-page-heading p{font-size:11px;line-height:1.35;margin-top:4px!important}
  body.mobile-order-optimized .order-reset-btn{width:auto!important;min-height:34px!important;margin:0!important;padding:7px 9px!important;font-size:11px;white-space:nowrap}

  body.mobile-order-optimized .wizard-layout{gap:10px}
  body.mobile-order-optimized .card{border-radius:16px}
  body.mobile-order-optimized .card-pad{padding:13px}
  body.mobile-order-optimized .stepper{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px;margin-bottom:13px}
  body.mobile-order-optimized .step{padding:9px 3px;border-radius:10px;font-size:10px;line-height:1.15;text-align:center;white-space:nowrap}

  body.mobile-order-optimized .panel h2{font-size:20px;margin-bottom:3px}
  body.mobile-order-optimized .panel-intro{font-size:11px;line-height:1.4;margin:0 0 12px}
  body.mobile-order-optimized .field-grid{gap:0}
  body.mobile-order-optimized .field{margin-bottom:10px}
  body.mobile-order-optimized label{font-size:12px;margin-bottom:5px}
  body.mobile-order-optimized .input,
  body.mobile-order-optimized .select{min-height:44px;padding:10px 11px;border-radius:11px;font-size:14px}
  body.mobile-order-optimized .textarea{min-height:78px;padding:10px 11px;border-radius:11px;font-size:13px}
  body.mobile-order-optimized .readonly-field{min-height:42px;padding:8px 11px;border-radius:11px;font-size:12px}
  body.mobile-order-optimized .field-help{font-size:10px;line-height:1.35;margin-top:4px}
  body.mobile-order-optimized .required-mark{font-size:9px;padding:2px 5px;margin-left:3px}

  body.mobile-order-optimized .segmented{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px}
  body.mobile-order-optimized .segmented span{padding:10px 6px;border-radius:11px;font-size:12px;line-height:1.25}
  body.mobile-order-optimized .business-product-options{grid-template-columns:1fr!important}
  body.mobile-order-optimized .business-product-options span{padding:9px 10px;text-align:left}
  body.mobile-order-optimized .business-product-options small{font-size:9.5px;line-height:1.3;margin-top:2px}

  body.mobile-order-optimized .notice{padding:9px 10px;border-radius:11px;font-size:10.5px;line-height:1.4}
  body.mobile-order-optimized .notice strong{font-size:11.5px;margin-bottom:2px}
  body.mobile-order-optimized .notice span{line-height:1.4}
  body.mobile-order-optimized .quick-next-note{margin-top:7px;padding:8px 10px;border-radius:10px;font-size:10px;line-height:1.4}
  body.mobile-order-optimized .number-fixed-notice{padding:8px 9px;border-radius:10px;gap:6px;margin-bottom:8px}
  body.mobile-order-optimized .number-fixed-notice strong{font-size:10.5px}
  body.mobile-order-optimized .number-fixed-notice span{font-size:10px;line-height:1.35}

  body.mobile-order-optimized .section-label-row{gap:8px;margin:13px 0 7px}
  body.mobile-order-optimized .section-label-row strong{font-size:14px}
  body.mobile-order-optimized .section-label-row span:not(.required-chip){font-size:10px;line-height:1.35;margin-top:2px}
  body.mobile-order-optimized .required-chip{padding:4px 7px;font-size:9.5px}

  body.mobile-order-optimized .set-card,
  body.mobile-order-optimized .per-set-config-card,
  body.mobile-order-optimized .poster-set-card,
  body.mobile-order-optimized .poster-builder,
  body.mobile-order-optimized .design-selector-section{padding:11px;border-radius:13px;margin-top:8px}
  body.mobile-order-optimized .set-head{margin-bottom:7px}
  body.mobile-order-optimized .set-head h3{font-size:14px}
  body.mobile-order-optimized .set-head>div span{font-size:10px}
  body.mobile-order-optimized .composition-entry-box{padding:10px;border-radius:12px;margin-bottom:9px}
  body.mobile-order-optimized .composition-entry-box>label{font-size:13px}
  body.mobile-order-optimized .composition-divider{margin:9px 0;font-size:9px}
  body.mobile-order-optimized .grade-row-custom,
  body.mobile-order-optimized .number-replacement-row{gap:6px;margin-bottom:7px}

  body.mobile-order-optimized .compact-face-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;margin:7px 0}
  body.mobile-order-optimized .compact-face-grid label{padding:7px 4px;border-radius:9px;font-size:10px;gap:4px;justify-content:center}
  body.mobile-order-optimized .compact-upload{padding:8px;border-radius:9px;font-size:10px}
  body.mobile-order-optimized .face-upload-card-grid{grid-template-columns:1fr!important;gap:7px}
  body.mobile-order-optimized .face-upload-card{padding:9px!important;border-radius:11px}
  body.mobile-order-optimized .face-select-row{font-size:11px}
  body.mobile-order-optimized .face-upload-hint{font-size:9.5px;margin-top:4px}
  body.mobile-order-optimized .v9-face-file-wrap{margin-top:6px!important}

  body.mobile-order-optimized .print-side-guide-image{display:block;max-height:180px;width:100%;object-fit:contain;margin:6px auto 9px}
  body.mobile-order-optimized .free-design-sheet{max-height:220px;margin:5px 0 9px;border-radius:11px}
  body.mobile-order-optimized .ticket-shape-section{padding:9px}

  body.mobile-order-optimized .poster-multi-head{display:flex!important;align-items:center!important;flex-direction:row!important;gap:7px}
  body.mobile-order-optimized .poster-multi-head .btn{width:auto!important;padding:8px 9px;font-size:11px}
  body.mobile-order-optimized .poster-price-preview{height:42px;padding:0 11px;border-radius:10px;font-size:18px}
  body.mobile-order-optimized .quantity-input-row{grid-template-columns:40px minmax(80px,1fr) 40px;gap:5px}
  body.mobile-order-optimized .quantity-button{min-height:42px;font-size:19px;border-radius:10px}
  body.mobile-order-optimized .upload{padding:12px 9px;border-radius:12px;font-size:11px}
  body.mobile-order-optimized .upload input{margin-top:6px;max-width:100%;font-size:11px}

  body.mobile-order-optimized .address-search-row{gap:6px}
  body.mobile-order-optimized .address-search-row .btn{padding:9px 10px;font-size:12px;white-space:nowrap}
  body.mobile-order-optimized .pickup-address-card{margin-bottom:8px}

  body.mobile-order-optimized .order-consent-box,
  body.mobile-order-optimized .review-box{padding:11px;border-radius:12px;margin-top:8px}
  body.mobile-order-optimized .review-box h3{font-size:14px;margin-bottom:6px}
  body.mobile-order-optimized .review-line{padding:5px 0;gap:8px}
  body.mobile-order-optimized .review-line span,
  body.mobile-order-optimized .review-line strong{font-size:10.5px}
  body.mobile-order-optimized .consent-summary{font-size:10px;line-height:1.4}

  body.mobile-order-optimized .action-row{margin-top:12px;gap:7px}
  body.mobile-order-optimized .action-row .btn{min-height:40px;padding:9px 11px;font-size:12px}
  body.mobile-order-optimized .mobile-sticky-action{padding:7px 10px calc(7px + env(safe-area-inset-bottom))}
  body.mobile-order-optimized .mobile-sticky-action .btn{padding:12px;font-size:15px;border-radius:12px}

  body.mobile-order-optimized .summary{padding:12px;border-radius:14px}
  body.mobile-order-optimized .summary h3{font-size:15px;margin-bottom:8px}
  body.mobile-order-optimized .summary-line{margin:5px 0;font-size:11px}
  body.mobile-order-optimized .summary-total{margin-top:8px;padding-top:8px;font-size:13px}
  body.mobile-order-optimized .summary-total strong{font-size:20px}
  body.mobile-order-optimized .summary-badge{padding:7px 8px;font-size:9.5px;margin-top:7px}

  body.mobile-order-optimized .edit-mode-banner{padding:9px 10px;gap:6px;font-size:10px}
  body.mobile-order-optimized .edit-mode-banner .btn{width:auto!important;min-height:34px;padding:7px 9px;font-size:10px}
}
@media (max-width:390px){
  body.mobile-order-optimized .shell{width:calc(100% - 14px)}
  body.mobile-order-optimized .card-pad{padding:10px}
  body.mobile-order-optimized .step{font-size:9px;padding:8px 1px}
  body.mobile-order-optimized .order-page-heading .page-title{font-size:21px!important}
  body.mobile-order-optimized .app-top-actions .btn{padding:6px 7px!important;font-size:10px!important}
}

/* 주문상세 상단 계좌이체 빠른처리 바 */
.v8-payment-quickbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 8px;padding:10px 12px;border:1px solid #f1c75b;border-radius:12px;background:#fffaf0}
.v8-payment-quickbar .v8-bank-inline{font-size:13px;line-height:1.35}
.v8-payment-quickbar .btn{min-height:34px}
@media(max-width:640px){.v8-payment-quickbar{gap:6px;padding:8px 9px;margin:8px 0 6px}.v8-payment-quickbar .v8-bank-inline{font-size:12px}.v8-payment-quickbar .btn{min-height:32px;padding:6px 9px;font-size:12px}}


/* 2026-08-07 mobile order final polish */
@media (max-width:760px){
  /* 상단 계정 메뉴: 모바일에서는 한 줄 3칸 */
  body.mobile-order-optimized .app-top{height:auto!important;min-height:58px!important;padding:7px 0!important}
  body.mobile-order-optimized .app-top .shell{display:block!important;width:calc(100% - 20px)!important}
  body.mobile-order-optimized .app-top .brand{display:none!important}
  body.mobile-order-optimized .app-top-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }
  body.mobile-order-optimized .app-top-actions .btn{
    width:100%!important;
    min-height:41px!important;
    padding:8px 5px!important;
    font-size:13px!important;
    font-weight:800!important;
    border-radius:12px!important;
    white-space:nowrap!important;
  }

  /* 세트 분류: 단일/여러/대량을 반드시 한 줄 */
  body.mobile-order-optimized .set-mode-options{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
  }
  body.mobile-order-optimized .set-mode-options span{
    min-height:54px!important;
    padding:8px 4px!important;
    font-size:10.5px!important;
    line-height:1.18!important;
    white-space:normal!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  body.mobile-order-optimized .set-mode-options small{
    display:block!important;
    margin-top:2px!important;
    font-size:8.5px!important;
    line-height:1.1!important;
    font-weight:700!important;
    opacity:.72;
  }

  /* 알파벳 등급: 한 행에 3개 카드 */
  body.mobile-order-optimized .grade-list{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    align-items:start!important;
  }
  body.mobile-order-optimized .grade-row-custom{
    display:flex!important;
    flex-direction:column!important;
    min-width:0!important;
    gap:5px!important;
    padding:7px 6px!important;
    margin:0!important;
    border-radius:11px!important;
    align-items:stretch!important;
  }
  body.mobile-order-optimized .grade-row-custom>div{min-width:0!important;width:100%!important}
  body.mobile-order-optimized .grade-row-custom label{
    display:block!important;
    margin:0 0 2px!important;
    font-size:9px!important;
    line-height:1.12!important;
    white-space:normal!important;
  }
  body.mobile-order-optimized .grade-row-custom .field-help{display:none!important}
  body.mobile-order-optimized .grade-row-custom .input{
    width:100%!important;
    min-width:0!important;
    min-height:38px!important;
    padding:7px 6px!important;
    border-radius:9px!important;
  }
  body.mobile-order-optimized .grade-row-custom .design-fee-row-chip{
    width:100%!important;
    padding:5px 3px!important;
    border-radius:8px!important;
    font-size:8.5px!important;
    line-height:1.15!important;
    text-align:center!important;
    white-space:normal!important;
  }
  body.mobile-order-optimized .grade-row-custom .remove{
    width:100%!important;
    min-height:30px!important;
    margin:0!important;
    padding:3px!important;
    border-radius:8px!important;
    font-size:16px!important;
  }
  body.mobile-order-optimized .add-grade{margin-top:7px!important;font-size:10px!important;padding:7px 9px!important}

  /* iOS Safari 입력 포커스 자동 확대 방지: form control은 16px 이상 */
  body.mobile-order-optimized input,
  body.mobile-order-optimized select,
  body.mobile-order-optimized textarea{
    font-size:16px!important;
  }
  body.mobile-order-optimized .grade-row-custom .input{font-size:16px!important}

  /* 제작 가능 모양 안내는 보조 안내이므로 더 작게 */
  body.mobile-order-optimized #ticketShapeNotice{
    padding:7px 8px!important;
    font-size:9.5px!important;
    line-height:1.35!important;
  }
  body.mobile-order-optimized #ticketShapeNotice strong{
    font-size:10.5px!important;
    margin-bottom:1px!important;
  }
}
@media (max-width:390px){
  body.mobile-order-optimized .app-top-actions .btn{font-size:12.5px!important}
  body.mobile-order-optimized .set-mode-options span{font-size:10px!important;padding:7px 2px!important}
  body.mobile-order-optimized .set-mode-options small{font-size:8px!important}
  body.mobile-order-optimized .grade-list{gap:4px!important}
  body.mobile-order-optimized .grade-row-custom{padding:6px 4px!important}
  body.mobile-order-optimized .grade-row-custom label{font-size:8.5px!important}
}

/* ===== FINAL ADMIN ORDER DETAIL POLISH ===== */
.summary-field-visibility-editor{margin-top:16px;padding:16px;border:1px solid #dfe7e8;border-radius:16px;background:#fbfefe}
.summary-field-toggle-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}
.summary-field-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;padding:9px 10px;border:1px solid #dce5e6;border-radius:11px;background:#fff;color:#182030;font-weight:800;cursor:pointer}
.summary-field-toggle b{font-size:11px;color:#058f88}.summary-field-toggle.is-hidden{opacity:.58;background:#f2f4f5}.summary-field-toggle.is-hidden b{color:#9b4a47}
.summary-field-save-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;font-size:12px;color:#687386}
.design-change-one-line{display:flex;align-items:center;gap:10px;min-width:0}.design-change-preview{display:block;min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}
.design-change-toggle{flex:0 0 auto;border:0;background:transparent;color:#087d77;font-weight:900;cursor:pointer;padding:4px 0}.admin-highlight-block.expanded .design-change-preview{white-space:normal;overflow:visible;text-overflow:clip}
.proof-confirmation-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px;margin:8px 0 12px;border-radius:12px;background:#f6fbfb;border:1px solid #d9eeee}
.proof-confirmation-summary>div{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;min-width:0}.proof-confirmation-summary span{font-size:12px;color:#687386;font-weight:800}.proof-confirmation-summary b{font-size:13px}.proof-confirmation-summary small{font-size:11px;color:#687386;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){.summary-field-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.proof-confirmation-summary{grid-template-columns:1fr}.summary-field-save-row{align-items:stretch;flex-direction:column}.summary-field-save-row .btn{width:100%}}


/* ===== V10 bulk order + compact copy polish ===== */
@media (max-width:760px){
  body.mobile-order-optimized .number-replacement-section{padding:9px!important;margin-top:9px!important;border-radius:12px!important}
  body.mobile-order-optimized .number-replacement-head{margin-bottom:7px!important}
  body.mobile-order-optimized .number-replacement-head strong{font-size:12px!important;line-height:1.2!important}
  body.mobile-order-optimized .number-replacement-head span{font-size:9.5px!important;line-height:1.3!important;margin-top:2px!important}
  body.mobile-order-optimized .number-replacement-head .btn{font-size:10px!important;padding:7px 9px!important;margin-top:6px!important}
  body.mobile-order-optimized .number-replacement-empty{padding:8px 7px!important;font-size:9.5px!important;line-height:1.35!important;border-radius:9px!important}
  body.mobile-order-optimized .number-replacement-section>.field-help{font-size:9px!important;line-height:1.25!important;margin-top:5px!important}
  /* 문구 변경은 iOS 확대 방지용 computed 16px을 유지하면서 시각 크기만 축소 */
  body.mobile-order-optimized .grade-row-custom .grade-message{font-size:16px!important;transform:scale(.86);transform-origin:left center;width:116%!important;margin-right:-16%!important;min-height:35px!important;padding:5px 5px!important}
}
.bulk-confirmed-date-panel{margin:12px 0;padding:13px 14px;border:1px solid #f5c77d;border-radius:13px;background:#fff8eb}
.bulk-confirmed-date-panel strong{display:block;font-size:14px;color:#9a4c0b;margin-bottom:3px}
.bulk-confirmed-date-panel small{display:block;color:#7a5a3d;font-size:11px;line-height:1.4;margin-bottom:9px}
.bulk-confirmed-date-actions{display:grid;grid-template-columns:minmax(180px,260px) auto;gap:8px;align-items:end}
.bulk-confirmed-date-actions label{font-size:11px;font-weight:800;color:#5f4632}
@media(max-width:760px){.bulk-confirmed-date-actions{grid-template-columns:1fr auto}}
/* V11 designer admin integration */
.designer-admin-panel{margin:18px 0;padding:16px;border:1px solid #dcefea;background:#f8fffd;border-radius:14px}.designer-admin-panel h3{margin-top:0}.designer-admin-grid{display:grid;gap:9px}.designer-admin-card{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff;border:1px solid #e8eceb;border-radius:11px;padding:10px 12px}.designer-admin-card strong,.designer-admin-card span{display:block}.designer-admin-card span{font-size:12px;color:#667085;margin-top:3px}.designer-admin-actions{display:flex;gap:7px;align-items:center}.designer-admin-actions .select{min-width:180px}@media(max-width:700px){.designer-admin-card{display:block}.designer-admin-actions{margin-top:8px}.designer-admin-actions .select{min-width:0;flex:1}}

/* V11 designer permission visibility */
.member-row-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.member-designer-label{color:#087f75!important;background:#edfffd;border:1px solid #71ded5;padding:2px 6px;border-radius:999px;margin-left:6px;font-size:10px}
@media(max-width:760px){.member-row-actions{min-width:118px}.member-row-actions .btn{padding:6px 8px;font-size:11px}}

/* ===== V12 final polish ===== */
.poster-add-below-v12{margin-top:10px;width:100%;justify-content:center;min-height:44px}.poster-size-guide-v12{margin:0 0 8px;font-size:12px;line-height:1.55;color:#667085}.ship-state-v12{display:inline-flex;align-items:center;justify-content:center;min-width:68px;padding:6px 8px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.ship-state-v12.producing{background:#fee2e2;color:#b91c1c}.ship-state-v12.done{background:#dcfce7;color:#15803d}.ship-state-v12.waiting{background:#f1f5f9;color:#64748b}.home-inquiry-v12{padding-top:0}.home-inquiry-card-v12{border:1px solid #dce7e5;border-radius:22px;padding:22px;background:#fff}.home-inquiry-grid-v12{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.home-inquiry-grid-v12 .field{margin:0}.home-inquiry-actions-v12{display:flex;justify-content:flex-end;margin-top:12px}@media(max-width:720px){.home-inquiry-grid-v12{grid-template-columns:1fr}.home-inquiry-actions-v12 .btn{width:100%;justify-content:center}}

/* ===== KUJIPRINT V12.6 final-step ship date + print file display ===== */
.final-ship-date-v126{border:1px solid #b8e8e3;background:#f7fffe;margin-bottom:16px}
.final-ship-date-v126 h3{display:flex;align-items:center;gap:8px;margin:0 0 6px}
.final-date-intro-v126{font-size:12px;line-height:1.55;color:#667085;margin:0 0 12px}
.desired-date-native-v126{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
/* Native file controls may keep showing '선택된 파일 없음' after a rerender even though state holds the file.
   Hide only the native filename text; the real selected filename is shown in our row text. */
.face-file-input{color:transparent!important;max-width:150px!important}
.face-file-input::file-selector-button{color:#101828!important}
@media(max-width:720px){.final-ship-date-v126{padding:12px!important}.final-ship-date-v126 .select{font-size:16px!important}.face-file-input{max-width:130px!important}}


/* ===== V12.23.12 compact customer requests + one-line payment detail ===== */
.customer-request-two-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.admin-customer-request-detail .request-collapse-card{min-width:0}
.request-collapse-text{margin-top:5px;font-weight:800;line-height:1.5;white-space:pre-wrap;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-word}
.request-collapse-card.expanded .request-collapse-text{display:block;overflow:visible;-webkit-line-clamp:unset}
.request-collapse-toggle{margin-top:5px;padding:0;border:0;background:transparent;color:#087d77;font-size:11px;font-weight:900;cursor:pointer}
.payment-detail-one-line{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;min-width:470px}
.admin-payment-detail{overflow-x:auto}
.admin-payment-detail .detail{min-width:0;padding:8px 5px;text-align:center}
.admin-payment-detail .detail span{white-space:nowrap;font-size:9.5px;letter-spacing:-.3px}
.admin-payment-detail .detail strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.customer-request-two-grid{grid-template-columns:1fr 1fr}.payment-detail-one-line{min-width:470px}}


/* ===== V12.23.13: main notice popup ===== */
.home-notice-popup{position:fixed;inset:0;z-index:9999;align-items:center;justify-content:center;padding:18px;opacity:0;transition:opacity .18s ease}
.home-notice-popup.open{opacity:1}
.home-notice-popup-backdrop{position:absolute;inset:0;background:rgba(17,24,39,.58);backdrop-filter:blur(2px)}
.home-notice-popup-card{position:relative;z-index:1;width:min(92vw,520px);max-height:90vh;background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.24);overflow:hidden;display:flex;flex-direction:column}
.home-notice-popup-x{position:absolute;right:10px;top:10px;z-index:2;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.92);font-size:26px;line-height:1;cursor:pointer;box-shadow:0 2px 12px rgba(0,0,0,.12)}
.home-notice-popup-image-wrap{overflow:auto;background:#f8fafc;display:flex;align-items:center;justify-content:center}
.home-notice-popup-image-wrap img{display:block;max-width:100%;max-height:calc(90vh - 62px);width:auto;height:auto;object-fit:contain}
.home-notice-popup-actions{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;background:#fff;border-top:1px solid #eef2f6}
.home-notice-popup-actions button{border:0;border-radius:10px;padding:11px 12px;font-weight:700;cursor:pointer}
.home-notice-popup-today{background:#f1f5f9;color:#334155;text-align:left}
.home-notice-popup-close{background:#dff8f1;color:#087f67;min-width:72px}
.home-popup-image-field img:not([src]),.home-popup-image-field img[src=""]{display:none}
@media(max-width:560px){.home-notice-popup{padding:12px}.home-notice-popup-card{width:96vw;border-radius:16px}.home-notice-popup-actions{grid-template-columns:1fr auto}.home-notice-popup-actions button{font-size:12px;padding:10px}.home-notice-popup-image-wrap img{max-height:calc(88vh - 58px)}}

/* V12.23.15 — 세트별 알파벳/숫자/대량 혼합 구성 */
#customKujiTypeField,#alphabetRuleNotice,#numberRuleNotice,#bulkSetModeOption{display:none!important}
.set-composition-type-field{margin:4px 0 14px}.set-composition-type-field>label{display:block;font-weight:900;margin-bottom:8px}.set-composition-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.set-composition-type-option{display:block;cursor:pointer}.set-composition-type-option input{position:absolute;opacity:0;pointer-events:none}.set-composition-type-option span{display:flex;min-height:64px;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 8px;border:1px solid #d0d5dd;border-radius:13px;background:#fff;text-align:center;transition:.15s ease}.set-composition-type-option strong{font-size:14px;color:#101828}.set-composition-type-option small{font-size:11px;color:#667085;font-weight:800}.set-composition-type-option.active span,.set-composition-type-option:has(input:checked) span{border-color:#52c7b8;background:#ecfdf8;box-shadow:0 0 0 1px rgba(82,199,184,.18)}.set-composition-type-option.active small,.set-composition-type-option:has(input:checked) small{color:#087f72}.mixed-composition-notice{margin:0 0 14px}.mixed-composition-notice span{display:block;margin-top:3px;line-height:1.55}.mixed-composition-notice.alphabet{background:#fffaf0;border-color:#f3d49b}.mixed-composition-notice.number,.mixed-composition-notice.bulk{background:#f5fbff}.mixed-set-head{margin-bottom:12px}.bulk-set-plate-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.bulk-set-plate-input>span{font-weight:900;color:#344054}.bulk-set-plate-preview{font-weight:800;color:#087f72}.mixed-composition-set-card .composition-readonly-box{margin-top:14px}.final-order-combine-notice{margin:14px 0 16px;background:#fff8e7;border-color:#f2cf72}.final-order-combine-notice strong{display:block;color:#8a4b08;margin-bottom:4px}.final-order-combine-notice span{display:block;line-height:1.55;color:#68440f}
@media(max-width:720px){.set-composition-type-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.set-composition-type-option span{min-height:58px;padding:8px 4px}.set-composition-type-option strong{font-size:12px}.set-composition-type-option small{font-size:10px}.mixed-composition-notice{font-size:12px}}

/* V12.23.15 - 대량 구성 선택 카드의 보조 문구는 1판 35장 / 순차배열 두 줄로 표시 */
.set-composition-type-option small{display:flex;flex-direction:column;gap:1px;line-height:1.25}
.set-composition-type-option small span{display:block}

/* V12.23.20 출고일정 2번 도안 표시 */
.shipping-design-choice{display:inline-block;min-width:74px;font-size:11px;line-height:1.45;font-weight:800;white-space:normal}

/* V12.23.194 복권 모양: 사진 왼쪽 + 선택 오른쪽으로 스크롤 축소 */
@media(max-width:760px){
  .ticket-shape-choice-layout{grid-template-columns:minmax(120px,.9fr) minmax(150px,1.1fr);gap:9px;align-items:start}
  .ticket-shape-guide{border-radius:10px}
  .ticket-shape-choice-side .ticket-shape-options span{padding:10px 8px!important;font-size:11px}
  .ticket-shape-choice-side .notice{font-size:11px!important;line-height:1.45!important;padding:9px!important}
}
@media(max-width:390px){.ticket-shape-choice-layout{grid-template-columns:1fr}.ticket-shape-guide{max-height:175px;object-fit:contain}}

/* V12.23.279 고객 셀프 회원탈퇴 */
.account-withdrawal-card-v123279{border:1px solid #ead6d6;background:#fffdfd}
.account-withdrawal-notice-v123279{display:flex;flex-direction:column;gap:5px;padding:13px 14px;border-radius:12px;background:#fff7f7;color:#7b3f3f;font-size:13px;line-height:1.6}
.account-withdrawal-notice-v123279 strong{color:#9b2c2c}
.account-withdrawal-button-v123279{border-color:#e6b8b8!important;color:#a13a3a!important;background:#fff!important}
.account-withdrawal-modal-card-v123279{max-width:520px}
.account-withdrawal-warning-v123279{padding:14px;border-radius:12px;background:#fff4f4;border:1px solid #f0cccc;color:#713b3b;line-height:1.6}
.account-withdrawal-warning-v123279 strong{color:#a12626}
.account-withdrawal-warning-v123279 p{margin:6px 0 0;font-size:13px}
.account-withdrawal-check-v123279{display:flex;align-items:flex-start;gap:9px;margin-top:16px;font-size:14px;line-height:1.5;cursor:pointer}
.account-withdrawal-check-v123279 input{margin-top:3px}
.account-withdrawal-confirm-v123279{background:#b42318;color:#fff;border:1px solid #b42318}
.account-withdrawal-confirm-v123279:disabled{opacity:.45;cursor:not-allowed}

/* KUJIPRINT V12.23.343 — order edit history + mobile collapsible admin sidebar */
.v343-order-edit-history{margin:0 0 14px;border:1px solid #d8e7e5;border-radius:14px;background:#fff;overflow:hidden}
.v343-order-edit-history>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;padding:13px 14px;background:#f7fffe;font-weight:900;color:#101828}
.v343-order-edit-history>summary::-webkit-details-marker{display:none}
.v343-order-edit-history>summary span{flex:1;min-width:0}
.v343-order-edit-history>summary b{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:4px 8px;border-radius:999px;background:#dffaf5;color:#087f72;font-size:12px}
.v343-order-edit-history>summary i{font-style:normal;color:#667085;font-size:12px;font-weight:800}
.v343-order-edit-history-body{padding:12px 14px 14px;margin:0!important}
.v343-order-edit-history-body .revision-item:first-child{margin-top:0}
.v343-admin-side-toggle{display:none}

@media (max-width:760px), (max-width:1024px) and (hover:none) and (pointer:coarse){
  /* 모바일 세로 + 모바일 가로에서 기본 펼침 좌측 메뉴 + 접기 버튼 사용 */
  .admin-mobile-menu,.admin-menu-overlay{display:none!important}
  .admin-layout{display:grid!important;grid-template-columns:152px minmax(0,1fr)!important;align-items:start;transition:grid-template-columns .2s ease!important;min-width:0!important}
  .admin-side{display:flex!important;flex-direction:column!important;position:sticky!important;left:auto!important;top:0!important;bottom:auto!important;width:152px!important;min-width:0!important;height:100dvh!important;padding:14px 10px 10px!important;transform:none!important;transition:transform .2s ease!important;overflow-y:auto!important;overflow-x:hidden!important;z-index:20!important}
  .admin-brand{gap:7px!important;margin-bottom:14px!important;font-size:13px!important;white-space:nowrap!important}
  .admin-brand img{width:30px!important;height:30px!important}
  .admin-menu{display:grid!important;grid-template-columns:1fr!important;gap:4px!important}
  .admin-menu button{padding:9px 8px!important;font-size:11px!important;white-space:normal!important;line-height:1.25!important}
  .admin-content{width:100%!important;min-width:0!important;padding:14px 8px 24px!important;transition:width .2s ease!important}
  .v343-admin-side-toggle{border:1px solid rgba(255,255,255,.22);background:#344054;color:#fff;border-radius:10px;font-weight:900;letter-spacing:-1px;cursor:pointer}
  #adminSidebarCollapseV343{display:block!important;margin-top:auto;width:100%;padding:9px 8px;position:sticky;bottom:0}
  #adminSidebarExpandV343{display:none;position:fixed;left:0;bottom:18px;z-index:1450;padding:10px 7px;border-radius:0 10px 10px 0;background:#101828;box-shadow:0 8px 20px rgba(16,24,40,.25)}
  body.v343-admin-sidebar-collapsed .admin-layout{grid-template-columns:0 minmax(0,1fr)!important}
  body.v343-admin-sidebar-collapsed .admin-side{transform:translateX(-100%)!important;visibility:hidden!important;pointer-events:none!important}
  body.v343-admin-sidebar-collapsed #adminSidebarExpandV343{display:block!important}
  body.v343-admin-sidebar-collapsed .admin-content{padding-left:8px!important;padding-right:8px!important}
  .v343-order-edit-history>summary{padding:12px;font-size:13px}
  .v343-order-edit-history-body{padding:10px 12px 12px}
}

/* KUJIPRINT V12.23.346 — mobile admin sidebar landscape hard fix
   JS가 실제 터치 모바일/태블릿인 경우 body에 v346-mobile-admin을 추가합니다.
   화면 가로폭이 커져도 모바일 사이드바 접기/펼치기를 그대로 유지합니다. */
body.v346-mobile-admin .admin-mobile-menu,
body.v346-mobile-admin .admin-menu-overlay{display:none!important}
body.v346-mobile-admin .admin-layout{display:grid!important;grid-template-columns:152px minmax(0,1fr)!important;align-items:start!important;transition:grid-template-columns .2s ease!important;min-width:0!important}
body.v346-mobile-admin .admin-side{display:flex!important;flex-direction:column!important;position:sticky!important;left:auto!important;top:0!important;bottom:auto!important;width:152px!important;min-width:0!important;height:100dvh!important;padding:14px 10px 10px!important;transform:none!important;transition:transform .2s ease!important;overflow-y:auto!important;overflow-x:hidden!important;z-index:20!important}
body.v346-mobile-admin .admin-brand{gap:7px!important;margin-bottom:14px!important;font-size:13px!important;white-space:nowrap!important}
body.v346-mobile-admin .admin-brand img{width:30px!important;height:30px!important}
body.v346-mobile-admin .admin-menu{display:grid!important;grid-template-columns:1fr!important;gap:4px!important}
body.v346-mobile-admin .admin-menu button{padding:9px 8px!important;font-size:11px!important;white-space:normal!important;line-height:1.25!important}
body.v346-mobile-admin .admin-content{width:100%!important;min-width:0!important;padding:14px 8px 24px!important;transition:width .2s ease!important}
body.v346-mobile-admin .v343-admin-side-toggle{border:1px solid rgba(255,255,255,.22)!important;background:#344054!important;color:#fff!important;border-radius:10px!important;font-weight:900!important;letter-spacing:-1px!important;cursor:pointer!important}
body.v346-mobile-admin #adminSidebarCollapseV343{display:block!important;margin-top:auto!important;width:100%!important;padding:9px 8px!important;position:sticky!important;bottom:0!important}
body.v346-mobile-admin #adminSidebarExpandV343{display:none!important;position:fixed!important;left:0!important;bottom:18px!important;z-index:1450!important;padding:10px 7px!important;border-radius:0 10px 10px 0!important;background:#101828!important;box-shadow:0 8px 20px rgba(16,24,40,.25)!important}
body.v346-mobile-admin.v343-admin-sidebar-collapsed .admin-layout{grid-template-columns:0 minmax(0,1fr)!important}
body.v346-mobile-admin.v343-admin-sidebar-collapsed .admin-side{transform:translateX(-100%)!important;visibility:hidden!important;pointer-events:none!important;width:152px!important}
body.v346-mobile-admin.v343-admin-sidebar-collapsed #adminSidebarExpandV343{display:block!important}
body.v346-mobile-admin.v343-admin-sidebar-collapsed .admin-content{width:100%!important;min-width:0!important;padding-left:8px!important;padding-right:8px!important}

/* V12.23.381: 관리자 공지 썸네일 및 다중 공지 전환 */
.home-popup-admin-box .settings-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.home-popup-admin-box .home-popup-image-field img{width:auto;max-width:280px;max-height:185px;aspect-ratio:auto;object-fit:contain;justify-self:start}
.home-popup-admin-box .home-popup-image-field{max-width:360px}
.home-popup-admin-box .popup-extra-divider{border-top:1px solid #e5e7eb;padding-top:15px;margin-top:10px}
.home-notice-popup-navigation{justify-content:space-between;align-items:center;padding:8px 12px;background:white;border-top:1px solid #eef2f6;font-weight:700}
.home-notice-popup-navigation button{background:#eefbf8;color:#087f67;border:0;border-radius:8px;padding:8px 16px;font-weight:700;cursor:pointer}
@media(max-width:560px){.home-popup-admin-box .settings-fields{grid-template-columns:1fr}.home-popup-admin-box .home-popup-image-field img{max-width:200px;max-height:140px}}
