﻿:root{--line:#d9dde5;--text:#111827;--muted:#667085;--blue:#2563eb;--red:#d90429;--yellow:#FFFFFF;--bg:#f6f7f9}*{box-sizing:border-box}body{margin:0;font-family:'LG스마트체 Regular','LG Smart UI','Noto Sans KR',Arial,sans-serif;color:var(--text);background:var(--bg)}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:14px 22px;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.logo{width:42px;height:42px;border-radius:50%;background:#a50034;color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}h1{font-size:26px;margin:0}.brand p{margin:2px 0 0;color:var(--muted);font-size:13px}.top-actions{display:flex;gap:8px}.btn{border:1px solid var(--line);background:#fff;border-radius:8px;height:38px;padding:0 14px;font-weight:700;cursor:pointer}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.ghost:hover{background:#f1f5f9}.layout{display:grid;grid-template-columns:clamp(280px,22vw,360px) minmax(0,1fr);gap:14px;padding:14px;align-items:start;width:100%;max-width:100%;overflow:visible}.summary-card{position:relative;top:auto;background:#fff;border:1px solid var(--line);padding:18px;border-radius:10px}.summary-title{text-align:center;font-size:22px;font-weight:800;line-height:1.45;color:#111111}.divider{height:2px;background:#7B1028;margin:22px 0}.summary-row{display:flex;align-items:flex-end;justify-content:space-between;margin:14px 0}.summary-row span{font-size:17px;font-weight:700;color:#7B1028}.summary-row strong{font-size:28px;white-space:nowrap;color:#111111}.benefit-list{display:grid;gap:10px;margin:20px 0}.benefit-list div{display:flex;justify-content:space-between;align-items:center;font-size:15px;color:#7B1028}.benefit-list b{white-space:nowrap;color:#7B1028}.yellow-box{background:#fff;border:2px solid #7B1028;padding:18px 14px;margin:20px 0;min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:8px}.yellow-box span{font-size:18px;font-weight:800;white-space:nowrap;color:#7B1028}.yellow-box strong{font-size:30px;color:#111111;white-space:nowrap}.yellow-box.small{min-height:74px}.workspace{display:grid;gap:14px}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px}.panel h2{margin:0 0 12px;font-size:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.hint{color:var(--muted);font-size:13px}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px 14px}.form-grid.compact{grid-template-columns:repeat(2,minmax(160px,1fr))}label{display:grid;gap:6px;font-size:14px;font-weight:700}input,select{width:100%;height:38px;border:1px solid var(--line);border-radius:7px;padding:0 10px;font-size:15px;background:#fff}.span2{grid-column:span 2}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}.quote-table{width:100%;min-width:min(1180px, calc(100vw - 24px));border-collapse:collapse;table-layout:fixed}.quote-table th,.quote-table td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:8px;text-align:center;vertical-align:middle}.quote-table th{background:#f8fafc;font-size:14px}.quote-table tr:last-child td{border-bottom:0}.quote-table th:last-child,.quote-table td:last-child{border-right:0}.col-no{width:54px}.col-wedding{width:82px}.col-sub,.col-small{width:64px}.col-cat{width:130px}.col-model{width:360px}.col-care{width:190px}.col-contract{width:95px}.col-prepay{width:110px}.col-fee{width:130px}.col-price{width:150px}.col-action{width:58px}.model-input{font-size:16px;font-weight:700;letter-spacing:.2px}.category{font-weight:700;background:#f8fafc}.small-check{width:18px;height:18px;accent-color:var(--blue)}.mini-check{display:flex;grid-template-columns:none;align-items:center;justify-content:center;gap:4px;font-size:13px;white-space:nowrap}.mini-check input{width:15px;height:15px}.delete-row{width:30px;height:30px;border:0;border-radius:6px;background:#fee2e2;color:#b91c1c;font-size:20px;font-weight:800;cursor:pointer}.reg-price.hidden-by-sub{display:none}.table-actions{display:flex;gap:8px;margin-top:12px}.note{font-size:13px;color:var(--muted);margin:12px 0 0}.options-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.promo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.promo-grid div{border:1px solid var(--line);border-radius:10px;padding:14px;background:#fbfcfe}.promo-grid span{display:block;font-weight:800}.promo-grid b{display:block;color:#111111;font-size:22px;margin:8px 0}.promo-grid em{display:block;font-style:normal;color:var(--muted);font-size:12px}@media(max-width:900px){.layout{grid-template-columns:1fr}.form-grid,.options-grid,.promo-grid{grid-template-columns:1fr}.span2{grid-column:span 1}}
.allstar-base-row {
  border-top: 2px solid #111;
  padding-top: 14px;
  margin-top: 18px;
}
.allstar-base-row span {
  font-size: 16px;
  font-weight: 800;
}
.allstar-base-row strong {
  font-size: 24px;
}


/* v19 brand header */
.top-brand{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:28px;
  padding:18px 24px;
  background:#fff;
  border-radius:18px;
  box-shadow:0 4px 14px rgba(0,0,0,0.08);
}

.top-brand h1{
  margin:0;
  font-size:34px;
  font-weight:900;
  letter-spacing:-1px;
  color:#222;
}

.lg-logo-wrap{
  display:flex;
  align-items:center;
  gap:14px;
}

.lg-logo-circle{
  width:64px;
  height:64px;
  border-radius:50%;
  background:#a50034;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:26px;
  font-weight:900;
}

.lg-logo-text{
  font-size:28px;
  font-weight:900;
  color:#666;
}


/* v20 fixes */
.col-cat input.category{
  font-size: clamp(9px, 0.85vw, 13px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
}
.col-prepay-amount{width:130px}
.prepay-amount{text-align:right}
.allstar-base-row{
  border-top:2px solid #111;
  margin-top:18px;
  padding-top:14px;
}
.allstar-base-row span{font-size:16px;font-weight:900}
.allstar-base-row strong{font-size:24px}
input[type="date"], label:has(input[type="date"]){font-weight:900}


/* v21 logo */
.top-brand{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:18px 24px;
  background:#fff;
  border-radius:18px;
  box-shadow:0 4px 14px rgba(0,0,0,0.08);
  margin-bottom:24px;
}

.lg-brand-row{
  display:flex;
  align-items:center;
  gap:18px;
}

.lg-real-logo{
  height:62px;
  width:auto;
  object-fit:contain;
}

.brand-title-text{
  font-size:34px;
  font-weight:900;
  letter-spacing:-1px;
  color:#222;
}

/* 품목칸 자동축소 */
.col-cat,
.col-cat select,
.category{
  font-size:clamp(8px,0.72vw,13px)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  width:100%;
}

td.col-cat{
  max-width:90px;
}


/* v22 logo update */
.lg-real-logo{
  height:58px !important;
  width:auto;
  object-fit:contain;
}


/* v23 remove extra LG circle */
.lg-logo-circle,
.logo{
  display:none !important;
}


/* v24 */

.lg-real-logo{
  height:60px !important;
  width:auto;
  object-fit:contain;
}

.col-model{
  width:260px !important;
}

.col-model input,
.model-input{
  width:100%;
  font-size:clamp(8px,0.9vw,14px)!important;
  transform-origin:left center;
  white-space:nowrap!important;
}

/* 품목칸 글자 전체 표시 */
.col-cat,
.col-cat input,
.col-cat select,
.category{
  width:100%;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:unset!important;
  font-size:clamp(7px,0.72vw,13px)!important;
  letter-spacing:-0.6px;
}

.col-reg{width:140px}
.col-fee{width:140px}
.reg-price,.monthly-fee{
  text-align:right;
  font-weight:700;
}

/* v25 fixes */
.col-cat{width:120px!important; min-width:120px!important;}
.col-cat input.category,
.category{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  font-size:clamp(8px,0.65vw,12px)!important;
  letter-spacing:-0.9px!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  text-align:center!important;
}
.inshop-base-row{
  border-top:1px solid #555;
  padding-top:10px;
  margin-top:10px;
}
.inshop-base-row span{font-size:16px;font-weight:900}
.inshop-base-row strong{font-size:24px}

/* v26 */
.hidden{display:none!important}
.card-add-row{
  display:grid;
  grid-template-columns:1fr 120px auto;
  gap:8px;
  margin-top:10px;
}
.cash-usage-control{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
}
.cash-usage-control .mini-btn{
  min-width:86px;
  height:38px;
  padding:0 10px;
  white-space:nowrap;
}
.custom-card-list{
  margin-top:8px;
  display:grid;
  gap:6px;
}
.custom-card-list .custom-card-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  border:1px solid #e5e7eb;
  border-radius:8px;
  padding:7px 10px;
  background:#f8fafc;
  font-size:13px;
}
.custom-card-list button{
  border:0;
  background:#fee2e2;
  color:#991b1b;
  border-radius:5px;
  cursor:pointer;
}

/* v30 calculation engine reset */
.cash-card-add-row{grid-template-columns:1fr 130px 130px auto!important}
.hidden{display:none!important}
.engine-error{
  position:fixed;right:16px;bottom:16px;background:#991b1b;color:#fff;
  padding:12px 14px;border-radius:10px;z-index:9999;font-size:13px;display:none;
}

/* v31 */
.sub-card-add-row{grid-template-columns:1fr 1fr auto!important}
.prepay-affiliate-row{
  display:grid;
  grid-template-columns:minmax(100px,1fr) 132px 78px;
  gap:8px;
  align-items:end;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #e5e7eb;
}
.prepay-affiliate-row label{
  min-width:0;
}
.prepay-affiliate-card-field,
.prepay-affiliate-amount-field{
  white-space:nowrap;
  font-size:13px;
}
.prepay-affiliate-amount-field input{
  text-align:center;
  font-weight:800;
}
.prepay-affiliate-full-btn{
  width:78px;
  min-width:78px;
  height:38px;
  padding:0 8px;
  white-space:nowrap;
}
@media(max-width:900px){
  .prepay-affiliate-row{
    grid-template-columns:minmax(100px,1fr) 132px 78px;
  }
}
@media(max-width:430px){
  .prepay-affiliate-row{
    grid-template-columns:1fr;
  }
  .prepay-affiliate-full-btn{
    width:100%;
  }
}
#finalBenefitPrice{
  font-size:clamp(22px, 1.9vw, 32px)!important;
  white-space:nowrap!important;
  max-width:100%;
  overflow:hidden;
  text-overflow:clip;
}
.yellow-box{
  overflow:hidden;
}
.inshop-cashback-row.hidden{display:none!important}

/* v38 AC3 visible card */
#ac3PromoCard.hidden{display:none!important}
#ac3PromoCard{
  border:2px solid #d90429!important;
  background:#fff7f7!important;
}
#ac3PromoCard span{
  font-weight:900!important;
}
#ac3PromoCard b{
  color:#d90429!important;
}


/* v40 final benefit box */
.final-price-box{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  padding-top:10px!important;
}

.final-price-box .final-label{
  
  top:8px!important;
  left:12px!important;
  font-size:18px!important;
  font-weight:900!important;
  line-height:1!important;
}

#finalBenefitPrice{
  width:100%!important;
  text-align:right!important;
  margin-top:28px!important;
}


/* v41 final benefit redesign */
.final-benefit-wrap{
  margin-top:14px;
  margin-bottom:18px;
}

.final-benefit-title{
  font-size:20px;
  font-weight:900;
  margin-bottom:6px;
  padding-left:2px;
}

.final-price-box{
  background:#ffef00!important;
  border:2px solid #111!important;
  min-height:72px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  padding:0 16px!important;
  box-sizing:border-box!important;
}

#finalBenefitPrice{
  font-size:32px!important;
  font-weight:900!important;
  color:#d90429!important;
  line-height:1!important;
  margin:0!important;
  text-align:right!important;
  width:100%!important;
}


/* v42 final benefit + logo fix */
.topbar,
header.topbar{
  height:auto!important;
  min-height:96px!important;
  overflow:visible!important;
  align-items:center!important;
  padding-top:18px!important;
  padding-bottom:18px!important;
}

.brand,
.top-brand,
.lg-brand-row,
.lg-logo-wrap{
  overflow:visible!important;
  height:auto!important;
  min-height:72px!important;
  align-items:center!important;
}

.lg-real-logo{
  display:block!important;
  height:54px!important;
  max-height:54px!important;
  width:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
  overflow:visible!important;
}

.logo,
.lg-logo-circle{
  display:none!important;
}

/* 최종 혜택가: 제목은 박스 밖 위, 노란 박스는 금액만 */
.final-benefit-wrap{
  margin-top:14px!important;
  margin-bottom:18px!important;
}

.final-benefit-title{
  font-size:20px!important;
  font-weight:900!important;
  color:#000!important;
  margin:0 0 5px 0!important;
  padding:0!important;
  line-height:1.15!important;
}

.final-price-box{
  background:#ffef00!important;
  border:2px solid #111!important;
  min-height:62px!important;
  height:62px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  padding:0 14px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

.final-price-box #finalBenefitPrice,
#finalBenefitPrice{
  font-size:30px!important;
  font-weight:900!important;
  color:#d90429!important;
  line-height:1!important;
  margin:0!important;
  padding:0!important;
  text-align:right!important;
  width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}

/* 기존 yellow-box 스타일이 최종혜택가에 먹는 경우 차단 */
.final-benefit-wrap .yellow-box,
.final-benefit-wrap .small{
  all:unset;
}


/* v43 logo crop fix */
header,
.topbar,
.header,
.header-inner,
.brand-row,
.brand-wrap,
.logo-wrap,
.logo-area{
  overflow:visible !important;
}

.topbar{
  min-height:110px !important;
  padding:20px 24px !important;
  display:flex !important;
  align-items:center !important;
}

.logo-wrap,
.brand-wrap{
  display:flex !important;
  align-items:center !important;
  min-width:320px !important;
  flex-shrink:0 !important;
}

img,
.lg-real-logo{
  overflow:visible !important;
}

.lg-real-logo{
  height:64px !important;
  width:auto !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:left center !important;
  display:block !important;
  margin-right:18px !important;
}

/* 제목 밀림 방지 */
.main-title,
.page-title{
  margin-left:8px !important;
}


/* v44 final benefit exact layout */
.final-benefit-wrap{
  margin:14px 0 18px 0 !important;
  padding:0 !important;
}

.final-benefit-title{
  display:block !important;
  font-size:20px !important;
  font-weight:900 !important;
  line-height:1.1 !important;
  color:#000 !important;
  margin:0 0 6px 0 !important;
  padding:0 !important;
  text-align:left !important;
}

.final-benefit-wrap .final-price-box{
  width:100% !important;
  height:62px !important;
  min-height:62px !important;
  background:#FFFFFF !important;
  border:2px solid #111 !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  padding:0 14px !important;
  overflow:hidden !important;
}

.final-benefit-wrap .final-price-box #finalBenefitPrice{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  font-size:30px !important;
  font-weight:900 !important;
  line-height:1 !important;
  color:#111111 !important;
  text-align:right !important;
  white-space:nowrap !important;
}


/* v45 hard override: header/logo */
.fixed-brand-header{
  position:relative!important;
  min-height:86px!important;
  height:86px!important;
  padding:12px 18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  overflow:visible!important;
  background:#fff!important;
}

.fixed-logo-wrap{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  min-width:520px!important;
  height:70px!important;
  overflow:visible!important;
  flex-shrink:0!important;
}

.fixed-logo-wrap .lg-real-logo{
  height:50px!important;
  width:auto!important;
  min-width:auto!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:left center!important;
  display:block!important;
  flex-shrink:0!important;
  clip-path:none!important;
  overflow:visible!important;
}

.fixed-main-title{
  font-size:30px!important;
  font-weight:900!important;
  color:#111!important;
  line-height:1!important;
  white-space:nowrap!important;
}

.fixed-brand-header .brand,
.fixed-brand-header .top-brand,
.fixed-brand-header .logo,
.fixed-brand-header .lg-logo-circle,
.fixed-brand-header p{
  display:none!important;
}

/* v45 hard override: final benefit */
.summary-card .final-benefit-wrap{
  margin:14px 0 18px 0!important;
  padding:0!important;
  display:block!important;
}

.summary-card .final-benefit-title{
  display:block!important;
  font-size:20px!important;
  font-weight:900!important;
  line-height:1.15!important;
  color:#000!important;
  margin:0 0 6px 0!important;
  padding:0!important;
  text-align:left!important;
}

.summary-card .final-benefit-wrap .final-price-box{
  width:100%!important;
  height:62px!important;
  min-height:62px!important;
  background:#FFFFFF!important;
  border:2px solid #111!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  padding:0 14px!important;
  overflow:hidden!important;
}

.summary-card .final-benefit-wrap #finalBenefitPrice{
  display:block!important;
  width:100%!important;
  font-size:30px!important;
  font-weight:900!important;
  line-height:1!important;
  color:#111111!important;
  text-align:right!important;
  white-space:nowrap!important;
  margin:0!important;
  padding:0!important;
}

/* 기존 최종 혜택가 span이 노란박스 안에 남는 경우 숨김 */
.summary-card .final-price-box span,
.summary-card .yellow-box span:has(+ #finalBenefitPrice){
  display:none!important;
}


/* v46 definitive logo fix */
.fixed-brand-header{
  width:100%!important;
  min-height:88px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:14px 22px!important;
  box-sizing:border-box!important;
  background:#fff!important;
  overflow:visible!important;
}

.brand-left{
  display:flex!important;
  align-items:center!important;
  gap:22px!important;
  width:auto!important;
  min-width:620px!important;
  overflow:visible!important;
  flex-shrink:0!important;
}

.brand-logo-image{
  display:block!important;
  width:240px!important;
  height:auto!important;
  max-width:240px!important;
  min-width:240px!important;
  object-fit:contain!important;
  object-position:left center!important;
  overflow:visible!important;
  flex-shrink:0!important;
}

.brand-title-text{
  font-size:28px!important;
  font-weight:900!important;
  color:#111!important;
  white-space:nowrap!important;
  line-height:1!important;
}

/* 기존 잘림 원인 제거 */
.topbar *{
  overflow:visible!important;
}

.topbar img{
  clip-path:none!important;
  mask:none!important;
}

/* 예전 제목 숨김 */
.fixed-main-title,
.topbar h1,
.topbar .main-title{
  display:none!important;
}


/* v47 clean header */
.clean-header{
  width:100%;
  height:92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 24px;
  background:#fff;
  box-sizing:border-box;
  border-bottom:1px solid #ddd;
}

.clean-brand{
  display:flex;
  align-items:center;
  gap:20px;
}

.clean-logo{
  width:220px;
  height:auto;
  display:block;
  object-fit:contain;
}

.clean-title{
  font-size:30px;
  font-weight:900;
  color:#111;
  white-space:nowrap;
}

/* old header disable */
.topbar,
.fixed-brand-header,
.brand-left,
.fixed-logo-wrap,
.fixed-main-title,
.brand-title-text,
.brand-logo-image{
  all:unset;
}


/* v48 admin settings */
.admin-modal.hidden{display:none!important}
.admin-modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.45);
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.admin-panel{
  width:min(920px, 96vw);
  max-height:90vh;
  overflow:auto;
  background:#fff;
  border-radius:16px;
  box-shadow:0 16px 40px rgba(0,0,0,.25);
  padding:20px;
}
.admin-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid #e5e7eb;
  padding-bottom:12px;
}
.admin-head h2{margin:0;font-size:24px}
.admin-close{
  border:0;
  background:#111;
  color:#fff;
  width:34px;
  height:34px;
  border-radius:8px;
  font-size:22px;
  cursor:pointer;
}
.admin-tabs{
  display:flex;
  gap:8px;
  margin:16px 0;
}
.admin-tab{
  border:1px solid #d1d5db;
  background:#fff;
  border-radius:8px;
  padding:9px 14px;
  font-weight:800;
  cursor:pointer;
}
.admin-tab.active{
  background:#2563eb;
  color:#fff;
  border-color:#2563eb;
}
.admin-section{display:none}
.admin-section.active{display:block}
.admin-section h3{margin:10px 0 14px}
.admin-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(160px,1fr));
  gap:12px;
}
.admin-grid label{
  display:grid;
  gap:6px;
  font-weight:800;
}
.admin-grid input{
  height:38px;
  border:1px solid #d1d5db;
  border-radius:8px;
  padding:0 10px;
}
.admin-actions{
  display:flex;
  gap:8px;
  margin-top:14px;
  flex-wrap:wrap;
}
.admin-footer{
  border-top:1px solid #e5e7eb;
  margin-top:18px;
  padding-top:14px;
  display:flex;
  justify-content:flex-end;
}
#adminDataJson{
  width:100%;
  height:220px;
  border:1px solid #d1d5db;
  border-radius:10px;
  padding:12px;
  font-family:monospace;
  resize:vertical;
}
.btn.danger{
  background:#dc2626;
  color:#fff;
  border-color:#dc2626;
}
.admin-note{
  color:#64748b;
  font-size:13px;
}
.manager-account-table-wrap{
  width:100%;
  margin-top:14px;
  overflow:auto;
  border:1px solid #e5e7eb;
  border-radius:10px;
}
.manager-account-table{
  width:100%;
  min-width:760px;
  border-collapse:collapse;
  font-size:13px;
}
.manager-account-table th,
.manager-account-table td{
  border-bottom:1px solid #e5e7eb;
  padding:9px 10px;
  text-align:left;
  vertical-align:middle;
}
.manager-account-table th{
  background:#f8fafc;
  color:#111827;
  font-weight:900;
}
.manager-account-table tr:last-child td{
  border-bottom:0;
}
.manager-delete-btn{
  height:30px;
  padding:0 10px;
  border-radius:7px;
  font-size:12px;
}
@media(max-width:800px){
  .admin-grid{grid-template-columns:1fr}
}

/* v49 admin excel upload */
.excel-upload-box{
  display:flex;
  gap:10px;
  align-items:center;
  border:1px solid #e5e7eb;
  background:#f8fafc;
  border-radius:10px;
  padding:12px;
  margin-bottom:8px;
}
.excel-upload-box input[type=file]{
  flex:1;
  height:auto;
  padding:8px;
  background:#fff;
}


/* v50 admin login + server ready */
.admin-login-panel{
  width:min(420px, 94vw);
  background:#fff;
  border-radius:16px;
  box-shadow:0 16px 40px rgba(0,0,0,.25);
  padding:20px;
}
.admin-login-body{
  display:grid;
  gap:14px;
  padding-top:16px;
}
.admin-login-body label{
  display:grid;
  gap:6px;
  font-weight:900;
}
.admin-login-body input{
  height:42px;
  border:1px solid #d1d5db;
  border-radius:8px;
  padding:0 12px;
  font-size:15px;
}
.admin-login-error{
  margin:0;
  color:#dc2626;
  font-weight:900;
  font-size:14px;
}
.admin-login-error.hidden{display:none!important}
.server-ready-box{
  background:#f8fafc;
  border:1px solid #d1d5db;
  border-radius:10px;
  padding:12px;
  margin-bottom:14px;
  color:#334155;
  line-height:1.5;
}


/* v51 admin modal stabilization */
#adminLoginModal:not(.hidden),
#adminModal:not(.hidden){
  display:flex!important;
}
#adminLoginModal.hidden,
#adminModal.hidden{
  display:none!important;
}


.version-badge{
  position:fixed;
  top:14px;
  right:18px;
  z-index:9999;
  background:#c8102e;
  color:#fff;
  padding:6px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.2px;
  box-shadow:0 2px 8px rgba(0,0,0,.15);
}

#resetBtn{
  background:#374151;
  color:#fff;
}

#resetBtn:hover{
  background:#1f2937;
}


/* Version 1 logo hard guard */
:root{
  --lg-logo-src: url("data:image/png;base64,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");
}

header,
.clean-header,
.topbar,
.fixed-brand-header,
.brand-left,
.clean-brand,
.fixed-logo-wrap,
.logo-wrap,
.brand-wrap {
  overflow: visible !important;
}

.quote-logo-wrap,
.clean-brand,
.brand-left {
  display: flex !important;
  align-items: center !important;
  min-width: 260px !important;
  min-height: 58px !important;
  flex-shrink: 0 !important;
  overflow: visible !important;
}

.quote-logo-img,
.clean-logo,
.brand-logo-image,
.lg-real-logo {
  display: block !important;
  width: 220px !important;
  min-width: 220px !important;
  max-width: 220px !important;
  height: auto !important;
  max-height: 58px !important;
  object-fit: contain !important;
  object-position: left center !important;
  clip-path: none !important;
  mask: none !important;
  -webkit-mask: none !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
  flex-shrink: 0 !important;
}

/* 이미지 로딩 실패 시 CSS 배경 로고로 대체 */
.quote-logo-img.logo-fallback {
  width: 220px !important;
  height: 50px !important;
  content: var(--lg-logo-src) !important;
  background-image: var(--lg-logo-src) !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: left center !important;
}


/* Version 1 title only mode */
.main-title,
.page-title,
.hero-title,
.clean-main-title,
h1,
.title-text{
  font-weight: 900 !important;
  letter-spacing: -0.8px !important;
  color:#111 !important;
}

header h1,
header .title,
header .main-title{
  font-size: 34px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
}

.clean-header,
header,
.topbar{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}


/* Version 1 clean header - final override */
.v1-header{
  width:100% !important;
  min-height:74px !important;
  height:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  padding:14px 22px !important;
  box-sizing:border-box !important;
  background:#ffffff !important;
  border-bottom:1px solid #e5e7eb !important;
  box-shadow:0 2px 10px rgba(15,23,42,.06) !important;
  overflow:visible !important;
  position:relative !important;
}

.v1-title-wrap{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:0 !important;
  flex:1 1 auto !important;
  overflow:visible !important;
  border:0 !important;
  background:transparent !important;
  padding:0 !important;
  margin:0 !important;
  font:inherit !important;
  text-align:left !important;
  cursor:pointer !important;
}

.v1-title-wrap:focus-visible{
  outline:2px solid #9a0928 !important;
  outline-offset:4px !important;
  border-radius:10px !important;
}

.v1-main-title{
  font-size:30px !important;
  font-weight:900 !important;
  line-height:1.1 !important;
  color:#111827 !important;
  letter-spacing:-1.1px !important;
  white-space:nowrap !important;
}

.v1-version{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#111827 !important;
  color:#fff !important;
  border-radius:999px !important;
  padding:5px 10px !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

.v1-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  flex:0 0 auto !important;
  overflow:visible !important;
}

.v1-actions .btn,
.v1-actions button{
  height:34px !important;
  padding:0 12px !important;
  border-radius:8px !important;
  font-size:13px !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}

/* Remove old logo/header artifacts */
.quote-logo-img,
.clean-logo,
.brand-logo-image,
.lg-real-logo,
.quote-logo-wrap,
.logo,
.lg-logo-circle,
.version-badge{
  display:none !important;
}

.clean-header,
.topbar,
.fixed-brand-header{
  overflow:visible !important;
}

/* Prevent previous title rules from distorting the clean header */
.v1-header h1,
.v1-header .main-title,
.v1-header .page-title,
.v1-header .clean-main-title{
  all:unset !important;
}

@media(max-width:900px){
  .v1-header{
    align-items:flex-start !important;
    flex-direction:column !important;
  }
  .v1-main-title{
    font-size:24px !important;
    white-space:normal !important;
  }
  .v1-actions{
    flex-wrap:wrap !important;
    justify-content:flex-start !important;
  }
}


/* Version 1 multi save/load */
.quote-list-panel{
  width:min(720px, 94vw)!important;
}
.quote-list-box{
  display:grid;
  gap:10px;
  margin-top:16px;
}
.quote-list-item{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:8px;
  align-items:center;
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:12px;
  background:#fff;
}
.quote-list-title{
  font-weight:900;
  color:#111827;
}
.quote-list-meta{
  display:block;
  margin-top:4px;
  color:#64748b;
  font-size:12px;
}
.quote-list-empty{
  padding:24px;
  text-align:center;
  color:#64748b;
  border:1px dashed #cbd5e1;
  border-radius:12px;
}
.quote-list-item button{
  height:32px;
  border-radius:8px;
  border:1px solid #d1d5db;
  padding:0 10px;
  font-weight:800;
  cursor:pointer;
}
.quote-list-load{
  background:#2563eb;
  color:#fff;
  border-color:#2563eb!important;
}
.quote-list-delete{
  background:#fff;
  color:#dc2626;
}


/* Version 1 user login gate */
body.login-locked{
  overflow:hidden!important;
}

body.login-locked > *:not(#userLoginGate):not(#pwChangeModal){
  filter:blur(2px);
  pointer-events:none;
  user-select:none;
}

.user-login-gate{
  position:fixed;
  inset:0;
  z-index:2147483647;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100vh;
  padding:28px 18px;
  box-sizing:border-box;
  background:linear-gradient(145deg, #101827 0%, #07101d 54%, #020915 100%);
}

.user-login-gate.hidden{
  display:none!important;
}

.login-panel{
  width:min(304px, calc(100vw - 36px));
  display:flex;
  flex-direction:column;
  align-items:center;
}

.user-login-card{
  width:100%;
  background:#fff;
  border:1px solid #d8dee8;
  border-radius:14px;
  padding:28px 26px 24px;
  box-shadow:0 20px 48px rgba(0,0,0,.32);
  box-sizing:border-box;
}

.user-login-card h1{
  margin:0 0 22px;
  font-size:20px;
  font-weight:900;
  letter-spacing:0;
  color:#06111f;
  line-height:1.2;
}

.user-login-card p{
  margin:0 0 24px;
  color:#3f4b5c;
  font-size:12px;
  font-weight:800;
  line-height:1.45;
}

.update-notice-badge{
  width:100%;
  height:29px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 0 20px;
  border:1px solid #f4b9c7;
  border-radius:999px;
  background:#fff0f4;
  color:#9a0928;
  box-sizing:border-box;
  font-size:12px;
  font-weight:900;
}

.user-login-card label{
  display:grid;
  gap:9px;
  margin:0 0 20px;
  color:#111827;
  font-size:13px;
  font-weight:900;
}

.user-login-card input{
  width:100%;
  height:39px;
  border:1px solid #d4dce8;
  border-radius:8px;
  padding:0 12px;
  box-sizing:border-box;
  background:#fff;
  color:#111827;
  font-size:13px;
  font-weight:800;
}

.user-login-card input:focus{
  outline:none;
  border-color:#9a0928;
  box-shadow:0 0 0 1px #9a0928;
}

#userLoginBtn,
#openPwChangeBtn{
  width:100%;
  height:39px;
  border-radius:8px;
  box-sizing:border-box;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}

#userLoginBtn{
  margin:5px 0 20px;
  border:1px solid #900822;
  background:#900822;
  color:#fff;
}

#openPwChangeBtn{
  border:1px solid #d9e0ea;
  background:#fff;
  color:#111827;
}

.user-login-error{
  margin:-8px 0 14px;
  color:#dc2626;
  background:#fef2f2;
  border:1px solid #fecaca;
  border-radius:8px;
  padding:9px 10px;
  font-weight:900;
  font-size:12px;
}

.user-login-error.hidden{
  display:none!important;
}




/* Version 1 batch fixes */
.after-card-row strong{color:#d90429!important;font-weight:900!important}
.quote-list-modal-fix{z-index:99999}


/* Version 1 login button click fix */
#userLoginGate{
  pointer-events:auto!important;
  z-index:2147483647!important;
}
#userLoginGate *{
  pointer-events:auto!important;
}
#userLoginBtn{
  cursor:pointer!important;
  pointer-events:auto!important;
  position:relative!important;
  z-index:2147483647!important;
}


/* Login runtime fix */
#userLoginGate{
  display:flex;
  pointer-events:auto!important;
}
#userLoginGate.hidden{
  display:none!important;
}
#userLoginBtn,
#userLoginId,
#userLoginPw{
  pointer-events:auto!important;
}



/* LG Smart Regular Global Font */
@font-face{
  font-family:'LGSmart';
  src:
    local('LG Smart UI Regular'),
    local('LG Smart Regular'),
    local('LG스마트체 Regular');
  font-weight:400;
  font-style:normal;
}

html,
body,
button,
input,
select,
textarea,
option,
table,
thead,
tbody,
tr,
td,
th,
div,
span,
p,
label,
strong,
b,
em,
small,
h1,
h2,
h3,
h4,
h5,
h6{
  font-family:'LGSmart','Malgun Gothic','Apple SD Gothic Neo',sans-serif!important;
}

input::placeholder,
textarea::placeholder{
  font-family:'LGSmart','Malgun Gothic','Apple SD Gothic Neo',sans-serif!important;
}


/* 올스타 비적용 시 기준금액 숨김 */
.allstar-base-row.hidden{
  display:none!important;
}


/* 올스타 기준금액 표시 보정 v2 */
.allstar-base-row.hidden{
  display:none!important;
}

/* 입력용 T47:Y51 일시불 제휴카드 */
.cashcard-table{border:1px solid #d1d5db;border-radius:10px;overflow:hidden;background:#fff}
.cashcard-head{font-weight:900;background:#f1f5f9;padding:10px 12px;border-bottom:1px solid #d1d5db}
.cashcard-row{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:0;align-items:center;border-bottom:1px solid #e5e7eb}
.cashcard-row:last-child{border-bottom:0}
.cashcard-row>div,.cashcard-row>label,.cashcard-row>input,.cashcard-row>b{padding:9px 10px}
.cashcard-row-head{font-weight:900;background:#fafafa}
.cashcard-pay{height:34px;border:1px solid #d1d5db;border-radius:7px;margin:5px 8px;padding:0 8px}
.cashcard-benefit{text-align:right;color:#111827}

/* 일시불 제휴카드 이전 UI 복구 */
.cashcard-table{display:none!important}

/* 일시불 제휴카드 수기 추가 */
.cash-card-manual-add{
  margin-top:10px;
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr auto;
  gap:8px;
}
.cash-card-manual-add input{
  height:36px;
  border:1px solid #d1d5db;
  border-radius:8px;
  padding:0 10px;
  font-weight:800;
}
@media(max-width:900px){
  .cash-card-manual-add{grid-template-columns:1fr}
}


/* Version 1 Mobile Layout Fix */
@media (max-width: 768px){
  html, body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    background:#f5f7fb!important;
  }
  body{
    margin:0!important;
    padding:0!important;
    font-size:14px!important;
  }
  .v1-header{
    position:sticky!important;
    top:0!important;
    z-index:1000!important;
    display:block!important;
    padding:10px 10px!important;
    min-height:auto!important;
    background:#fff!important;
    border-bottom:1px solid #e5e7eb!important;
  }
  .v1-title-wrap{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    width:100%!important;
    margin-bottom:8px!important;
  }
  .v1-main-title{
    font-size:15px!important;
    line-height:1.2!important;
    letter-spacing:-.5px!important;
    white-space:normal!important;
    flex:1!important;
  }
  .v1-version{
    font-size:9px!important;
    padding:3px 6px!important;
  }
  .v1-actions{
    display:grid!important;
    grid-template-columns:repeat(5, 1fr)!important;
    gap:5px!important;
    width:100%!important;
  }
  .v1-actions .btn,
  .v1-actions button{
    width:100%!important;
    min-width:0!important;
    height:30px!important;
    padding:0 3px!important;
    font-size:10px!important;
    border-radius:6px!important;
  }
  .layout{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    padding:8px!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
  }
  .summary-card,
  .workspace,
  .panel,
  .product-panel{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .summary-card{
    order:1!important;
    padding:12px 10px!important;
    border-radius:10px!important;
  }
  .workspace{
    order:2!important;
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
  }
  .summary-title{
    font-size:15px!important;
    line-height:1.35!important;
    margin-bottom:8px!important;
  }
  .summary-row{
    font-size:13px!important;
    margin:7px 0!important;
  }
  .summary-row strong{
    font-size:18px!important;
  }
  .benefit-list div{
    font-size:12px!important;
    margin:5px 0!important;
  }
  .yellow-box{
    min-height:48px!important;
    padding:8px!important;
    border-width:1px!important;
  }
  .yellow-box strong,
  .yellow-box.small strong{
    font-size:22px!important;
  }
  .panel{
    padding:12px 10px!important;
    border-radius:10px!important;
  }
  .panel h2{
    font-size:15px!important;
    margin:0 0 8px!important;
  }
  .form-grid,
  .form-grid.compact,
  .options-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  label{
    font-size:12px!important;
  }
  input,
  select,
  textarea{
    width:100%!important;
    max-width:100%!important;
    height:34px!important;
    font-size:13px!important;
    box-sizing:border-box!important;
  }
  .table-wrap{
    width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    border:1px solid #e5e7eb!important;
    border-radius:8px!important;
  }
  .quote-table{
    width:max-content!important;
    min-width:920px!important;
    table-layout:auto!important;
    font-size:12px!important;
  }
  .quote-table th,
  .quote-table td{
    padding:5px!important;
    white-space:nowrap!important;
  }
  .quote-table input,
  .quote-table select{
    height:30px!important;
    font-size:12px!important;
  }
  .quote-table .col-model input,
  .model-input{
    min-width:180px!important;
  }
  .table-actions{
    display:flex!important;
    gap:6px!important;
    margin-top:8px!important;
  }
  .table-actions .btn{
    flex:1!important;
    height:34px!important;
    font-size:12px!important;
  }
  .cash-card-manual-add{
    grid-template-columns:1fr!important;
    gap:6px!important;
  }
  .promo-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .promo-grid > div{
    min-height:auto!important;
    padding:10px!important;
  }
  .promo-grid b{
    font-size:18px!important;
  }
  .admin-modal,
  .user-login-gate{
    padding:12px!important;
  }
  .admin-panel,
  .admin-login-panel,
  .quote-list-panel{
    width:96vw!important;
    max-width:96vw!important;
    max-height:90vh!important;
    overflow:auto!important;
  }
}
@media (max-width: 420px){
  .v1-main-title{
    font-size:13px!important;
  }
  .v1-actions{
    grid-template-columns:repeat(3, 1fr)!important;
  }
  .summary-row strong{
    font-size:16px!important;
  }
  .yellow-box strong{
    font-size:20px!important;
  }
}

/* Customer tab */
.v1-view-tabs{display:flex;align-items:center;gap:6px;margin-right:10px}
.view-tab{height:34px;padding:0 14px;border:1px solid #d1d5db;border-radius:9px;background:#fff;color:#111827;font-weight:900;cursor:pointer}
.view-tab.active{background:#111827;color:#fff;border-color:#111827}
.hidden{display:none!important}
.customer-view{width:100%;padding:18px;background:#f5f7fb;box-sizing:border-box}
.customer-sheet{max-width:1180px;margin:0 auto;background:#fff;border:2px solid #111;box-shadow:0 8px 24px rgba(15,23,42,.08)}
.customer-title-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#7B1028;border-bottom:2px solid #7B1028}
.customer-brand-title{font-size:30px;font-weight:900;letter-spacing:-1.2px;color:#FFFFFF}
.customer-version{background:#111827;color:#fff;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:900}
.customer-info-grid{display:grid;grid-template-columns:1fr 1fr 2fr 1.3fr;border-bottom:2px solid #111}
.customer-basic-grid{display:grid;grid-template-columns:1fr 1.3fr 2fr 1.1fr;border-bottom:2px solid #111}
.customer-info-grid>div,.customer-basic-grid>div{display:flex;align-items:center;min-height:42px;border-right:1px solid #111}
.customer-info-grid>div:last-child,.customer-basic-grid>div:last-child{border-right:0}
.customer-info-grid span,.customer-basic-grid span{min-width:86px;height:100%;display:flex;align-items:center;justify-content:center;background:#FFFFFF;border-right:1px solid #111;font-weight:900}
.customer-info-grid b,.customer-basic-grid b{flex:1;text-align:center;padding:0 10px;font-weight:900}
.customer-basic-grid .wide b{text-align:left}
.customer-main-grid{display:grid;grid-template-columns:270px 1fr;border-bottom:2px solid #111}
.customer-summary{padding:16px 14px;border-right:2px solid #111}
.customer-greeting{min-height:84px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;font-size:20px;font-weight:900;line-height:1.45}
.customer-line{border-top:3px solid #111;margin:14px 0}
.c-row{display:flex;justify-content:space-between;align-items:center;margin:8px 0;font-weight:900}
.c-row.major b{font-size:26px}
.c-detail{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin:7px 0;font-weight:800}
.c-final-box{margin-top:12px;min-height:58px;border:2px solid #111;background:#FFFFFF;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;box-sizing:border-box}
.c-final-box span{font-weight:900}.c-final-box b{color:#111111;font-size:28px;font-weight:900}.c-final-box.small b{font-size:26px}
.customer-products{padding:14px;position:relative}.customer-table-logo{font-size:13px;font-weight:900;color:#777;margin:0 0 4px}
.customer-product-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px}
.customer-product-table th{background:#FFFFFF;border:1px solid #999;padding:8px 6px;font-weight:900}
.customer-product-table td{border:1px solid #aaa;padding:7px 6px;height:28px;text-align:center;font-weight:800}
.customer-product-table td.model{text-align:left;font-size:13px}.customer-product-table tr:nth-child(even) td{background:#FFF5F7}
.customer-membership{text-align:right;margin-top:10px;font-weight:900}
.customer-bottom-grid{display:grid;grid-template-columns:1fr 1fr;border-bottom:2px solid #111}
.customer-description{border-right:2px solid #111}
.customer-description h2,.customer-care h2{margin:0;padding:16px;background:#FFFFFF;border-bottom:2px solid #111;text-align:center;font-size:26px;font-weight:900;letter-spacing:2px}
.customer-description table,.customer-care table{width:100%;border-collapse:collapse}
.customer-description th,.customer-description td,.customer-care th,.customer-care td{border:1px solid #aaa;padding:12px 10px;font-size:14px;line-height:1.35}
.customer-description th,.customer-care th{width:120px;background:#FFF5F7;font-size:16px;font-weight:900}
.care-total{display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:14px 20px;background:#FFFFFF;border-top:2px solid #111}
.care-total span{font-size:25px;font-weight:900}.care-total b{color:#d90429;font-size:28px;font-weight:900}
.customer-notice{padding:12px 18px;font-size:13px;color:#334155;font-weight:800}

.customer-title-bar{
  min-height:56px!important;
  padding:10px 14px!important;
}
.customer-brand-title{
  font-size:26px!important;
  line-height:1.1!important;
}
.customer-info-grid{
  grid-template-columns:90px 165px 90px 155px 90px 1.8fr 100px 160px!important;
  display:grid!important;
}
.customer-info-grid>div,
.customer-basic-grid>div{
  min-height:44px!important;
  border-right:1px solid #111!important;
}
.customer-info-grid span,
.customer-basic-grid span{
  min-width:72px!important;
  width:72px!important;
  padding:0 4px!important;
  font-size:14px!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}
.customer-info-grid b,
.customer-basic-grid b{
  font-size:14px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  line-height:1.2!important;
}
#cQuoteDate,
#cDeliveryDate{
  font-size:13px!important;
  letter-spacing:-.6px!important;
}
.customer-basic-grid{
  grid-template-columns:90px 165px 90px 155px 90px 1.8fr 100px 160px!important;
  display:grid!important;
}
.customer-basic-grid .wide b{
  text-align:left!important;
}
.customer-main-grid{
  grid-template-columns:290px 1fr!important;
}
.customer-summary{
  padding:14px 16px!important;
}
.customer-products{
  padding:14px 16px!important;
}
.customer-product-table{
  table-layout:fixed!important;
  font-size:13px!important;
}
.customer-product-table th:nth-child(1),
.customer-product-table td:nth-child(1){
  width:48px!important;
}
.customer-product-table th:nth-child(2),
.customer-product-table td:nth-child(2){
  width:86px!important;
}
.customer-product-table th:nth-child(3),
.customer-product-table td:nth-child(3){
  width:135px!important;
}
.customer-product-table th:nth-child(4),
.customer-product-table td:nth-child(4){
  width:210px!important;
}
.customer-product-table th:nth-child(5),
.customer-product-table td:nth-child(5){
  width:auto!important;
}
.customer-product-table th,
.customer-product-table td{
  padding:6px 5px!important;
  height:30px!important;
}
.customer-product-table td.model{
  text-align:center!important;
  font-size:12px!important;
  font-weight:900!important;
  word-break:break-all!important;
}
.customer-product-table td.note-cell{
  text-align:center!important;
  line-height:1.25!important;
  font-size:12px!important;
  word-break:keep-all!important;
}
.row-note-input{
  min-width:160px!important;
  width:100%!important;
  height:30px!important;
  font-size:12px!important;
}
.quote-table th:last-child,
.quote-table td:last-child{
  width:44px!important;
}
@media(max-width:768px){
  .customer-info-grid,
  .customer-basic-grid{
    grid-template-columns:1fr!important;
  }
  .customer-info-grid>div,
  .customer-basic-grid>div{
    border-right:0!important;
    border-bottom:1px solid #111!important;
  }
  .customer-info-grid span,
  .customer-basic-grid span{
    width:90px!important;
    min-width:90px!important;
  }
  .customer-product-table{
    min-width:820px!important;
  }
}

.customer-note-editor{
  width:100%;
  min-height:42px;
  border:0;
  background:transparent;
  resize:vertical;
  font-size:12px;
  line-height:1.3;
  font-weight:700;
  padding:4px;
  box-sizing:border-box;
  font-family:inherit;
}
.customer-note-editor:focus{
  outline:1px solid #111827;
  background:#fff;
}

/* 고객용 비고 직접입력 보정 */
.col-note{min-width:180px!important}
.row-note-input{
  min-width:160px!important;
  width:100%!important;
  height:30px!important;
  font-size:12px!important;
  box-sizing:border-box!important;
}
.customer-note-editor{
  width:100%!important;
  min-height:42px!important;
  border:0!important;
  background:transparent!important;
  resize:vertical!important;
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:800!important;
  padding:4px!important;
  box-sizing:border-box!important;
  font-family:inherit!important;
  text-align:center!important;
}
.customer-note-editor:focus{
  outline:1px solid #111827!important;
  background:#fff!important;
}
.customer-product-table td.note-cell{
  padding:2px!important;
  vertical-align:middle!important;
}

/* 고객용 상단 기본정보/고객정보 테이블 정렬 보정 */
.customer-info-grid,
.customer-basic-grid{
  display:none!important;
}
.customer-info-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  border-bottom:2px solid #111;
}
.customer-info-table th,
.customer-info-table td{
  border:1px solid #111;
  height:42px;
  padding:4px 8px;
  box-sizing:border-box;
  vertical-align:middle;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.customer-info-table th{
  width:84px;
  background:#FFFFFF;
  font-size:14px;
  font-weight:900;
  text-align:center;
}
.customer-info-table td{
  font-size:14px;
  font-weight:900;
  text-align:center;
}
.customer-info-table td#cBranch{
  width:300px;
}
.customer-info-table td#cMemo{
  text-align:left;
}
#cQuoteDate,
#cDeliveryDate{
  font-size:13px!important;
  letter-spacing:-0.6px!important;
}
@media(max-width:768px){
  .customer-info-table,
  .customer-info-table tbody,
  .customer-info-table tr,
  .customer-info-table th,
  .customer-info-table td{
    display:block;
    width:100%!important;
  }
  .customer-info-table tr{
    border-bottom:1px solid #111;
  }
  .customer-info-table th{
    height:28px;
    line-height:20px;
    border-bottom:0;
  }
  .customer-info-table td{
    height:36px;
    border-top:0;
  }
}

/* 최종 점검 보정: 고객용 상단 표/선납 오류 수정본 */
.customer-info-table{
  width:100%!important;
  border-collapse:collapse!important;
  table-layout:fixed!important;
  border-bottom:2px solid #111!important;
}
.customer-info-table col.c-label{width:72px!important}
.customer-info-table col.c-date{width:168px!important}
.customer-info-table col.c-manager{width:130px!important}
.customer-info-table col.c-branch{width:auto!important}
.customer-info-table th,
.customer-info-table td{
  display:table-cell!important;
  border:1px solid #111!important;
  height:42px!important;
  padding:4px 8px!important;
  box-sizing:border-box!important;
  vertical-align:middle!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  line-height:1.15!important;
}
.customer-info-table th{
  background:#FFFFFF!important;
  font-size:13px!important;
  font-weight:900!important;
  text-align:center!important;
}
.customer-info-table td{
  background:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
  text-align:center!important;
}
#cBranch{
  font-size:12px!important;
  letter-spacing:-.4px!important;
}
#cMemo{
  text-align:left!important;
}
#cQuoteDate,
#cDeliveryDate{
  font-size:12px!important;
  letter-spacing:-.7px!important;
}
@media(max-width:768px){
  .customer-info-table col{width:auto!important}
  .customer-info-table,
  .customer-info-table tbody{
    display:table!important;
    width:100%!important;
  }
  .customer-info-table tr{
    display:grid!important;
    grid-template-columns:76px 1fr!important;
    border-bottom:0!important;
  }
  .customer-info-table th,
  .customer-info-table td{
    display:block!important;
    width:auto!important;
    min-height:34px!important;
    height:auto!important;
  }
  .customer-info-table th{
    border-right:1px solid #111!important;
  }
}


/* 구형 고객정보 영역 완전 제거 */
.customer-info-grid,
.customer-basic-grid,
.customer-info-row,
.customer-basic-row{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  overflow:hidden !important;
}

/* 고객용 상단 잔여 텍스트 방어 */
.customer-sheet > .customer-info-grid,
.customer-sheet > .customer-basic-grid{
  display:none!important;
}

/* 고객용 상단 정보표 최종 고정 */
.customer-info-table{
  width:100%!important;
  border-collapse:collapse!important;
  table-layout:fixed!important;
  border-bottom:2px solid #111!important;
}
.customer-info-table col.c-label{width:72px!important}
.customer-info-table col.c-date{width:170px!important}
.customer-info-table col.c-manager{width:135px!important}
.customer-info-table col.c-branch-label{width:72px!important}
.customer-info-table col.c-branch{width:auto!important}
.customer-info-table th,
.customer-info-table td{
  display:table-cell!important;
  border:1px solid #111!important;
  height:42px!important;
  padding:4px 8px!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  vertical-align:middle!important;
  line-height:1.15!important;
}
.customer-info-table th{
  background:#FFFFFF!important;
  font-size:13px!important;
  font-weight:900!important;
  text-align:center!important;
}
.customer-info-table td{
  background:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
  text-align:center!important;
}
#cBranch{font-size:12px!important;letter-spacing:-.4px!important}
#cMemo{text-align:left!important}
#cQuoteDate,#cDeliveryDate{font-size:12px!important;letter-spacing:-.7px!important}

/* Emergency customer layout reset */
#customerView.customer-view{width:100%!important;padding:18px!important;background:#f5f7fb!important;box-sizing:border-box!important;display:block}
#customerView.hidden{display:none!important}
.customer-sheet{width:1180px!important;max-width:calc(100vw - 36px)!important;margin:0 auto!important;background:#fff!important;border:2px solid #111!important;box-shadow:0 8px 24px rgba(15,23,42,.08)!important;display:block!important}
.customer-title-bar{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:54px!important;padding:10px 14px!important;background:#7B1028!important;border-bottom:2px solid #7B1028!important;box-sizing:border-box!important}
.customer-brand-title{font-size:24px!important;line-height:1.15!important;font-weight:900!important;color:#FFFFFF!important}
.customer-version{flex:0 0 auto!important;background:#111827!important;color:#fff!important;border-radius:999px!important;padding:6px 12px!important;font-size:12px!important;font-weight:900!important}
.customer-info-table{width:100%!important;border-collapse:collapse!important;table-layout:fixed!important;display:table!important}
.customer-info-table col.ci-label{width:76px!important}.customer-info-table col.ci-date{width:170px!important}.customer-info-table col.ci-manager{width:150px!important}.customer-info-table col.ci-branch{width:auto!important}
.customer-info-table th,.customer-info-table td{display:table-cell!important;border:1px solid #111!important;height:42px!important;padding:4px 8px!important;vertical-align:middle!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:13px!important;line-height:1.15!important;box-sizing:border-box!important}
.customer-info-table th{background:#FFFFFF!important;font-weight:900!important}.customer-info-table td{background:#fff!important;font-weight:900!important}
.customer-main-grid{display:grid!important;grid-template-columns:290px 1fr!important;align-items:stretch!important;border-top:1px solid #111!important;border-bottom:2px solid #111!important}
.customer-summary{display:block!important;padding:14px 16px!important;border-right:2px solid #111!important;background:#fff!important}
.customer-products{display:block!important;padding:14px 16px!important;background:#fff!important;overflow:hidden!important}
.customer-product-table{width:100%!important;border-collapse:collapse!important;table-layout:fixed!important}
.customer-product-table th:nth-child(1),.customer-product-table td:nth-child(1){width:50px!important}.customer-product-table th:nth-child(2),.customer-product-table td:nth-child(2){width:86px!important}.customer-product-table th:nth-child(3),.customer-product-table td:nth-child(3){width:135px!important}.customer-product-table th:nth-child(4),.customer-product-table td:nth-child(4){width:220px!important}.customer-product-table th:nth-child(5),.customer-product-table td:nth-child(5){width:auto!important}
.customer-product-table th,.customer-product-table td{border:1px solid #aaa!important;padding:6px 5px!important;text-align:center!important;vertical-align:middle!important;font-size:13px!important}
.customer-product-table th{background:#FFFFFF!important;font-weight:900!important}.customer-product-table tr:nth-child(even) td{background:#FFF5F7!important}
.customer-bottom-grid{display:grid!important;grid-template-columns:1fr 1fr!important;border-bottom:2px solid #111!important}.customer-description{border-right:2px solid #111!important}
.customer-note-editor{width:100%!important;min-height:34px!important;border:0!important;background:transparent!important;resize:vertical!important;text-align:center!important;font:inherit!important;font-size:12px!important;font-weight:800!important;box-sizing:border-box!important}.customer-note-editor:focus{outline:1px solid #111827!important;background:#fff!important}
.customer-base-row{display:flex!important;justify-content:space-between!important;align-items:center!important;border-top:1px solid #111!important;margin-top:12px!important;padding-top:10px!important;font-weight:900!important}.customer-base-row b{font-size:20px!important}
@media(max-width:768px){.customer-sheet{width:100%!important;max-width:100%!important}.customer-info-table,.customer-info-table tbody{display:table!important;width:100%!important}.customer-info-table tr{display:grid!important;grid-template-columns:90px 1fr!important}.customer-info-table th,.customer-info-table td{display:block!important;width:auto!important}.customer-main-grid,.customer-bottom-grid{grid-template-columns:1fr!important}.customer-summary{border-right:0!important;border-bottom:2px solid #111!important}.customer-products{overflow-x:auto!important}.customer-product-table{min-width:820px!important}}

/* Requested final visual adjustments */
.customer-base-row{display:none!important}
#cMemo{text-align:center!important}
.customer-info-table .valid-label,
.customer-info-table th{font-size:15px!important;letter-spacing:-0.3px!important}
.customer-info-table th,.customer-info-table td{
  height:48px!important;
  font-size:15px!important;
  padding:5px 8px!important;
}
.customer-info-table col.ci-label{width:88px!important}
.customer-info-table col.ci-date{width:175px!important}
.customer-info-table col.ci-manager{width:155px!important}
.customer-info-table col.ci-branch{width:auto!important}
.customer-valid-input{
  width:100%!important;
  height:34px!important;
  border:0!important;
  background:transparent!important;
  text-align:center!important;
  font-weight:900!important;
  font-size:15px!important;
  font-family:inherit!important;
  padding:0!important;
}
.customer-valid-input:focus{
  outline:1px solid #111827!important;
  background:#fff!important;
}
body,input,select,textarea,button{
  font-size:15px!important;
}
.customer-brand-title{font-size:28px!important}
.customer-summary{font-size:15px!important}
.c-row.major b{font-size:28px!important}
.c-detail{font-size:15px!important}
.c-final-box b{font-size:34px!important}
.customer-product-table th,.customer-product-table td{
  font-size:14px!important;
  padding:8px 6px!important;
}
.customer-description h2,.customer-care h2{font-size:25px!important}
.customer-description th,.customer-description td,.customer-care th,.customer-care td{font-size:15px!important}
.customer-note-editor{
  min-height:42px!important;
  font-size:14px!important;
}
.row-note-input{
  min-width:160px!important;
}

/* Requested verified adjustments */
.customer-base-row{display:none!important}
.customer-final-label{display:none!important}
#cMemo{text-align:center!important}
.customer-info-table th,.customer-info-table td{
  height:50px!important;
  font-size:16px!important;
  padding:5px 8px!important;
}
.customer-info-table .valid-label{
  font-size:14px!important;
  letter-spacing:-0.9px!important;
  white-space:normal!important;
  line-height:1.1!important;
}
.customer-info-table col.ci-label{width:94px!important}
.customer-info-table col.ci-date{width:178px!important}
.customer-info-table col.ci-manager{width:160px!important}
.customer-info-table col.ci-branch{width:auto!important}
#cBranch{
  font-size:16px!important;
  letter-spacing:-0.2px!important;
}
.customer-valid-input{
  width:100%!important;
  height:36px!important;
  border:0!important;
  background:transparent!important;
  text-align:center!important;
  font-weight:900!important;
  font-size:16px!important;
  font-family:inherit!important;
  padding:0!important;
}
.customer-valid-input:focus{
  outline:1px solid #111827!important;
  background:#fff!important;
}
body,input,select,textarea,button{
  font-size:15px!important;
}
.customer-brand-title{font-size:28px!important}
.customer-summary{font-size:15px!important}
.c-row.major b{font-size:29px!important}
.c-detail{font-size:15px!important}
.c-final-box b{font-size:35px!important}
.customer-product-table th,.customer-product-table td{
  font-size:15px!important;
  padding:8px 6px!important;
}
.customer-product-table td.model{
  font-size:16px!important;
  font-weight:900!important;
  letter-spacing:-0.2px!important;
}
.customer-description h2,.customer-care h2{font-size:25px!important}
.customer-description th,.customer-description td,.customer-care th,.customer-care td{font-size:15px!important}
.customer-note-editor{
  min-height:42px!important;
  font-size:14px!important;
}
.row-note-input{min-width:160px!important}


/* Care setting modal */
.modal-hidden-col{display:none!important}
.col-care-setting{width:96px!important}
.care-setting-btn{
  min-width:74px;height:34px;border-radius:8px;border:1px solid #cbd5e1;
  font-weight:900;cursor:pointer;background:#f8fafc;color:#334155;
}
.care-setting-btn.need{background:#c8102e;color:#fff;border-color:#c8102e}
.care-setting-btn.done{background:#e5e7eb;color:#111827;border-color:#cbd5e1}
.care-setting-btn.off{background:#fff;color:#64748b}
.care-modal{
  position:fixed;inset:0;z-index:3000;background:rgba(15,23,42,.42);
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.care-modal.hidden{display:none!important}
.care-modal-panel{
  width:min(920px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:16px;
  border:1px solid #d1d5db;box-shadow:0 22px 60px rgba(15,23,42,.28);
}
.care-modal-head{
  display:flex;align-items:center;justify-content:space-between;padding:20px 24px;
  border-bottom:1px solid #e5e7eb;
}
.care-modal-head h2{margin:0;font-size:24px;font-weight:900}
.care-modal-x{border:0;background:#fff;font-size:34px;line-height:1;cursor:pointer;color:#111827}
.care-modal-info{
  display:grid;grid-template-columns:1fr 2fr;margin:16px 24px;border:1px solid #d1d5db;border-radius:8px;overflow:hidden;
}
.care-modal-info div{display:grid;grid-template-columns:90px 1fr;min-height:48px}
.care-modal-info span{background:#f3f4f6;display:flex;align-items:center;justify-content:center;font-weight:900;border-right:1px solid #d1d5db}
.care-modal-info b{display:flex;align-items:center;padding:0 18px;font-size:16px}
.care-modal-body{display:grid;grid-template-columns:1fr 330px;gap:28px;padding:4px 24px 18px}
.care-step{margin:18px 0}
.care-step h3{display:flex;align-items:center;gap:8px;font-size:17px;margin:0 0 10px;font-weight:900}
.care-step h3 span,.care-step.two-col b{
  display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:#c8102e;color:#fff;font-size:13px;font-weight:900;margin-right:6px;
}
.pill-row{display:flex;gap:10px;flex-wrap:wrap}
.care-pill{display:inline-flex;align-items:center;gap:8px;min-width:110px;height:44px;padding:0 14px;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font-weight:900;background:#fff}
.care-pill input{width:16px;height:16px;accent-color:#c8102e}
.care-pill.active{border-color:#c8102e;background:#fff7f8;color:#c8102e}
.care-step.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.care-step.two-col label{font-weight:900}
.care-step.two-col select{margin-top:8px;width:100%;height:42px;border:1px solid #d1d5db;border-radius:8px;padding:0 12px;font-weight:900}
.care-prepay-line{display:flex;align-items:center;gap:8px;font-weight:900}
.care-prepay-line input{width:20px;height:20px;accent-color:#c8102e}
.care-prepay-line em{font-style:normal;color:#64748b;font-size:13px}
.care-calc-card{border:1px solid #d1d5db;border-radius:12px;padding:22px;background:#fff}
.care-calc-card h3{margin:0 0 18px;font-size:18px}
.care-calc-card h3 small{font-size:13px;color:#64748b}
.care-calc-card div{display:flex;justify-content:space-between;align-items:center;margin:14px 0;font-weight:900}
.care-calc-card b{font-size:17px}
.care-calc-card div:not(.care-final) b{color:#c8102e}
.care-calc-card hr{border:0;border-top:1px solid #cbd5e1;margin:18px 0}
.care-final b{font-size:30px!important;color:#c8102e!important}
.care-calc-card .care-service-box{
  display:block;
  margin:18px 0 0;
  padding-top:16px;
  border-top:1px dashed #d1d5db;
  font-weight:900;
}
.care-service-btn{
  width:100%;
  min-height:44px;
  border:1px solid #c8102e;
  border-radius:9px;
  background:#fff7f8;
  color:#9f1239;
  font-size:15px;
  font-weight:900;
  cursor:pointer;
}
.care-service-btn:hover{background:#ffe4e8}
.care-modal-note{margin:0 24px 18px;padding:14px 16px;border:1px solid #d1d5db;border-radius:8px;background:#f8fafc;color:#475569}
.care-modal-actions{display:flex;justify-content:center;gap:18px;padding:0 24px 24px}
.care-modal-actions .btn{width:180px;height:44px;font-size:16px;font-weight:900}
@media(max-width:900px){
  .care-modal-body{grid-template-columns:1fr}
  .care-modal-info{grid-template-columns:1fr}
}

.promo-grid [data-promo-detail]{
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.promo-grid [data-promo-detail]:hover{
  transform:translateY(-1px);
  border-color:#c8102e;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
}
.promo-detail-panel{
  width:min(860px,96vw);
}
.promo-detail-summary{
  margin:18px 24px 0;
  padding:14px 16px;
  border:1px solid #fecdd3;
  border-radius:10px;
  background:#fff7f8;
  color:#7b1028;
  font-weight:900;
}
.promo-detail-body{
  padding:18px 24px 4px;
  overflow:auto;
}
.promo-detail-table{
  width:100%;
  border-collapse:collapse;
  min-width:640px;
}
.promo-detail-table th,
.promo-detail-table td{
  border:1px solid #d1d5db;
  padding:9px 10px;
  text-align:center;
  font-size:14px;
  line-height:1.35;
}
.promo-detail-table th{
  background:#f3f4f6;
  font-weight:900;
}
.promo-detail-table td:nth-child(4){
  text-align:left;
  font-weight:900;
}
.promo-detail-empty{
  padding:26px;
  border:1px dashed #cbd5e1;
  border-radius:10px;
  text-align:center;
  color:#64748b;
  font-weight:900;
}
.promo-model-list-control{
  display:flex;
  justify-content:center;
  padding:6px 24px 0;
}
.promo-model-list-control.hidden,
.promo-model-list-body.hidden{
  display:none!important;
}
.promo-model-list-control .btn{
  min-width:180px;
  height:40px;
  font-weight:900;
}
.promo-model-list-body{
  margin:14px 24px 0;
  max-height:320px;
  overflow:auto;
  border:1px solid #d1d5db;
  border-radius:10px;
  background:#fff;
}
.promo-model-list-section{
  padding:14px 16px;
  border-bottom:1px solid #e5e7eb;
}
.promo-model-list-section:last-child{
  border-bottom:0;
}
.promo-model-list-section h3{
  margin:0 0 10px;
  color:#8f0d2b;
  font-size:16px;
  font-weight:900;
}
.promo-model-list-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px;
}
.promo-model-list-group{
  border:1px solid #e5e7eb;
  border-radius:8px;
  background:#f8fafc;
  padding:10px;
}
.promo-model-list-group b{
  display:block;
  margin-bottom:7px;
  font-size:14px;
  color:#111827;
}
.promo-model-list-group ul{
  list-style:none;
  margin:0;
  padding:0;
}
.promo-model-list-group li{
  padding:3px 0;
  font-size:13px;
  font-weight:800;
  color:#334155;
  word-break:break-all;
}
.wedding-plan-toolbar{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  padding:0 0 14px;
}
.wedding-plan-toolbar .btn{
  min-width:128px;
  height:40px;
  padding:0 16px;
  border-radius:8px;
  font-weight:900;
  text-align:center;
}
.wedding-plan-panel{
  width:min(680px,94vw);
  max-height:min(760px,92vh);
  overflow:auto;
}
.wedding-plan-summary{
  margin:18px 26px 0;
  padding:14px 18px;
  border:1px solid #fecdd3;
  border-radius:8px;
  background:#fff7f8;
  color:#7b1028;
  font-weight:900;
  line-height:1.45;
}
.wedding-plan-body{
  display:grid;
  gap:12px;
  padding:20px 26px 6px;
}
.wedding-plan-body label{
  display:grid;
  grid-template-columns:104px minmax(0,1fr);
  align-items:center;
  gap:12px;
  font-weight:900;
}
.wedding-plan-body span{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:44px;
  border:1px solid #d1d5db;
  border-radius:8px;
  background:#f3f4f6;
  color:#111827;
  white-space:nowrap;
}
.wedding-plan-body select{
  width:100%;
  min-height:44px;
  border:1px solid #cbd5e1;
  border-radius:8px;
  padding:0 12px;
  font-weight:900;
  background:#fff;
  color:#111827;
}
#weddingPlanModal .care-modal-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  padding:18px 26px 24px;
}
#weddingPlanModal .care-modal-actions .btn{
  width:100%;
  min-height:48px;
  border-radius:10px;
  font-size:15px;
  font-weight:900;
}
@media(max-width:640px){
  .wedding-plan-toolbar{
    display:grid;
    grid-template-columns:1fr;
  }
  .wedding-plan-toolbar .btn{
    width:100%;
  }
  .wedding-plan-panel{
    width:min(94vw,520px);
  }
  .wedding-plan-body label{
    grid-template-columns:1fr;
    gap:7px;
  }
  #weddingPlanModal .care-modal-actions{
    grid-template-columns:1fr;
  }
}

/* 선납 30/50 및 비고 제거 보정 */
.col-note,.row-note-input{display:none!important}
.customer-product-table th:nth-child(1),.customer-product-table td:nth-child(1){width:54px!important}
.customer-product-table th:nth-child(2),.customer-product-table td:nth-child(2){width:92px!important}
.customer-product-table th:nth-child(3),.customer-product-table td:nth-child(3){width:150px!important}
.customer-product-table th:nth-child(4),.customer-product-table td:nth-child(4){width:auto!important}
.customer-product-table td.model{font-size:16px!important;font-weight:900!important}
.quote-table .col-model,.quote-table td.col-model{min-width:260px!important}
.quote-table .model-input{font-size:14px!important;font-weight:800!important}
.prepay-pill-row{display:flex;gap:10px;flex-wrap:wrap}
.prepay-pill{min-width:120px}

/* Restore consult table layout like wide full table */
.quote-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
.quote-table th,
.quote-table td{
  font-size:13px!important;
  padding:7px 6px!important;
  line-height:1.2!important;
  vertical-align:middle!important;
  text-align:center!important;
}
.quote-table input,
.quote-table select,
.quote-table button{
  height:34px!important;
  font-size:13px!important;
  font-weight:800!important;
  box-sizing:border-box!important;
}
.quote-table .category{
  width:100%!important;
  font-size:14px!important;
  font-weight:900!important;
  text-align:center!important;
}
.quote-table .model-input{
  width:100%!important;
  font-size:13px!important;
  font-weight:900!important;
}
.quote-table .col-no{width:44px!important}
.quote-table .col-wedding{width:78px!important}
.quote-table .col-sub{width:62px!important}
.quote-table .col-cat{width:120px!important}
.quote-table .col-model{width:260px!important}
.quote-table .col-reg{width:150px!important}
.quote-table .col-fee{width:150px!important}
.quote-table .col-point{width:120px!important}
.quote-table .col-cashback{width:120px!important}
.quote-table .col-care-setting{width:110px!important}
.quote-table .col-action{width:60px!important}
.modal-hidden-col{display:none!important}

/* Customer note restored */
.customer-product-table th:nth-child(1),.customer-product-table td:nth-child(1){width:54px!important}
.customer-product-table th:nth-child(2),.customer-product-table td:nth-child(2){width:90px!important}
.customer-product-table th:nth-child(3),.customer-product-table td:nth-child(3){width:140px!important}
.customer-product-table th:nth-child(4),.customer-product-table td:nth-child(4){width:230px!important}
.customer-product-table th:nth-child(5),.customer-product-table td:nth-child(5){width:auto!important}
.customer-product-table td.model{
  font-size:10pt!important;
  font-weight:900!important;
  word-break:break-all!important;
}
.customer-note-editor{
  width:100%!important;
  min-height:34px!important;
  border:0!important;
  background:transparent!important;
  resize:vertical!important;
  font-size:10pt!important;
  font-weight:800!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
.customer-note-editor:focus{outline:1px solid #111827!important;background:#fff!important}

/* Prepay display and customer overflow */
.customer-sheet{overflow:hidden!important;box-sizing:border-box!important}
.customer-final-benefit-box{justify-content:flex-end!important}
.customer-final-benefit-box .customer-final-label{display:none!important}
.customer-final-benefit-box b,#cFinalBenefit{margin-left:auto!important;text-align:right!important;width:100%!important;display:block!important}
.prepay-pay-row b{color:#111827!important}
#cMemo{text-align:center!important}

/* FINAL LAYOUT REPAIR: 상담용 grid 복구 */
.prepay-pay-row b,#prepayPayTotal{
  color:#111827!important;
}

/* CUSTOMER TAB DIRECT A4 PRINT */
@media print{
  @page{size:A4 portrait;margin:4mm}
  html,body{
    width:202mm!important;height:289mm!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#fff!important;
    -webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;
  }
  body *{visibility:hidden!important}
  #customerView,#customerView *{visibility:visible!important}
  .v1-header,#consultView,#userLoginGate,#pwChangeModal,#careModal,.admin-modal,#logoutBtn{display:none!important}
  #customerView,#customerView.hidden{
    display:block!important;left:0!important;top:0!important;width:202mm!important;height:289mm!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#fff!important;
  }
  .customer-sheet{
    width:202mm!important;height:289mm!important;max-width:202mm!important;margin:0!important;padding:0!important;border:1.2px solid #111!important;box-shadow:none!important;background:#fff!important;box-sizing:border-box!important;overflow:hidden!important;transform:none!important;zoom:1!important;
  }
  .customer-title-bar{
    height:12mm!important;min-height:12mm!important;padding:0 4mm!important;display:flex!important;align-items:center!important;justify-content:space-between!important;background:#FFFFFF!important;border-bottom:1.2px solid #111!important;box-sizing:border-box!important;
  }
  .customer-brand-title{font-size:13pt!important;line-height:1!important;font-weight:900!important}
  .customer-version{font-size:7.5pt!important;padding:1.2mm 2.5mm!important}
  .customer-info-table{display:table!important;width:100%!important;height:18mm!important;table-layout:fixed!important;border-collapse:collapse!important}
  .customer-info-table tbody{display:table-row-group!important}
  .customer-info-table tr{display:table-row!important}
  .customer-info-table th,.customer-info-table td{
    display:table-cell!important;height:9mm!important;border:1px solid #111!important;padding:1mm!important;vertical-align:middle!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:7.5pt!important;line-height:1!important;box-sizing:border-box!important;
  }
  .customer-info-table th{background:#FFFFFF!important;font-weight:900!important}
  .customer-info-table td{background:#fff!important;font-weight:800!important}
  .customer-valid-input{width:100%!important;height:6mm!important;border:0!important;background:transparent!important;text-align:center!important;font-size:7.5pt!important;font-weight:900!important;padding:0!important}
  .customer-main-grid{display:grid!important;grid-template-columns:48mm 1fr!important;width:100%!important;height:158mm!important;border-top:0!important;border-bottom:1.2px solid #111!important;box-sizing:border-box!important}
  .customer-summary{width:48mm!important;height:158mm!important;padding:3mm!important;border-right:1.2px solid #111!important;box-sizing:border-box!important;overflow:hidden!important}
  .customer-greeting{min-height:22mm!important;font-size:10.5pt!important;line-height:1.35!important;text-align:center!important;font-weight:900!important;display:block!important}
  .customer-line{border-top:1.2px solid #111!important;margin:3mm 0!important}
  .c-row.major{display:flex!important;justify-content:space-between!important;align-items:center!important;margin:2mm 0!important;font-weight:900!important}
  .c-row.major span{font-size:8pt!important}.c-row.major b{font-size:15pt!important}
  .c-detail{display:flex!important;justify-content:space-between!important;align-items:center!important;margin:1mm 0!important;font-size:7.2pt!important;line-height:1!important;font-weight:900!important}
  .c-detail b{font-size:7.2pt!important}
  .c-final-box{min-height:12mm!important;margin:3mm 0!important;padding:1.5mm 2mm!important;background:#FFFFFF!important;border:1.2px solid #111!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;box-sizing:border-box!important}
  .c-final-box span{font-size:8pt!important;font-weight:900!important}.c-final-box b{font-size:17pt!important;color:red!important;font-weight:900!important}.c-final-box.small{justify-content:space-between!important}
  .customer-products{height:158mm!important;padding:3mm!important;box-sizing:border-box!important;overflow:hidden!important}
  .customer-table-logo{height:5mm!important;font-size:7.2pt!important;color:#64748b!important;font-weight:700!important}
  .customer-product-table{width:100%!important;table-layout:fixed!important;border-collapse:collapse!important}
  .customer-product-table th,.customer-product-table td{
    height:5.35mm!important;min-height:5.35mm!important;max-height:5.35mm!important;border:1px solid #999!important;padding:.6mm!important;text-align:center!important;vertical-align:middle!important;font-size:7.1pt!important;line-height:1!important;overflow:hidden!important;box-sizing:border-box!important;
  }
  .customer-product-table th{background:#FFFFFF!important;font-weight:900!important}
  .customer-product-table tr:nth-child(even) td{background:#FFF5F7!important}
  .customer-product-table th:nth-child(1),.customer-product-table td:nth-child(1){width:9mm!important}
  .customer-product-table th:nth-child(2),.customer-product-table td:nth-child(2){width:18mm!important}
  .customer-product-table th:nth-child(3),.customer-product-table td:nth-child(3){width:26mm!important}
  .customer-product-table th:nth-child(4),.customer-product-table td:nth-child(4){width:43mm!important}
  .customer-product-table td.model{font-size:6.7pt!important;font-weight:900!important;word-break:break-all!important}
  .customer-note-editor{width:100%!important;height:4.5mm!important;min-height:4.5mm!important;border:0!important;background:transparent!important;resize:none!important;overflow:hidden!important;font-size:6.7pt!important;line-height:1!important;text-align:center!important;padding:0!important}
  .customer-membership{text-align:right!important;font-size:7pt!important;font-weight:900!important;margin-top:1mm!important}
  .customer-bottom-grid{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;height:82mm!important;margin:0!important;border-bottom:1.2px solid #111!important;box-sizing:border-box!important;page-break-inside:avoid!important;break-inside:avoid!important}
  .customer-description{border-right:1.2px solid #111!important;box-sizing:border-box!important}
  .customer-description h2,.customer-care h2{margin:0!important;padding:2mm!important;background:#FFFFFF!important;border-bottom:1px solid #111!important;text-align:center!important;font-size:10.5pt!important;line-height:1!important;font-weight:900!important}
  .customer-description table,.customer-care table{width:100%!important;table-layout:fixed!important;border-collapse:collapse!important}
  .customer-description th,.customer-description td,.customer-care th,.customer-care td{
    border:1px solid #999!important;padding:1mm 1.2mm!important;vertical-align:middle!important;font-size:6.5pt!important;line-height:1.2!important;word-break:keep-all!important;box-sizing:border-box!important;
  }
  .customer-description th,.customer-care th{width:23mm!important;text-align:center!important;background:#fafafa!important;font-weight:900!important}
  .care-total{min-height:13mm!important;padding:0 3mm!important;background:#FFFFFF!important;border-top:1.2px solid #111!important;display:flex!important;align-items:center!important;justify-content:space-between!important;box-sizing:border-box!important}
  .care-total span{font-size:12pt!important;font-weight:900!important}.care-total b{font-size:12pt!important;color:red!important;font-weight:900!important}
  .customer-notice{height:19mm!important;padding:2mm 3mm!important;font-size:6.2pt!important;line-height:1.2!important;font-weight:800!important;box-sizing:border-box!important}
}

/* TRUE FINAL PRINT WIDTH REBUILD - percent width, no transform */
@media print{
  @page{size:A4 portrait;margin:4mm}
  html,body{
    width:100%!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important;
    -webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;
  }
  body *{visibility:hidden!important}
  #customerView,#customerView *{visibility:visible!important}
  .v1-header,#consultView,#userLoginGate,#pwChangeModal,#careModal,.admin-modal,#logoutBtn{display:none!important}
  #customerView,#customerView.hidden{
    display:block!important;position:static!important;width:100%!important;max-width:none!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important;
  }
  .customer-sheet{
    width:100%!important;max-width:none!important;height:auto!important;margin:0!important;padding:0!important;border:1.2px solid #111!important;box-shadow:none!important;background:#fff!important;box-sizing:border-box!important;overflow:hidden!important;transform:none!important;zoom:1!important;
  }
  .customer-title-bar{
    height:11mm!important;min-height:11mm!important;padding:0 4mm!important;display:flex!important;align-items:center!important;justify-content:space-between!important;background:#FFFFFF!important;border-bottom:1.2px solid #111!important;box-sizing:border-box!important;
  }
  .customer-brand-title{font-size:13pt!important;line-height:1!important;font-weight:900!important}
  .customer-version{font-size:7.5pt!important;padding:1.2mm 2.5mm!important}
  .customer-info-table{display:table!important;width:100%!important;table-layout:fixed!important;border-collapse:collapse!important}
  .customer-info-table tbody{display:table-row-group!important}.customer-info-table tr{display:table-row!important}
  .customer-info-table th,.customer-info-table td{
    display:table-cell!important;height:8mm!important;border:1px solid #111!important;padding:.8mm!important;vertical-align:middle!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:7.3pt!important;line-height:1!important;box-sizing:border-box!important;
  }
  .customer-info-table th{background:#FFFFFF!important;font-weight:900!important}.customer-info-table td{background:#fff!important;font-weight:800!important}
  .customer-valid-input{width:100%!important;height:5mm!important;border:0!important;background:transparent!important;text-align:center!important;font-size:7.3pt!important;font-weight:900!important;padding:0!important}
  .customer-main-grid{
    display:grid!important;grid-template-columns:25% 75%!important;width:100%!important;height:158mm!important;border-top:0!important;border-bottom:1.2px solid #111!important;box-sizing:border-box!important;
  }
  .customer-summary{width:100%!important;height:158mm!important;padding:3mm!important;border-right:1.2px solid #111!important;box-sizing:border-box!important;overflow:hidden!important}
  .customer-greeting{min-height:20mm!important;font-size:10.5pt!important;line-height:1.35!important;text-align:center!important;font-weight:900!important;display:block!important}
  .customer-line{border-top:1.2px solid #111!important;margin:2.5mm 0!important}
  .c-row.major{display:flex!important;justify-content:space-between!important;align-items:center!important;margin:1.8mm 0!important;font-weight:900!important}
  .c-row.major span{font-size:7.8pt!important}.c-row.major b{font-size:15pt!important}
  .c-detail{display:flex!important;justify-content:space-between!important;align-items:center!important;margin:.8mm 0!important;font-size:7pt!important;line-height:1!important;font-weight:900!important}
  .c-detail b{font-size:7pt!important}
  .c-final-box{min-height:11.5mm!important;margin:2.5mm 0!important;padding:1.3mm 2mm!important;background:#FFFFFF!important;border:1.2px solid #111!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;box-sizing:border-box!important}
  .c-final-box span{font-size:8pt!important;font-weight:900!important}.c-final-box b{font-size:17pt!important;color:red!important;font-weight:900!important}.c-final-box.small{justify-content:space-between!important}
  .customer-products{height:158mm!important;padding:3mm!important;box-sizing:border-box!important;overflow:hidden!important}
  .customer-table-logo{height:4.5mm!important;font-size:7pt!important;color:#64748b!important;font-weight:700!important}
  .customer-product-table{width:100%!important;table-layout:fixed!important;border-collapse:collapse!important}
  .customer-product-table th,.customer-product-table td{
    height:5.25mm!important;min-height:5.25mm!important;max-height:5.25mm!important;border:1px solid #999!important;padding:.55mm!important;text-align:center!important;vertical-align:middle!important;font-size:7pt!important;line-height:1!important;overflow:hidden!important;box-sizing:border-box!important;
  }
  .customer-product-table th{background:#FFFFFF!important;font-weight:900!important}.customer-product-table tr:nth-child(even) td{background:#FFF5F7!important}
  .customer-product-table th:nth-child(1),.customer-product-table td:nth-child(1){width:8%!important}
  .customer-product-table th:nth-child(2),.customer-product-table td:nth-child(2){width:13%!important}
  .customer-product-table th:nth-child(3),.customer-product-table td:nth-child(3){width:18%!important}
  .customer-product-table th:nth-child(4),.customer-product-table td:nth-child(4){width:31%!important}
  .customer-product-table th:nth-child(5),.customer-product-table td:nth-child(5){width:30%!important}
  .customer-product-table td.model{font-size:6.7pt!important;font-weight:900!important;word-break:break-all!important}
  .customer-note-editor{width:100%!important;height:4.4mm!important;min-height:4.4mm!important;border:0!important;background:transparent!important;resize:none!important;overflow:hidden!important;font-size:6.7pt!important;line-height:1!important;text-align:center!important;padding:0!important}
  .customer-membership{text-align:right!important;font-size:7pt!important;font-weight:900!important;margin-top:1mm!important}
  .customer-bottom-grid{display:grid!important;grid-template-columns:50% 50%!important;width:100%!important;height:82mm!important;margin:0!important;border-bottom:1.2px solid #111!important;box-sizing:border-box!important;page-break-inside:avoid!important;break-inside:avoid!important}
  .customer-description{border-right:1.2px solid #111!important;box-sizing:border-box!important}
  .customer-description h2,.customer-care h2{margin:0!important;padding:2mm!important;background:#FFFFFF!important;border-bottom:1px solid #111!important;text-align:center!important;font-size:10.3pt!important;line-height:1!important;font-weight:900!important}
  .customer-description table,.customer-care table{width:100%!important;table-layout:fixed!important;border-collapse:collapse!important}
  .customer-description th,.customer-description td,.customer-care th,.customer-care td{border:1px solid #999!important;padding:.9mm 1.1mm!important;vertical-align:middle!important;font-size:6.5pt!important;line-height:1.2!important;word-break:keep-all!important;box-sizing:border-box!important}
  .customer-description th,.customer-care th{width:23mm!important;text-align:center!important;background:#fafafa!important;font-weight:900!important}
  .care-total{min-height:13mm!important;padding:0 3mm!important;background:#FFFFFF!important;border-top:1.2px solid #111!important;display:flex!important;align-items:center!important;justify-content:space-between!important;box-sizing:border-box!important}
  .care-total span{font-size:12pt!important;font-weight:900!important}.care-total b{font-size:12pt!important;color:red!important;font-weight:900!important}
  .customer-notice{height:19mm!important;padding:2mm 3mm!important;font-size:6.2pt!important;line-height:1.2!important;font-weight:800!important;box-sizing:border-box!important}
}

.update-notice-header{
  display:inline-flex!important;
  align-items:center!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:#fff7ed!important;
  border:1px solid #fed7aa!important;
  color:#c2410c!important;
  font-size:12px!important;
  font-weight:900!important;
  margin-top:6px!important;
}

/* 로그인 전 비밀번호 변경 모달 표시 수정 */
body.pw-change-open #userLoginGate{
  z-index:9000!important;
  pointer-events:none!important;
}

body.login-locked > #pwChangeModal,
body.pw-change-open > #pwChangeModal,
#pwChangeModal{
  pointer-events:auto!important;
}

body.pw-change-open #pwChangeModal,
#pwChangeModal:not(.hidden){
  display:flex!important;
  position:fixed!important;
  inset:0!important;
  z-index:2147483647!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(15,23,42,.62)!important;
  filter:none!important;
  user-select:auto!important;
}

body.pw-change-open #pwChangeModal *,
#pwChangeModal:not(.hidden) *{
  pointer-events:auto!important;
  user-select:auto!important;
}

#pwChangeModal .pw-panel{
  position:relative!important;
  z-index:2147483647!important;
  background:#fff!important;
}

/* 업데이트 안내 팝업 */
.update-notice-modal{
  position:fixed!important;
  inset:0!important;
  z-index:2147483646!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(15,23,42,.62)!important;
  padding:20px!important;
  box-sizing:border-box!important;
}

.update-notice-modal.hidden{
  display:none!important;
}

.update-notice-panel{
  width:min(430px,94vw)!important;
  background:#fff!important;
  border-radius:18px!important;
  box-shadow:0 24px 70px rgba(0,0,0,.36)!important;
  padding:24px!important;
  box-sizing:border-box!important;
  border:1px solid #e5e7eb!important;
}

.update-notice-top{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  margin-bottom:12px!important;
}

.update-notice-tag{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:26px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  background:#fff7ed!important;
  border:1px solid #fed7aa!important;
  color:#c2410c!important;
  font-size:12px!important;
  font-weight:900!important;
}

.update-notice-x{
  width:32px!important;
  height:32px!important;
  border:0!important;
  border-radius:50%!important;
  background:#f1f5f9!important;
  color:#111827!important;
  font-size:20px!important;
  font-weight:900!important;
  cursor:pointer!important;
}

.update-notice-panel h2{
  margin:0 0 8px!important;
  color:#111827!important;
  font-size:23px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:-.8px!important;
}

.update-notice-desc{
  margin:0 0 14px!important;
  color:#475569!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.45!important;
}

.update-notice-list{
  margin:0 0 18px!important;
  padding:14px 16px 14px 32px!important;
  background:#f8fafc!important;
  border:1px solid #e2e8f0!important;
  border-radius:14px!important;
  color:#111827!important;
  font-size:14px!important;
  line-height:1.6!important;
  font-weight:800!important;
}

.update-notice-ok{
  width:100%!important;
  height:46px!important;
  border:0!important;
  border-radius:12px!important;
  background:#c8102e!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:900!important;
  cursor:pointer!important;
}

/* 업데이트 팝업 로그인 후 강제 표시 보정 */
#updateNoticeModal:not(.hidden){
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  z-index:2147483647!important;
}

#updateNoticeModal:not(.hidden) *,
.update-notice-panel,
.update-notice-ok,
.update-notice-x{
  pointer-events:auto!important;
}


/* FINAL REAL UPDATE MODAL */
.lplan-update-modal-final{
  position:fixed!important;
  inset:0!important;
  z-index:2147483647!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(15,23,42,.68)!important;
  padding:22px!important;
  box-sizing:border-box!important;
  pointer-events:auto!important;
}

.lplan-update-modal-final.hidden{
  display:none!important;
}

.lplan-update-panel-final{
  width:min(460px,94vw)!important;
  background:#fff!important;
  border-radius:20px!important;
  padding:26px!important;
  box-shadow:0 28px 80px rgba(0,0,0,.42)!important;
  border:1px solid #e5e7eb!important;
  box-sizing:border-box!important;
  pointer-events:auto!important;
}

.lplan-update-top-final{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  margin-bottom:14px!important;
}

.lplan-update-badge-final{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  background:#c8102e!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
}

.lplan-update-x-final{
  width:34px!important;
  height:34px!important;
  border:0!important;
  border-radius:50%!important;
  background:#f1f5f9!important;
  color:#111827!important;
  font-size:22px!important;
  font-weight:900!important;
  cursor:pointer!important;
}

.lplan-update-panel-final h2{
  margin:0 0 9px!important;
  color:#111827!important;
  font-size:24px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:-.8px!important;
}

.lplan-update-desc-final{
  margin:0 0 16px!important;
  color:#475569!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:700!important;
}

.lplan-update-box-final{
  background:#f8fafc!important;
  border:1px solid #e2e8f0!important;
  border-radius:15px!important;
  padding:15px 16px!important;
  color:#111827!important;
  font-size:14px!important;
  line-height:1.75!important;
  font-weight:850!important;
  margin-bottom:18px!important;
}

.lplan-update-ok-final{
  width:100%!important;
  height:48px!important;
  border:0!important;
  border-radius:13px!important;
  background:#c8102e!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:900!important;
  cursor:pointer!important;
}

.lplan-update-modal-final *,
.lplan-update-panel-final *{
  pointer-events:auto!important;
}

/* LPLAN UPDATE MODAL FIXED */
.lplan-update-modal-fixed{position:fixed!important;inset:0!important;z-index:2147483647!important;display:flex!important;align-items:center!important;justify-content:center!important;background:rgba(15,23,42,.68)!important;padding:22px!important;box-sizing:border-box!important;pointer-events:auto!important}
.lplan-update-modal-fixed.hidden{display:none!important}
.lplan-update-panel-fixed{width:min(460px,94vw)!important;background:#fff!important;border-radius:20px!important;padding:26px!important;box-shadow:0 28px 80px rgba(0,0,0,.42)!important;border:1px solid #e5e7eb!important;box-sizing:border-box!important;pointer-events:auto!important}
.lplan-update-head-fixed{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:14px!important}
.lplan-update-label-fixed{display:inline-flex!important;padding:7px 12px!important;border-radius:999px!important;background:#c8102e!important;color:#fff!important;font-size:13px!important;font-weight:900!important}
.lplan-update-close-fixed{width:34px!important;height:34px!important;border:0!important;border-radius:50%!important;background:#f1f5f9!important;color:#111827!important;font-size:22px!important;font-weight:900!important;cursor:pointer!important}
.lplan-update-panel-fixed h2{margin:0 0 9px!important;color:#111827!important;font-size:24px!important;line-height:1.2!important;font-weight:900!important;letter-spacing:-.8px!important}
.lplan-update-panel-fixed p{margin:0 0 16px!important;color:#475569!important;font-size:14px!important;line-height:1.45!important;font-weight:700!important}
.lplan-update-content-fixed{background:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:15px!important;padding:15px 16px!important;color:#111827!important;font-size:14px!important;line-height:1.75!important;font-weight:850!important;margin-bottom:18px!important}
.lplan-update-ok-fixed{width:100%!important;height:48px!important;border:0!important;border-radius:13px!important;background:#c8102e!important;color:#fff!important;font-size:16px!important;font-weight:900!important;cursor:pointer!important}
.lplan-update-modal-fixed *,.lplan-update-panel-fixed *{pointer-events:auto!important}


/* =====================================================
   L-PLAN LG PREMIUM COLOR TONE
   화이트 기반 + 절제된 LG 와인레드 포인트
   ===================================================== */

:root{
  --lplan-lg-red:#A50034;
  --lplan-lg-red-2:#C8102E;
  --lplan-lg-soft:#FFF5F7;
  --lplan-bg:#F8F9FB;
  --lplan-card:#FFFFFF;
  --lplan-border:#E5E7EB;
  --lplan-text:#111827;
  --lplan-sub:#6B7280;
  --lplan-blue:#1D4ED8;
  --lplan-green:#15803D;
  --lplan-yellow:#FFFFFF;
}

body{
  background:var(--lplan-bg)!important;
  color:var(--lplan-text)!important;
}

/* 상단 헤더 */
.v1-header{
  background:#fff!important;
  border-bottom:1px solid var(--lplan-border)!important;
  box-shadow:0 2px 12px rgba(15,23,42,.04)!important;
}

.v1-main-title{
  color:#111827!important;
  font-weight:900!important;
}

.v1-version{
  background:#111827!important;
  color:#fff!important;
}

.update-notice-header{
  background:#FFF5F7!important;
  border-color:#F9A8B9!important;
  color:var(--lplan-lg-red)!important;
}

/* 버튼 역할별 색상 */
.v1-actions .btn,
.btn{
  border-radius:9px!important;
  font-weight:900!important;
}

#consultTabBtn,
.view-tab.active{
  background:#111827!important;
  color:#fff!important;
  border-color:#111827!important;
}

#customerTabBtn{
  background:#fff!important;
  color:#111827!important;
  border-color:#CBD5E1!important;
}

#saveBtn{
  background:#fff!important;
  color:#111827!important;
  border-color:#CBD5E1!important;
}

#loadBtn{
  background:#fff!important;
  color:#111827!important;
  border-color:#CBD5E1!important;
}

#adminBtn,
#adminOpenBtn{
  background:#fff!important;
  color:#111827!important;
  border-color:#CBD5E1!important;
}

#printBtn{
  background:var(--lplan-lg-red)!important;
  color:#fff!important;
  border-color:var(--lplan-lg-red)!important;
}

#logoutBtn{
  background:#111827!important;
  color:#fff!important;
  border-color:#111827!important;
}

#resetBtn{
  background:#374151!important;
  color:#fff!important;
  border-color:#374151!important;
}

/* 카드/섹션 */
.card,
.panel,
.section,
.form-section,
#consultView > section,
.consult-card,
.customer-card,
.customer-summary,
.customer-products,
.customer-description,
.customer-care{
  background:#fff!important;
  border-color:var(--lplan-border)!important;
  box-shadow:0 2px 10px rgba(15,23,42,.035)!important;
}

h2,
.section-title,
.card-title{
  color:#111827!important;
}

/* 섹션 제목은 LG 레드 포인트만 */
.basic-info h2,
.customer-info h2,
.product-list h2,
#consultView h2,
.form-section h2{
  color:var(--lplan-lg-red)!important;
}

/* 입력창 */
input,
select,
textarea{
  border-color:#D1D5DB!important;
  background:#fff!important;
  color:#111827!important;
}

input:focus,
select:focus,
textarea:focus{
  border-color:var(--lplan-lg-red)!important;
  box-shadow:0 0 0 3px rgba(165,0,52,.08)!important;
  outline:none!important;
}

/* 좌측 요약 영역 */
.summary-panel,
.left-summary,
.benefit-summary{
  background:#fff!important;
  border-color:var(--lplan-border)!important;
}

.summary-panel b,
.left-summary b,
.benefit-summary b{
  color:#111827!important;
}

/* 혜택/할인 숫자 */
#finalBenefit,
#cashBenefitAmount,
#totalBenefit,
#cFinalBenefit,
.final-benefit,
.benefit-amount{
  color:var(--lplan-lg-red)!important;
  font-weight:900!important;
}

/* 월 구독료는 블루로 분리 */
#finalMonthlyFee,
#cFinalMonthly,
.monthly-fee,
.sub-monthly{
  color:var(--lplan-blue)!important;
  font-weight:900!important;
}

/* 고객용 노란 박스는 유지하되 테두리 정돈 */
.c-final-box,
.final-box,
.yellow-box{
  background:var(--lplan-yellow)!important;
  border:1.4px solid #111827!important;
}

.c-final-box b,
.final-box b,
.yellow-box b{
  color:var(--lplan-lg-red)!important;
}

/* 상품 테이블 */
table{
  border-color:#E5E7EB!important;
}

th{
  background:#F3F4F6!important;
  color:#111827!important;
  font-weight:900!important;
}

td{
  border-color:#E5E7EB!important;
}

#itemsBody tr,
.product-row{
  background:#fff!important;
}

/* 입력 완료/구독 체크된 행에 약한 LG 포인트 */
#itemsBody tr:has(input[type="checkbox"]:checked){
  background:linear-gradient(90deg, rgba(165,0,52,.045), rgba(255,255,255,1))!important;
}

/* 품목 태그 */
.category-chip,
.cat-chip,
.item-category,
.badge{
  background:#FFF5F7!important;
  color:var(--lplan-lg-red)!important;
  border:1px solid #F9A8B9!important;
  font-weight:900!important;
}

/* 삭제 버튼은 연한 레드 */
.delete-btn,
.row-delete,
button.delete{
  background:#FEE2E2!important;
  color:#B91C1C!important;
  border-color:#FECACA!important;
}

/* 상품 추가 버튼 */
#addRowBtn,
.add-row-btn{
  background:var(--lplan-lg-red)!important;
  color:#fff!important;
  border-color:var(--lplan-lg-red)!important;
}

#clearRowsBtn,
#deleteAllBtn{
  background:#fff!important;
  color:#111827!important;
  border-color:#CBD5E1!important;
}

/* 하단 카드 */
.card-box,
.sub-card,
.promo-card{
  background:#fff!important;
  border-color:#E5E7EB!important;
}

.card-box h3,
.sub-card h3,
.promo-card h3{
  color:var(--lplan-lg-red)!important;
}

/* 프로모션/행사 적용 영역 */
.promo-status,
.event-status,
.event-box{
  background:linear-gradient(180deg,#fff,#FFF8FA)!important;
  border:1px solid #F9A8B9!important;
}

.promo-status .active,
.event-status .active{
  color:var(--lplan-lg-red)!important;
  font-weight:900!important;
}

/* 업데이트 모달 LG 톤 */
.lplan-update-label-fixed,
.update-notice-tag,
.lplan-update-badge-final{
  background:var(--lplan-lg-red)!important;
  color:#fff!important;
  border-color:var(--lplan-lg-red)!important;
}

.lplan-update-ok-fixed,
.update-notice-ok,
.lplan-update-ok-final{
  background:var(--lplan-lg-red)!important;
  color:#fff!important;
}

.lplan-update-panel-fixed h2,
.update-notice-panel h2,
.lplan-update-panel-final h2{
  color:#111827!important;
}

.lplan-update-content-fixed,
.update-notice-list,
.lplan-update-box-final{
  background:#F9FAFB!important;
  border-color:#E5E7EB!important;
}

/* 과한 빨강 방지: 일반 텍스트는 다크 유지 */
label,
small,
.note,
.help-text{
  color:#374151!important;
}


/* =====================================================
   LEFT SUMMARY LG REFINED TONE
   좌측 요약 패널: 노란 박스/파란 숫자 제거, LG 레드 중심 정리
   ===================================================== */

/* 좌측 요약 패널 전체 */
.sidebar,
.left-panel,
.summary-panel,
.left-summary,
.benefit-summary,
#summaryPanel,
#leftSummary{
  background:#FFFFFF!important;
  border:1px solid #E5E7EB!important;
  box-shadow:0 2px 10px rgba(15,23,42,.035)!important;
}

/* 좌측 패널 안쪽 구분선 */
.sidebar hr,
.left-panel hr,
.summary-panel hr,
.left-summary hr,
.benefit-summary hr{
  border:0!important;
  border-top:1px solid #111827!important;
  opacity:.9!important;
}

/* 기존 노란 박스 제거: 화이트 + LG 레드 보더 */
.yellow-box,
.final-box,
.c-final-box,
.summary-yellow,
.total-highlight,
.monthly-highlight,
#finalBenefitBox,
#finalMonthlyBox,
#cFinalBenefitBox,
#cFinalMonthlyBox{
  background:#FFFFFF!important;
  border:2px solid #A50034!important;
  box-shadow:0 8px 18px rgba(165,0,52,.06)!important;
  border-radius:6px!important;
}

/* 노란 배경이 inline style/class로 남아있는 경우도 강제 정리 */
[style*="yellow"],
[style*="#FFFFFF"],
[style*="#FFFFFF"],
[style*="rgb(255, 242, 0)"]{
  background:#FFFFFF!important;
}

/* 좌측 최종혜택가 / 월 금액 숫자: LG 레드 */
#finalBenefit,
#cashFinalBenefit,
#cFinalBenefit,
#finalMonthlyFee,
#cFinalMonthly,
.final-benefit,
.benefit-amount,
.final-amount,
.monthly-fee,
.sub-monthly,
.yellow-box b,
.yellow-box strong,
.final-box b,
.final-box strong,
.c-final-box b,
.c-final-box strong{
  color:#A50034!important;
  font-weight:900!important;
}

/* 파란 숫자 제거: 월 구독료도 LG 레드 */
#finalMonthlyFee,
#cFinalMonthly,
.monthly-fee,
.sub-monthly{
  color:#A50034!important;
}

/* 좌측 일반 금액은 다크 네이비 */
#totalProductAmount,
#cashTotal,
#subTotal,
#allstarBaseAmount,
.summary-total,
.total-amount,
.left-summary .amount,
.benefit-summary .amount{
  color:#111827!important;
  font-weight:900!important;
}

/* 할인 세부 항목은 레드로 절제 */
#cashbackAmount,
#cardBenefitAmount,
#pointAmount,
#etcDiscountAmount,
#subCardDiscount,
#sangjoDiscount,
#subscriptionPromoDiscount,
#bundleDiscount,
#prepayDiscount,
#prepayPaymentTotal,
.discount-amount,
.summary-discount{
  color:#A50034!important;
  font-weight:800!important;
}

/* 좌측 섹션 제목 */
.sidebar h3,
.left-panel h3,
.summary-panel h3,
.left-summary h3,
.benefit-summary h3{
  color:#111827!important;
  font-weight:900!important;
}

/* '월' 라벨도 레드 계열 박스 안에서 정돈 */
.yellow-box .label,
.final-box .label,
.c-final-box .label,
.summary-yellow .label,
.total-highlight .label,
.monthly-highlight .label{
  color:#111827!important;
  font-weight:900!important;
}

/* 고객용 A4 출력 쪽 노란 박스도 동일 톤 */
.customer-a4 .yellow-box,
.customer-sheet .yellow-box,
#printArea .yellow-box,
#customerView .yellow-box,
#customerView .final-box,
#customerView .c-final-box{
  background:#FFFFFF!important;
  border:2px solid #A50034!important;
  color:#A50034!important;
}

/* 좌측 요약 패널 과한 컬러 제거 */
#customerView [style*="background: yellow"],
#customerView [style*="background:#ffff00"],
#customerView [style*="background:#FFFFFF"],
#customerView [style*="background: #FFFFFF"]{
  background:#FFFFFF!important;
}


/* =====================================================
   L-PLAN BURGUNDY PREMIUM UNIFIED THEME
   ===================================================== */

:root{
  --lp-bg:#F7F8FA;
  --lp-card:#FFFFFF;
  --lp-border:#E5E7EB;
  --lp-text:#111827;
  --lp-sub:#6B7280;

  --lp-burgundy:#7B1028;
  --lp-burgundy-2:#8F1732;
  --lp-burgundy-soft:#FFF5F7;
  --lp-burgundy-line:#F2D7DE;
}

/* 전체 배경 */
body,
.app,
.main-wrap{
  background:var(--lp-bg)!important;
  color:var(--lp-text)!important;
}

/* 헤더 */
header,
.topbar,
.v1-header{
  background:#FFFFFF!important;
  border-bottom:1px solid var(--lp-border)!important;
  box-shadow:0 2px 12px rgba(15,23,42,.04)!important;
}

.v1-main-title,
.logo-title{
  color:#111827!important;
  font-weight:900!important;
}

/* 카드 통일 */
.card,
.panel,
.section,
.form-section,
.consult-card,
.customer-card,
.customer-summary,
.customer-products,
.customer-description,
.customer-care,
.summary-panel,
.left-summary,
.benefit-summary{
  background:#FFFFFF!important;
  border:1px solid var(--lp-border)!important;
  border-radius:14px!important;
  box-shadow:0 2px 12px rgba(15,23,42,.035)!important;
}

/* 제목 */
h2,
.section-title,
.card-title{
  color:var(--lp-burgundy)!important;
  font-weight:900!important;
}

/* 버튼 */
button,
.btn{
  border-radius:10px!important;
  font-weight:900!important;
  transition:.18s ease!important;
}

/* 메인 액션 */
.primary,
.btn-primary,
#printBtn,
#addRowBtn,
#consultTabBtn{
  background:var(--lp-burgundy)!important;
  border-color:var(--lp-burgundy)!important;
  color:#FFFFFF!important;
}

/* 일반 버튼 */
.secondary,
.btn-secondary,
#customerTabBtn,
#saveBtn,
#loadBtn,
#adminBtn,
#adminOpenBtn{
  background:#FFFFFF!important;
  border:1px solid #D1D5DB!important;
  color:#111827!important;
}

/* 로그아웃 */
#logoutBtn{
  background:#111827!important;
  border-color:#111827!important;
  color:#FFFFFF!important;
}

/* hover */
button:hover,
.btn:hover{
  transform:translateY(-1px)!important;
}

/* 입력창 */
input,
select,
textarea{
  background:#FFFFFF!important;
  border:1px solid #D1D5DB!important;
  border-radius:10px!important;
  color:#111827!important;
}

input:focus,
select:focus,
textarea:focus{
  border-color:var(--lp-burgundy)!important;
  box-shadow:0 0 0 3px rgba(123,16,40,.08)!important;
  outline:none!important;
}

/* 테이블 */
table{
  background:#FFFFFF!important;
  border-color:var(--lp-border)!important;
}

th{
  background:#F9FAFB!important;
  color:#111827!important;
  font-weight:900!important;
  border-color:var(--lp-border)!important;
}

td{
  border-color:var(--lp-border)!important;
}

/* 체크된 행 */
#itemsBody tr:has(input[type="checkbox"]:checked),
.product-row.active{
  background:rgba(123,16,40,.035)!important;
}

/* 품목 배지 */
.badge,
.category-chip,
.cat-chip{
  background:var(--lp-burgundy-soft)!important;
  border:1px solid var(--lp-burgundy-line)!important;
  color:var(--lp-burgundy)!important;
  font-weight:900!important;
}

/* 좌측 요약 */
.yellow-box,
.final-box,
.c-final-box,
.summary-highlight{
  background:#FFFFFF!important;
  border:2px solid var(--lp-burgundy)!important;
  border-radius:10px!important;
  box-shadow:0 10px 20px rgba(123,16,40,.05)!important;
}

/* 최종 금액 */
.final-benefit,
.final-amount,
.monthly-fee,
.sub-monthly,
#finalBenefit,
#finalMonthlyFee,
#cFinalBenefit,
#cFinalMonthly{
  color:var(--lp-burgundy)!important;
  font-weight:900!important;
}

/* 할인 금액 */
.discount,
.discount-amount,
.summary-discount{
  color:var(--lp-burgundy)!important;
}

/* 업데이트 배지 */
.update-notice-header,
.v1-update-badge{
  background:var(--lp-burgundy-soft)!important;
  border:1px solid var(--lp-burgundy-line)!important;
  color:var(--lp-burgundy)!important;
  border-radius:999px!important;
}

/* 행사 카드 */
.event-card,
.promo-card,
.promo-status{
  background:#FFFFFF!important;
  border:1px solid var(--lp-border)!important;
}

.event-card.active,
.promo-card.active{
  border-color:var(--lp-burgundy-line)!important;
  background:rgba(123,16,40,.025)!important;
}

/* 삭제 버튼 */
.delete-btn,
.row-delete{
  background:#FFF5F7!important;
  border:1px solid #F2D7DE!important;
  color:var(--lp-burgundy)!important;
}

/* 모달 */
.lplan-update-panel-fixed,
.update-notice-panel,
.lplan-update-panel-final{
  border-radius:18px!important;
  border:1px solid var(--lp-border)!important;
}

.lplan-update-ok-fixed,
.update-notice-ok,
.lplan-update-ok-final{
  background:var(--lp-burgundy)!important;
  border-color:var(--lp-burgundy)!important;
  color:#FFFFFF!important;
}


/* =====================================================
   ROOT CAUSE FIX: ACTUAL SUMMARY-CARD COLOR MAPPING ONLY
   실제 HTML ID/class 기준. 크기/정렬/여백 변경 없음.
   ===================================================== */

/* 좌측 요약 카드 기본 색 */
.summary-card{
  background:#FFFFFF!important;
  border-color:#E5E7EB!important;
}

/* 제목/구분선 */
.summary-card .summary-title{
  color:#111111!important;
}

.summary-card .divider{
  background:#7B1028!important;
}

/* 항목명: 버건디 */
.summary-card .summary-row > span,
.summary-card .benefit-list span,
.summary-card .yellow-box > span,
.summary-card .yellow-box .final-label{
  color:#7B1028!important;
}

/* 원금액/총액: 검정 */
#totalProductPrice,
#totalMonthlyFee,
#allstarBaseAmount,
#inshopBaseAmount{
  color:#111111!important;
}

/* 세부 할인 금액: 버건디 */
#multiCashback,
#cashCardBenefit,
#weddingBenefit,
#etcDiscountAmount,
#subCardDiscount,
#sangjoDiscount,
#subscriptionPromoDiscount,
#bundleDiscount,
#prepayDiscount,
#prepayPayTotal{
  color:#7B1028!important;
}

/* 최종 혜택가 / 월 박스: 배경 흰색, 테두리 버건디 */
.summary-card .yellow-box{
  background:#FFFFFF!important;
  border-color:#7B1028!important;
}

/* 최종 박스 숫자: 검정 */
#finalBenefitPrice,
#finalMonthlyFee{
  color:#111111!important;
}

/* 네이비/파랑 적용 방지: 실제 좌측 요약 ID만 제한 */
.summary-card #totalProductPrice,
.summary-card #totalMonthlyFee,
.summary-card #allstarBaseAmount,
.summary-card #finalBenefitPrice,
.summary-card #finalMonthlyFee{
  color:#111111!important;
}

.summary-card #multiCashback,
.summary-card #cashCardBenefit,
.summary-card #weddingBenefit,
.summary-card #etcDiscountAmount,
.summary-card #subCardDiscount,
.summary-card #sangjoDiscount,
.summary-card #subscriptionPromoDiscount,
.summary-card #bundleDiscount,
.summary-card #prepayDiscount,
.summary-card #prepayPayTotal{
  color:#7B1028!important;
}

/* 실제 상단 고객 문구 색상: 검정 */
#summaryTitle{color:#111111!important;}

/* 2026-07-29 allstar base display: split cash/subscription values */
.summary-card .allstar-base-row{
  display:block!important;
  align-items:start!important;
  gap:0!important;
  padding-top:14px!important;
  margin-top:18px!important;
}

.summary-card .allstar-base-row > span{
  display:block!important;
  width:100%!important;
  margin-bottom:8px!important;
  font-size:15px!important;
  line-height:1.25!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  letter-spacing:0!important;
}

.summary-card #allstarBaseAmount{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  font-size:16px!important;
  line-height:1.45!important;
  text-align:left!important;
  white-space:pre-line!important;
  overflow-wrap:normal!important;
  word-break:keep-all!important;
  letter-spacing:0!important;
}

/* Final guard: keep allstar base readable inside the narrow left summary */
#consultView .summary-card .summary-row.allstar-base-row,
.summary-card .summary-row.allstar-base-row{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
}

#consultView .summary-card .summary-row.allstar-base-row > span,
.summary-card .summary-row.allstar-base-row > span{
  display:block!important;
  width:100%!important;
  margin-bottom:6px!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
}

#consultView .summary-card .summary-row.allstar-base-row > strong#allstarBaseAmount,
.summary-card .summary-row.allstar-base-row > strong#allstarBaseAmount{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  font-size:22px!important;
  line-height:1.32!important;
  text-align:left!important;
  white-space:pre-line!important;
  overflow:visible!important;
  overflow-wrap:normal!important;
  word-break:keep-all!important;
}

.summary-card #allstarBaseAmount .allstar-base-line{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  width:100%!important;
  min-width:100%!important;
}

.summary-card #allstarBaseAmount .allstar-base-line em{
  font-style:normal!important;
  font-weight:800!important;
  font-size:15px!important;
  color:#111111!important;
}

.summary-card #allstarBaseAmount .allstar-base-line b{
  justify-self:end!important;
  text-align:right!important;
  font-weight:900!important;
  font-size:22px!important;
  line-height:1.22!important;
  color:#111111!important;
  white-space:nowrap!important;
}

/* =====================================================
   CUSTOMER VIEW CONSULT COLOR MATCH
   고객용 탭 전용 색상 원인 수정: 크기/정렬 변경 없이 색상만 상담용과 통일
   ===================================================== */

#customerView{
  background:#F8F9FB!important;
}

.customer-sheet{
  background:#FFFFFF!important;
  border-color:#7B1028!important;
}

/* 상단 타이틀 바 */
.customer-title-bar{
  background:#7B1028!important;
  border-bottom-color:#7B1028!important;
}

.customer-brand-title{
  color:#FFFFFF!important;
}

.customer-version{
  background:#FFFFFF!important;
  color:#7B1028!important;
}

/* 고객 정보 표: 라벨은 버건디, 값은 검정 */
.customer-info-table th,
.customer-info-grid span,
.customer-basic-grid span{
  background:#FFFFFF!important;
  color:#7B1028!important;
  border-color:#7B1028!important;
}

.customer-info-table td,
.customer-info-grid b,
.customer-basic-grid b{
  background:#FFFFFF!important;
  color:#111111!important;
  border-color:#7B1028!important;
}

/* 고객용 좌측 요약 */
.customer-summary{
  background:#FFFFFF!important;
  border-right-color:#7B1028!important;
}

.customer-greeting,
.customer-greeting b,
.customer-greeting span{
  color:#111111!important;
}

.customer-line{
  border-top-color:#7B1028!important;
}

/* 총 상품/총 구독 제목은 버건디, 금액은 검정 */
.customer-summary .c-row span{
  color:#7B1028!important;
}

.customer-summary .c-row b,
#cTotalProduct,
#cTotalSub,
#cCareBenefit{
  color:#111111!important;
}

/* 세부 항목명/금액은 버건디 */
.customer-summary .c-detail span,
.customer-summary .c-detail b,
#cCashback,
#cCardBenefit,
#cPoint,
#cEtcDiscount,
#cSubCard,
#cSangjo,
#cSubPromo,
#cBundle,
#cPrepay,
#cPrepayPayAmount{
  color:#7B1028!important;
}

/* 최종 혜택가 / 월 박스 */
.customer-summary .c-final-box,
#customerView .c-final-box,
.customer-final-benefit-box{
  background:#FFFFFF!important;
  border-color:#7B1028!important;
}

.customer-summary .c-final-box span,
.customer-summary .c-final-box .customer-final-label,
#customerView .c-final-box span{
  color:#7B1028!important;
}

.customer-summary .c-final-box b,
#cFinalBenefit,
#cFinalMonthly{
  color:#111111!important;
}

/* 상품 테이블 */
.customer-table-logo{
  color:#111111!important;
}

.customer-product-table th{
  background:#FFFFFF!important;
  color:#111111!important;
  border-color:#111111!important;
}

.customer-product-table td{
  background:#FFFFFF!important;
  color:#111111!important;
  border-color:#D1D5DB!important;
}

.customer-product-table tr:nth-child(even) td{
  background:#FFF5F7!important;
}

.customer-membership{
  color:#111111!important;
}

/* 상세 설명 / 케어십 안내 */
.customer-description{
  border-right-color:#7B1028!important;
}

.customer-description h2,
.customer-care h2{
  background:#FFFFFF!important;
  color:#111111!important;
  border-bottom-color:#111111!important;
}

.customer-description th,
.customer-care th{
  background:#FFF5F7!important;
  color:#111111!important;
  border-color:#D1D5DB!important;
}

.customer-description td,
.customer-care td{
  background:#FFFFFF!important;
  color:#111111!important;
  border-color:#D1D5DB!important;
}

.customer-bottom-grid{
  border-bottom-color:#7B1028!important;
}

.care-total{
  background:#FFFFFF!important;
  color:#111111!important;
  border-top:1px solid #D1D5DB!important;
}

.care-total span{
  color:#111111!important;
}

.care-total b{
  color:#111111!important;
}

/* 고객용 전체 큰 구분선 */
.customer-main-grid,
.customer-info-grid,
.customer-basic-grid{
  border-color:#7B1028!important;
}

.customer-info-grid>div,
.customer-basic-grid>div{
  border-color:#7B1028!important;
}

/* 고객용 비고/공지 */
.customer-notice{
  color:#374151!important;
  background:#FFFFFF!important;
}


/* CUSTOMER TITLE BAR BURGUNDY POINT ROOT FIX */
.customer-title-bar{
  background:#7B1028!important;
  border-bottom-color:#7B1028!important;
}

.customer-title-bar .customer-brand-title,
.customer-brand-title{
  color:#FFFFFF!important;
}

.customer-title-bar .customer-version{
  background:#FFFFFF!important;
  color:#7B1028!important;
  border-color:#FFFFFF!important;
}


/* =====================================================
   CUSTOMER SUMMARY KEEP STYLE
   좌측 금액 영역만 기존 버건디 유지
   ===================================================== */

.customer-summary .c-row span,
.customer-summary .c-detail span,
.customer-summary .c-detail b{
  color:#7B1028!important;
}

.customer-summary .c-row b,
#cTotalProduct,
#cTotalSub,
#cFinalBenefit,
#cFinalMonthly{
  color:#111111!important;
}

.customer-summary .c-final-box{
  border-color:#7B1028!important;
}

.customer-summary .c-final-box span{
  color:#7B1028!important;
}

.customer-summary .customer-line{
  border-top-color:#7B1028!important;
}


/* =====================================================
   CUSTOMER GENERAL TEXT BLACK ROOT FIX
   고객용 일반 텍스트 검정 통일
   ===================================================== */

.customer-products,
.customer-products *,
.customer-description,
.customer-description *,
.customer-care,
.customer-care *,
.customer-notice{
  color:#111111!important;
}

/* 좌측 summary 제외 */
.customer-summary .c-row span,
.customer-summary .c-detail span,
.customer-summary .c-detail b,
.customer-summary .c-final-box span{
  color:#7B1028!important;
}


/* 고객용 모델명 마스킹 버튼 */
.customer-title-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}

.customer-mask-btn{
  height:28px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.75)!important;
  background:#FFFFFF!important;
  color:#7B1028!important;
  font-size:12px!important;
  font-weight:900!important;
  cursor:pointer!important;
}

.customer-mask-btn.active{
  background:#111111!important;
  color:#FFFFFF!important;
  border-color:#111111!important;
}

#consultView #customerModelMaskBtn{
  display:none!important;
}


/* 고객용 견적서 외부 도구 영역 */
.customer-outside-tools{
  width:1180px!important;
  max-width:calc(100vw - 36px)!important;
  margin:0 auto 10px!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:8px!important;
}

.customer-outside-tools .customer-mask-btn{
  height:34px!important;
  padding:0 14px!important;
  border-radius:10px!important;
  border:1px solid #7B1028!important;
  background:#FFFFFF!important;
  color:#7B1028!important;
  font-size:13px!important;
  font-weight:900!important;
  cursor:pointer!important;
}

.customer-outside-tools .customer-mask-btn.active{
  background:#7B1028!important;
  color:#FFFFFF!important;
  border-color:#7B1028!important;
}

/* 인쇄/PDF에는 외부 도구 숨김 */
@media print{
  .customer-outside-tools{
    display:none!important;
  }
}


/* 업데이트 모달 내용 증가에 따른 가독성 보정 */
.lplan-update-panel-fixed,
.update-notice-panel,
.lplan-update-panel-final{
  max-height:86vh!important;
  overflow:auto!important;
}

.lplan-update-content-fixed,
.update-notice-list,
.lplan-update-box-final{
  max-height:48vh!important;
  overflow:auto!important;
  line-height:1.65!important;
}

.lplan-update-content-fixed div,
.lplan-update-box-final div{
  margin:3px 0!important;
}

.care-pill.disabled{
  opacity:.38!important;
  cursor:not-allowed!important;
}
.care-pill.disabled span{
  color:#9CA3AF!important;
}
.care-pill.disabled input{
  cursor:not-allowed!important;
}


/* Responsive consult layout */
@media screen{
  html,
  body{
    width:100%!important;
    min-width:0!important;
    overflow-x:auto!important;
    -webkit-text-size-adjust:100%!important;
  }

  .v1-header,
  .topbar{
    width:100%!important;
    min-width:0!important;
    max-width:100vw!important;
    box-sizing:border-box!important;
  }

  .topbar{
    padding:12px clamp(12px,1.4vw,22px)!important;
    gap:12px!important;
  }

  .top-actions,
  .v1-actions{
    flex-wrap:wrap!important;
    justify-content:flex-end!important;
  }

  #consultView.layout{
    width:min(100%, 1760px)!important;
    max-width:1760px!important;
    min-width:0!important;
    margin:0 auto!important;
    padding:clamp(10px,1.2vw,18px)!important;
    display:grid!important;
    grid-template-columns:clamp(280px,22vw,360px) minmax(0,1fr)!important;
    gap:clamp(10px,1.2vw,18px)!important;
    align-items:start!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  #consultView .summary-card{
    width:280px!important;
    min-width:0!important;
    max-width:none!important;
    position:fixed!important;
    left:max(10px, calc((100vw - 1760px) / 2 + 10px))!important;
    top:74px!important;
    max-height:calc(100vh - 74px)!important;
    overflow-y:auto!important;
    z-index:9!important;
    padding:clamp(12px,1.1vw,18px)!important;
    box-sizing:border-box!important;
  }

  #consultView .workspace,
  #consultView .panel,
  #consultView .product-panel{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  #consultView .workspace{
    grid-column:2!important;
    overflow:visible!important;
  }

  #consultView .form-grid{
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
  }

  #consultView .options-grid{
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;
  }

  #consultView .promo-grid{
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;
  }

  #consultView .table-wrap{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
  }

  #consultView .quote-table{
    width:100%!important;
    min-width:min(1180px, calc(100vw - 24px))!important;
    table-layout:fixed!important;
  }

  #customerView.customer-view{
    min-width:0!important;
    width:100%!important;
    max-width:100vw!important;
  }
}

@media screen and (min-width:901px){
  .v1-header{
    padding:9px 16px!important;
  }
  .v1-main-title{
    font-size:24px!important;
  }
  .v1-actions .btn,
  .v1-actions button{
    height:32px!important;
    padding:0 10px!important;
    font-size:12px!important;
  }
  #consultView.layout{
    grid-template-columns:280px minmax(0,1fr)!important;
    gap:10px!important;
    padding:10px!important;
  }
  #consultView .summary-card{
    padding:12px!important;
  }
  #consultView .summary-title{
    font-size:17px!important;
    line-height:1.35!important;
  }
  #consultView .summary-row{
    margin:9px 0!important;
  }
  #consultView .summary-row span,
  #consultView .benefit-list div{
    font-size:13px!important;
  }
  #consultView .summary-row strong{
    font-size:22px!important;
  }
  #consultView .benefit-list{
    gap:7px!important;
    margin:13px 0!important;
  }
  #consultView .divider{
    margin:13px 0!important;
  }
  #consultView .yellow-box{
    min-height:64px!important;
    margin:13px 0!important;
    padding:10px!important;
  }
  #consultView .yellow-box span{
    font-size:15px!important;
  }
  #consultView .yellow-box strong{
    font-size:24px!important;
  }
  #consultView .workspace{
    gap:10px!important;
  }
  #consultView .panel{
    padding:11px!important;
  }
  #consultView .panel h2{
    font-size:15px!important;
    margin-bottom:9px!important;
  }
  #consultView label{
    font-size:12px!important;
  }
  #consultView input,
  #consultView select,
  #consultView button{
    height:32px!important;
    font-size:12px!important;
  }
  #consultView .form-grid{
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
    gap:9px!important;
  }
  #consultView .options-grid{
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
    gap:10px!important;
  }
  #consultView .promo-grid{
    grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important;
    gap:9px!important;
  }
  #consultView .promo-grid div{
    padding:10px!important;
  }
  #consultView .promo-grid b{
    font-size:18px!important;
  }
  #consultView .quote-table{
    table-layout:fixed!important;
    min-width:0!important;
  }
  #consultView .quote-table th,
  #consultView .quote-table td{
    font-size:11px!important;
    padding:5px 4px!important;
  }
  #consultView .quote-table input,
  #consultView .quote-table select,
  #consultView .quote-table button{
    height:30px!important;
    font-size:11px!important;
    padding:0 6px!important;
  }
  #consultView .quote-table .col-no{width:38px!important}
  #consultView .quote-table .col-wedding{width:66px!important}
  #consultView .quote-table .col-sub{width:50px!important}
  #consultView .quote-table .col-cat{width:100px!important}
  #consultView .quote-table .col-model{width:230px!important}
  #consultView .quote-table .col-product-image{width:100px!important}
  #consultView .quote-table .col-reg{width:120px!important}
  #consultView .quote-table .col-fee{width:120px!important}
  #consultView .quote-table .col-point{width:96px!important}
  #consultView .quote-table .col-cashback{width:96px!important}
  #consultView .quote-table .col-care-setting{width:86px!important}
  #consultView .quote-table .col-action{width:48px!important}
  #consultView .product-image-box{
    width:82px!important;
    height:66px!important;
  }
  #consultView .model-input{
    font-size:12px!important;
  }
}

@media screen and (max-width:900px){
  #consultView.layout{
    grid-template-columns:1fr!important;
  }

  #consultView .summary-card{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    width:100%!important;
    max-height:none!important;
    overflow:visible!important;
  }

  #consultView .workspace{
    grid-column:1!important;
  }
}

@media screen and (min-width:1800px){
  #consultView.layout{
    grid-template-columns:clamp(340px,19vw,390px) minmax(0,1fr)!important;
  }

  #consultView .quote-table{
    min-width:0!important;
  }
}


/* MOBILE DESKTOP-LIKE LAYOUT ROOT FIX
   모바일 일렬 배치 원인 수정: column/1fr 강제 대신 PC형 레이아웃 유지 */





/* 원본 고객용 견적서 폭을 유지한 뒤 A4 폭으로 축소 */
  #customerView .customer-sheet{
    display:block!important;
    width:1180px!important;
    min-width:1180px!important;
    max-width:1180px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #111!important;
    box-shadow:none!important;
    background:#fff!important;
    transform:none!important;
    transform-origin:top left!important;
    page-break-inside:avoid!important;
    break-inside:avoid!important;
  }

  /* 상단 타이틀바 정상화 */
  #customerView .customer-title-bar{
    height:42px!important;
    min-height:42px!important;
    padding:0 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    box-sizing:border-box!important;
    background:#7B1028!important;
    border:0!important;
    border-bottom:1px solid #111!important;
  }

  #customerView .customer-brand-title{
    font-size:20px!important;
    line-height:42px!important;
    color:#fff!important;
  }

  #customerView .customer-version{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:22px!important;
    padding:0 10px!important;
    border-radius:999px!important;
    font-size:12px!important;
  }

  /* 고객 정보 표: colgroup 폭 충돌 방지 */
  #customerView .customer-info-table{
    width:1180px!important;
    min-width:1180px!important;
    max-width:1180px!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
    margin:0!important;
  }

  #customerView .customer-info-table col,
  #customerView .customer-info-table colgroup col{
    width:auto!important;
  }

  #customerView .customer-info-table th,
  #customerView .customer-info-table td{
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    padding:4px 6px!important;
    font-size:13px!important;
    line-height:1.2!important;
    vertical-align:middle!important;
    text-align:center!important;
    word-break:keep-all!important;
    white-space:normal!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    border:1px solid #111!important;
  }

  #customerView .customer-info-table th{
    width:86px!important;
    color:#7B1028!important;
    background:#fff!important;
    font-weight:900!important;
  }

  #customerView .customer-info-table td{
    color:#111!important;
    background:#fff!important;
    font-weight:800!important;
  }

  #customerView .customer-main-grid{
    display:grid!important;
    grid-template-columns:250px 1fr!important;
    width:1180px!important;
    min-width:1180px!important;
    max-width:1180px!important;
    gap:0!important;
    margin:0!important;
    border:0!important;
  }

  #customerView .customer-summary{
    width:250px!important;
    min-width:250px!important;
    max-width:250px!important;
    padding:16px!important;
    box-sizing:border-box!important;
    border-right:1px solid #111!important;
  }

  #customerView .customer-products{
    width:930px!important;
    min-width:930px!important;
    max-width:930px!important;
    padding:16px!important;
    box-sizing:border-box!important;
  }

  #customerView .customer-product-table{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
  }

  #customerView .customer-product-table th,
  #customerView .customer-product-table td{
    padding:6px!important;
    font-size:13px!important;
    line-height:1.25!important;
    height:36px!important;
    vertical-align:middle!important;
    text-align:center!important;
    word-break:break-word!important;
    white-space:normal!important;
    overflow:hidden!important;
    border:1px solid #111!important;
  }

  #customerView .customer-bottom-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:1180px!important;
    min-width:1180px!important;
    max-width:1180px!important;
    gap:0!important;
    margin:0!important;
  }

  #customerView .customer-description,
  #customerView .customer-care{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  #customerView input,
  #customerView select,
  #customerView textarea{
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    appearance:none!important;
    -webkit-appearance:none!important;
    padding:0!important;
    margin:0!important;
    height:auto!important;
    font:inherit!important;
    color:#111!important;
    text-align:center!important;
  }

  #customerView table,
  #customerView tr,
  #customerView td,
  #customerView th{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
}


/* Header */
  #customerView .customer-title-bar{
    height:13mm!important;
    min-height:13mm!important;
    padding:0 5mm!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    background:#7B1028!important;
    border:0!important;
    box-sizing:border-box!important;
  }

  #customerView .customer-brand-title{
    font-size:14pt!important;
    font-weight:900!important;
    color:#fff!important;
    line-height:1!important;
  }

  #customerView .customer-version{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:6mm!important;
    padding:0 3mm!important;
    border-radius:99px!important;
    background:#fff!important;
    color:#7B1028!important;
    font-size:8pt!important;
    font-weight:900!important;
  }

  /* Customer info: compact, readable */
  #customerView .customer-info-table{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    border-collapse:collapse!important;
    table-layout:fixed!important;
    margin:0!important;
  }

  #customerView .customer-info-table th,
  #customerView .customer-info-table td{
    height:9mm!important;
    min-height:9mm!important;
    max-height:9mm!important;
    padding:1.5mm 2mm!important;
    border:1px solid #7B1028!important;
    box-sizing:border-box!important;
    vertical-align:middle!important;
    text-align:center!important;
    line-height:1.15!important;
    overflow:hidden!important;
    white-space:normal!important;
    word-break:keep-all!important;
  }

  #customerView .customer-info-table th{
    width:11%!important;
    background:#FFF5F7!important;
    color:#7B1028!important;
    font-size:8pt!important;
    font-weight:900!important;
  }

  #customerView .customer-info-table td{
    background:#fff!important;
    color:#111!important;
    font-size:8.5pt!important;
    font-weight:800!important;
  }

  /* Main grid: left summary + selected products */
  #customerView .customer-main-grid{
    display:grid!important;
    grid-template-columns:48mm 1fr!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    gap:0!important;
    margin:0!important;
    border-top:1px solid #7B1028!important;
  }

  #customerView .customer-summary{
    width:48mm!important;
    min-width:48mm!important;
    max-width:48mm!important;
    padding:4mm 3mm!important;
    box-sizing:border-box!important;
    border-right:1px solid #7B1028!important;
    background:#fff!important;
  }

  #customerView .customer-greeting{
    font-size:9pt!important;
    font-weight:900!important;
    line-height:1.35!important;
    text-align:center!important;
    color:#111!important;
    margin-bottom:3mm!important;
  }

  #customerView .customer-line{
    border-top:1.5px solid #7B1028!important;
    margin:3mm 0!important;
  }

  #customerView .customer-summary .c-row{
    display:flex!important;
    justify-content:space-between!important;
    align-items:flex-end!important;
    gap:2mm!important;
    margin:2mm 0!important;
  }

  #customerView .customer-summary .c-row span{
    color:#7B1028!important;
    font-size:8pt!important;
    font-weight:900!important;
  }

  #customerView .customer-summary .c-row b{
    color:#111!important;
    font-size:13pt!important;
    font-weight:900!important;
  }

  #customerView .customer-summary .c-detail{
    display:grid!important;
    gap:1.1mm!important;
    margin:2mm 0!important;
  }

  #customerView .customer-summary .c-detail div{
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:2mm!important;
  }

  #customerView .customer-summary .c-detail span,
  #customerView .customer-summary .c-detail b{
    font-size:7.4pt!important;
    line-height:1.15!important;
  }

  #customerView .customer-summary .c-detail span{
    color:#7B1028!important;
    font-weight:800!important;
  }

  #customerView .customer-summary .c-detail b{
    color:#111!important;
    font-weight:900!important;
  }

  #customerView .customer-summary .c-final-box{
    min-height:13mm!important;
    padding:2mm 3mm!important;
    margin:3mm 0!important;
    border:1.6px solid #7B1028!important;
    border-radius:3mm!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    background:#fff!important;
  }

  #customerView .customer-summary .c-final-box span{
    color:#7B1028!important;
    font-size:8pt!important;
    font-weight:900!important;
  }

  #customerView .customer-summary .c-final-box b{
    color:#111!important;
    font-size:15pt!important;
    font-weight:900!important;
    line-height:1!important;
  }

  #customerView .allstar-base-row{
    display:none!important;
  }

  #customerView .customer-products{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    padding:4mm!important;
    box-sizing:border-box!important;
    background:#fff!important;
  }

  #customerView .customer-table-logo{
    color:#7B1028!important;
    font-size:8pt!important;
    font-weight:900!important;
    margin-bottom:1.5mm!important;
  }

  #customerView .customer-product-table{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
  }

  #customerView .customer-product-table th,
  #customerView .customer-product-table td{
    border:1px solid #7B1028!important;
    padding:1.8mm!important;
    height:8mm!important;
    min-height:8mm!important;
    max-height:8mm!important;
    text-align:center!important;
    vertical-align:middle!important;
    font-size:8pt!important;
    line-height:1.15!important;
    white-space:normal!important;
    word-break:break-word!important;
    overflow:hidden!important;
    color:#111!important;
  }

  #customerView .customer-product-table th{
    background:#FFF5F7!important;
    color:#7B1028!important;
    font-weight:900!important;
  }

  #customerView .customer-product-table td{
    background:#fff!important;
    font-weight:800!important;
  }

  #customerView .customer-product-table tr:nth-child(even) td{
    background:#FFF9FA!important;
  }

  /* Bottom: explanation and care guide */
  #customerView .customer-bottom-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    gap:0!important;
    border-top:1px solid #7B1028!important;
  }

  #customerView .customer-description,
  #customerView .customer-care{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    padding:0!important;
    border:0!important;
    background:#fff!important;
    box-sizing:border-box!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  #customerView .customer-description{
    border-right:1px solid #7B1028!important;
  }

  #customerView .customer-description h2,
  #customerView .customer-care h2{
    margin:0!important;
    padding:2.5mm!important;
    background:#FFF5F7!important;
    color:#7B1028!important;
    font-size:11pt!important;
    font-weight:900!important;
    text-align:center!important;
    border-bottom:1px solid #7B1028!important;
  }

  #customerView .customer-description table,
  #customerView .customer-care table{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    border-collapse:collapse!important;
    table-layout:fixed!important;
  }

  #customerView .customer-description th,
  #customerView .customer-description td,
  #customerView .customer-care th,
  #customerView .customer-care td{
    border:1px solid #D1D5DB!important;
    padding:1.7mm!important;
    font-size:7.5pt!important;
    line-height:1.25!important;
    vertical-align:middle!important;
    color:#111!important;
    word-break:keep-all!important;
  }

  #customerView .customer-description th,
  #customerView .customer-care th{
    width:20mm!important;
    background:#FFF5F7!important;
    color:#7B1028!important;
    font-weight:900!important;
    text-align:center!important;
  }

  #customerView .care-total{
    padding:2.5mm 3mm!important;
    border-top:1px solid #7B1028!important;
    background:#fff!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    color:#111!important;
  }

  #customerView .care-total span{
    font-size:10pt!important;
    font-weight:900!important;
    color:#111!important;
  }

  #customerView .care-total b{
    font-size:13pt!important;
    font-weight:900!important;
    color:#7B1028!important;
  }

  #customerView input,
  #customerView select,
  #customerView textarea{
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    appearance:none!important;
    -webkit-appearance:none!important;
    padding:0!important;
    margin:0!important;
    height:auto!important;
    font:inherit!important;
    color:#111!important;
    text-align:center!important;
  }

  #customerView table,
  #customerView tr,
  #customerView td,
  #customerView th,
  #customerView .customer-main-grid,
  #customerView .customer-bottom-grid{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
}


/* Header */
  #customerView .customer-title-bar{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:0 5mm!important;
    background:#7B1028!important;
    border-bottom:0.4mm solid #7B1028!important;
  }

  #customerView .customer-brand-title{
    color:#fff!important;
    font-size:14pt!important;
    font-weight:900!important;
  }

  #customerView .customer-version{
    background:#fff!important;
    color:#7B1028!important;
    border-radius:99px!important;
    padding:1mm 3mm!important;
    font-size:7pt!important;
    font-weight:900!important;
  }

  /* Info table */
  #customerView .customer-info-table{
    width:100%!important;
    height:28mm!important;
    border-collapse:collapse!important;
    table-layout:fixed!important;
  }

  #customerView .customer-info-table th,
  #customerView .customer-info-table td{
    border:0.35mm solid #7B1028!important;
    text-align:center!important;
    vertical-align:middle!important;
    padding:1mm!important;
    font-size:7.8pt!important;
    line-height:1.1!important;
    word-break:keep-all!important;
  }

  #customerView .customer-info-table th{
    background:#FFF4F6!important;
    color:#7B1028!important;
    font-weight:900!important;
  }

  #customerView .customer-info-table td{
    background:#fff!important;
    color:#111!important;
    font-weight:800!important;
  }

  /* Main */
  #customerView .customer-main-grid{
    display:grid!important;
    grid-template-columns:50mm 1fr!important;
    min-height:0!important;
    overflow:hidden!important;
    border-bottom:0.35mm solid #7B1028!important;
  }

  /* Summary */
  #customerView .customer-summary{
    padding:3mm!important;
    border-right:0.35mm solid #7B1028!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  #customerView .customer-greeting{
    text-align:center!important;
    font-size:8.5pt!important;
    font-weight:900!important;
    line-height:1.35!important;
    color:#111!important;
    margin-bottom:3mm!important;
  }

  #customerView .customer-line{
    border-top:0.45mm solid #7B1028!important;
    margin:2.5mm 0!important;
  }

  #customerView .customer-summary .c-row{
    display:flex!important;
    justify-content:space-between!important;
    align-items:flex-end!important;
    margin-bottom:1.5mm!important;
  }

  #customerView .customer-summary .c-row span{
    color:#7B1028!important;
    font-size:8pt!important;
    font-weight:900!important;
  }

  #customerView .customer-summary .c-row b{
    color:#111!important;
    font-size:14pt!important;
    font-weight:900!important;
  }

  #customerView .customer-summary .c-detail{
    display:grid!important;
    gap:0.8mm!important;
  }

  #customerView .customer-summary .c-detail div{
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
  }

  #customerView .customer-summary .c-detail span{
    color:#7B1028!important;
    font-size:6.8pt!important;
    font-weight:800!important;
  }

  #customerView .customer-summary .c-detail b{
    color:#111!important;
    font-size:6.8pt!important;
    font-weight:900!important;
  }

  #customerView .customer-summary .c-final-box{
    min-height:12mm!important;
    margin:2mm 0!important;
    border:0.45mm solid #7B1028!important;
    border-radius:2.5mm!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:0 3mm!important;
  }

  #customerView .customer-summary .c-final-box span{
    color:#7B1028!important;
    font-size:8pt!important;
    font-weight:900!important;
  }

  #customerView .customer-summary .c-final-box b{
    color:#111!important;
    font-size:15pt!important;
    font-weight:900!important;
  }

  /* Product table */
  #customerView .customer-products{
    padding:3mm!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  #customerView .customer-product-table{
    width:100%!important;
    border-collapse:collapse!important;
    table-layout:fixed!important;
  }

  #customerView .customer-product-table th,
  #customerView .customer-product-table td{
    border:0.3mm solid #7B1028!important;
    text-align:center!important;
    vertical-align:middle!important;
    padding:1mm!important;
    font-size:7pt!important;
    line-height:1.1!important;
    word-break:break-word!important;
  }

  #customerView .customer-product-table th{
    background:#FFF4F6!important;
    color:#7B1028!important;
    font-weight:900!important;
  }

  #customerView .customer-product-table td{
    color:#111!important;
    font-weight:800!important;
  }

  /* Bottom */
  #customerView .customer-bottom-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    overflow:hidden!important;
  }

  #customerView .customer-description,
  #customerView .customer-care{
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  #customerView .customer-description{
    border-right:0.35mm solid #7B1028!important;
  }

  #customerView .customer-description h2,
  #customerView .customer-care h2{
    margin:0!important;
    padding:2mm!important;
    background:#FFF4F6!important;
    color:#7B1028!important;
    border-bottom:0.35mm solid #7B1028!important;
    text-align:center!important;
    font-size:10pt!important;
    font-weight:900!important;
  }

  #customerView .customer-description table,
  #customerView .customer-care table{
    width:100%!important;
    border-collapse:collapse!important;
    table-layout:fixed!important;
  }

  #customerView .customer-description th,
  #customerView .customer-description td,
  #customerView .customer-care th,
  #customerView .customer-care td{
    border:0.25mm solid #D6D6D6!important;
    padding:1mm!important;
    font-size:6.7pt!important;
    line-height:1.15!important;
    word-break:keep-all!important;
  }

  #customerView .customer-description th,
  #customerView .customer-care th{
    background:#FFF4F6!important;
    color:#7B1028!important;
    font-weight:900!important;
  }

  #customerView .care-total{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:2mm 3mm!important;
    border-top:0.35mm solid #7B1028!important;
  }

  #customerView .care-total span{
    font-size:9pt!important;
    font-weight:900!important;
    color:#111!important;
  }

  #customerView .care-total b{
    font-size:12pt!important;
    font-weight:900!important;
    color:#7B1028!important;
  }
}


/*
    원본 고객용 sheet 폭을 유지하되, A4 폭에 맞는 동일 비율 축소.
    - 동일 비율 축소만 사용 = 왜곡 없음
    - 기존 고객용 디자인/표 구조 유지
    - 1180px 기준 sheet를 210mm에 맞춤
  */
  #customerView .customer-sheet{
    width:1180px!important;
    min-width:1180px!important;
    max-width:1180px!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    background:#fff!important;
    box-shadow:none!important;
    border:1px solid #111!important;
    transform:none!important;
    transform-origin:top left!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  /* 기존 화면용 모바일/PC min-width가 print에 끼어드는 것만 차단 */
  #customerView.customer-view{
    min-width:0!important;
    max-width:none!important;
    overflow:visible!important;
  }

  #customerView .customer-main-grid,
  #customerView .customer-bottom-grid,
  #customerView .customer-info-table,
  #customerView .customer-product-table{
    transform:none!important;
  }

  #customerView table{
    border-collapse:collapse!important;
  }

  #customerView input,
  #customerView select,
  #customerView textarea{
    border:none!important;
    background:transparent!important;
    box-shadow:none!important;
    appearance:none!important;
    -webkit-appearance:none!important;
  }
}


/*
    핵심: 인쇄 대상은 customer-sheet 하나만.
    화면의 파란/회색 외부 영역, 패딩, 스크롤 영역을 전부 제거.
    원본 고객용 디자인은 유지하되 A4 폭에 동일비율로 맞춤.
  */
  #customerView .customer-sheet{
    display:block!important;
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:1180px!important;
    min-width:1180px!important;
    max-width:1180px!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    background:#fff!important;
    border:1px solid #111!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
    transform:none!important;
    transform-origin:top left!important;
  }

  #customerView table{
    border-collapse:collapse!important;
  }

  #customerView input,
  #customerView select,
  #customerView textarea{
    border:none!important;
    background:transparent!important;
    box-shadow:none!important;
    appearance:none!important;
    -webkit-appearance:none!important;
  }
}


/* 빈 영역 원인 제거: 모든 화면 요소를 레이아웃에서 제거 */
  body > *{
    display:none!important;
  }

  /* 고객용 견적서만 출력 */
  body > #customerView{
    display:block!important;
    position:static!important;
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:#fff!important;
  }

  #customerView > *{
    display:none!important;
  }

  #customerView > .customer-sheet{
    display:block!important;
    width:1180px!important;
    min-width:1180px!important;
    max-width:1180px!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    background:#fff!important;
    border:1px solid #111!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:hidden!important;

    /* transform 대신 zoom 사용: 실제 인쇄 레이아웃 크기도 함께 축소 */
    zoom:.672!important;
    transform:none!important;
    transform-origin:top left!important;

    break-inside:avoid!important;
    page-break-inside:avoid!important;
    page-break-after:avoid!important;
  }

  #customerView .customer-sheet *{
    visibility:visible!important;
  }

  #customerView table{
    border-collapse:collapse!important;
  }

  #customerView input,
  #customerView select,
  #customerView textarea{
    border:none!important;
    background:transparent!important;
    box-shadow:none!important;
    appearance:none!important;
    -webkit-appearance:none!important;
  }
}


/* BESTSHOP STYLE CUSTOMER QUOTE */
#customerView.customer-view{
  background:#EEF1F5!important;
  padding:24px 0 42px!important;
  overflow:auto!important;
}
#customerView.customer-view.hidden{display:none!important}
.customer-outside-tools{
  width:960px!important;
  max-width:calc(100vw - 24px)!important;
  margin:0 auto 10px!important;
  display:flex!important;
  justify-content:flex-end!important;
}
.bestshop-sheet{
  width:960px!important;
  min-height:1320px!important;
  margin:0 auto!important;
  background:#fff!important;
  border:1px solid #D7DEE8!important;
  box-shadow:0 8px 24px rgba(15,23,42,.12)!important;
  padding:42px 48px!important;
  box-sizing:border-box!important;
  color:#111!important;
}
.bestshop-header{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  border-bottom:3px solid #111!important;
  padding-bottom:14px!important;
  margin-bottom:18px!important;
}
.bestshop-header h1{
  margin:0 0 8px!important;
  font-size:28px!important;
  font-weight:900!important;
  letter-spacing:-.8px!important;
  color:#111!important;
}
.bestshop-header p{margin:0!important;font-size:13px!important;color:#555!important}
.bestshop-badge{
  background:#7B1028!important;
  color:#fff!important;
  border-radius:999px!important;
  padding:7px 14px!important;
  font-weight:900!important;
  font-size:13px!important;
}
.bestshop-basic{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  border:1px solid #D1D5DB!important;
  margin-bottom:18px!important;
}
.bestshop-basic div{
  display:grid!important;
  grid-template-columns:86px 1fr!important;
  min-height:42px!important;
  border-right:1px solid #D1D5DB!important;
  border-bottom:1px solid #D1D5DB!important;
}
.bestshop-basic div:nth-child(3n){border-right:0!important}
.bestshop-basic .wide{grid-column:span 3!important;border-right:0!important}
.bestshop-basic span{
  display:flex!important;align-items:center!important;justify-content:center!important;
  background:#F8F8FA!important;color:#7B1028!important;font-size:12px!important;font-weight:900!important;
}
.bestshop-basic b{
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:0 8px!important;font-size:13px!important;font-weight:800!important;color:#111!important;
}
.customer-valid-input{border:0!important;text-align:center!important;font:inherit!important;font-weight:800!important;background:transparent!important}
.bestshop-products h2,.bestshop-care h2,.bestshop-notice h2,.bestshop-benefit-card h2{
  margin:0 0 10px!important;font-size:18px!important;font-weight:900!important;color:#7B1028!important;
}
.bestshop-product-table,.bestshop-care table{
  width:100%!important;border-collapse:collapse!important;table-layout:fixed!important;
}
.bestshop-product-table th,.bestshop-product-table td,.bestshop-care th,.bestshop-care td{
  border:1px solid #D1D5DB!important;padding:10px 8px!important;text-align:center!important;vertical-align:middle!important;
  font-size:13px!important;line-height:1.25!important;color:#111!important;
}
.bestshop-product-table th,.bestshop-care th{background:#F8F8FA!important;color:#7B1028!important;font-weight:900!important}
.bestshop-product-table td{font-weight:700!important}
.bestshop-product-table th:nth-child(1){width:46px!important}
.bestshop-product-table th:nth-child(2){width:88px!important}
.bestshop-product-table th:nth-child(3){width:100px!important}
.bestshop-product-table th:nth-child(5){width:110px!important}
.bestshop-product-table th:nth-child(6){width:150px!important}
.customer-note-editor{width:100%!important;border:0!important;resize:none!important;background:transparent!important;text-align:center!important;font:inherit!important}
.bestshop-summary-grid{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;margin:18px 0!important;
}
.bestshop-benefit-card{
  border:1px solid #D1D5DB!important;border-radius:12px!important;padding:16px!important;background:#fff!important;
}
.sum-row,.sub-row,.final-line{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) max-content!important;
  align-items:center!important;
  column-gap:12px!important;
}
.sum-row{padding:8px 0!important;border-bottom:1px solid #E5E7EB!important}
.sum-row span{min-width:0!important;font-weight:900!important;color:#111!important;font-size:15px!important;line-height:1.15!important;word-break:keep-all!important}
.sum-row b{font-weight:900!important;color:#111!important;font-size:21px!important;line-height:1!important;white-space:nowrap!important;text-align:right!important}
.sub-row{padding:6px 0!important;font-size:13px!important}
.sub-row span{min-width:0!important;color:#555!important;font-weight:700!important;line-height:1.15!important;word-break:keep-all!important}
.sub-row b{min-width:74px!important;color:#7B1028!important;font-weight:900!important;line-height:1!important;white-space:nowrap!important;text-align:right!important}
.final-line{
  grid-template-columns:minmax(0,1fr) max-content!important;
  margin-top:12px!important;padding:13px 14px!important;border:2px solid #7B1028!important;border-radius:10px!important;
}
.final-line span{min-width:0!important;font-weight:900!important;color:#7B1028!important;line-height:1.15!important;word-break:keep-all!important}
.final-line b{font-size:24px!important;font-weight:900!important;color:#111!important;line-height:1!important;white-space:nowrap!important;text-align:right!important}
.bestshop-care{margin-top:16px!important}
.bestshop-care th{width:120px!important}
.care-total{
  display:flex!important;justify-content:space-between!important;align-items:center!important;
  border:1px solid #D1D5DB!important;border-top:0!important;padding:14px!important;font-weight:900!important;
}
.care-total b{font-size:22px!important;color:#7B1028!important}
.bestshop-notice{
  margin-top:18px!important;border:1px solid #F1C4CE!important;border-radius:12px!important;padding:16px!important;background:#FFF8FA!important;
}
.bestshop-notice ol{margin:0!important;padding-left:22px!important}
.bestshop-notice li{font-size:13px!important;line-height:1.7!important;color:#333!important}

@media print{
  @page{size:A4 portrait;margin:0}
  html,body{margin:0!important;padding:0!important;background:#fff!important;overflow:visible!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  body>*{display:none!important}
  body>#customerView{display:block!important;background:#fff!important;padding:0!important;margin:0!important;overflow:visible!important}
  #customerView>*{display:none!important}
  #customerView>.bestshop-sheet{
    display:block!important;
    width:960px!important;
    min-height:1320px!important;
    margin:0!important;
    padding:42px 48px!important;
    box-shadow:none!important;
    border:0!important;
    zoom:.827!important;
  }
}


/* BESTSHOP CUSTOMER VISIBILITY ROOT FIX */
body.customer-mode #consultView{
  display:none!important;
}

body.customer-mode #customerView.customer-view{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  z-index:1!important;
}

body.customer-mode #customerView.customer-view.hidden{
  display:none!important;
}

body.customer-mode #customerView.customer-view > .customer-outside-tools,
body.customer-mode #customerView.customer-view > .bestshop-sheet{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

body.customer-mode #customerView.customer-view > .bestshop-sheet *{
  visibility:visible!important;
  opacity:1!important;
}

/* 예전 고객용 구조 선택자는 새 bestshop 구조에 영향 주지 않도록 제한 */
#customerView .bestshop-sheet{
  width:960px!important;
  min-height:1320px!important;
  margin:0 auto!important;
  display:block!important;
}


/* BESTSHOP PRINT CENTER ROOT FIX */
@media print{
  @page{
    size:A4 portrait;
    margin:0;
  }

  html,
  body{
    margin:0!important;
    padding:0!important;
    width:210mm!important;
    min-width:0!important;
    background:#fff!important;
    overflow:visible!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  body > *{
    display:none!important;
  }

  body > #customerView{
    display:flex!important;
    justify-content:center!important;
    align-items:flex-start!important;
    width:210mm!important;
    min-width:0!important;
    max-width:210mm!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    overflow:visible!important;
  }

  #customerView > *{
    display:none!important;
  }

  #customerView > .bestshop-sheet{
    display:block!important;
    width:960px!important;
    min-height:1320px!important;
    margin:0 auto!important;
    padding:42px 48px!important;
    background:#fff!important;
    box-shadow:none!important;
    border:0!important;
    box-sizing:border-box!important;
    zoom:.827!important;
    transform:none!important;
  }
}


/* BESTSHOP LAYOUT TUNE V2 */

/* 지점명 줄바꿈 방지 */
#cBranch{
  font-size:11px!important;
  letter-spacing:-0.4px!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* 기본 셀 줄바꿈 안정화 */
.bestshop-basic b{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* 상품 테이블 비율 조정 */
.bestshop-product-table th:nth-child(1){
  width:46px!important;
}
.bestshop-product-table th:nth-child(2){
  width:88px!important;
}
.bestshop-product-table th:nth-child(3){
  width:120px!important; /* 품목 확대 */
}
.bestshop-product-table th:nth-child(4){
  width:290px!important; /* 모델명 축소 */
}
.bestshop-product-table th:nth-child(5){
  width:110px!important;
}
.bestshop-product-table th:nth-child(6){
  width:auto!important; /* 남는 영역 비고 */
}

/* 모델명 셀 overflow 정리 */
.bestshop-product-table td.model{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* PRINT CENTER FIX */
@media print{

  html,
  body{
    width:210mm!important;
    margin:0!important;
    padding:0!important;
    background:#ffffff!important;
    overflow:visible!important;
  }

  body > #customerView{
    width:210mm!important;
    display:flex!important;
    justify-content:center!important;
    align-items:flex-start!important;
    margin:0 auto!important;
    padding:0!important;
    background:#ffffff!important;
  }

  #customerView > .bestshop-sheet{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    margin:0 auto!important;
    transform-origin:top center!important;
    zoom:.82!important;
  }
}


/* BESTSHOP CUSTOMER REQUEST FIX */
/* 지점명: 기존보다 1pt 크게 */
#cBranch{
  font-size:12px!important;
}

/* 선택 상품: 월 구독료 칸 제거 후 폭 재배치 */
.bestshop-product-table th:nth-child(1){
  width:46px!important;
}
.bestshop-product-table th:nth-child(2){
  width:88px!important;
}
.bestshop-product-table th:nth-child(3){
  width:130px!important;
}
.bestshop-product-table th:nth-child(4){
  width:300px!important;
}
.bestshop-product-table th:nth-child(5){
  width:auto!important;
}

/* 케어십 안내 설명 좌측 정렬 */
.bestshop-care td,
#cCareRows td{
  text-align:left!important;
}

/* 총 케어십 혜택 글자 +5px, 칸 넘침 방지 */
.care-total span{
  font-size:15px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
}

.care-total b{
  font-size:27px!important;
  line-height:1!important;
  white-space:nowrap!important;
  max-width:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  flex:0 0 auto!important;
  text-align:right!important;
}

/* 인쇄에서도 동일 적용 */
@media print{
  #cBranch{
    font-size:12px!important;
  }
  .bestshop-product-table th:nth-child(1){
    width:46px!important;
  }
  .bestshop-product-table th:nth-child(2){
    width:88px!important;
  }
  .bestshop-product-table th:nth-child(3){
    width:130px!important;
  }
  .bestshop-product-table th:nth-child(4){
    width:300px!important;
  }
  .bestshop-product-table th:nth-child(5){
    width:auto!important;
  }
  .bestshop-care td,
  #cCareRows td{
    text-align:left!important;
  }
  .care-total span{
    font-size:15px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }
  .care-total b{
    font-size:27px!important;
    line-height:1!important;
    white-space:nowrap!important;
    max-width:none!important;
    overflow:visible!important;
    text-overflow:clip!important;
    flex:0 0 auto!important;
    text-align:right!important;
  }
}





/* QUOTE LIST EXPIRE BADGE */
.quote-expire-badge{
  display:inline-flex!important;
  align-items:center!important;
  margin-top:6px!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  background:#FFF5F7!important;
  color:#7B1028!important;
  border:1px solid #F1C4CE!important;
  font-size:12px!important;
  font-weight:900!important;
}





/* FINAL LABEL NOWRAP ROOT FIX */
/* 최종 상품 금액 / 최종 혜택가 라벨을 줄바꿈 없이 한 줄 표시 */
.final-label,
.yellow-box .final-label,
.final-price-box .final-label,
.final-line span,
.bestshop-benefit-card .final-line span{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  line-height:1!important;
  text-align:left!important;
}

/* 최종 금액 박스 내부에서 라벨/금액이 한 줄로 안정 배치 */
.yellow-box,
.final-price-box{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
}

.final-line span{
  min-width:0!important;
}

@media print{
  .final-label,
  .yellow-box .final-label,
  .final-price-box .final-label,
  .final-line span,
  .bestshop-benefit-card .final-line span{
    display:inline-flex!important;
    flex-direction:row!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    line-height:1!important;
  }
}


/* MODAL ENTER ADMIN ROOT FIX FINAL */
.care-modal:not(.hidden),
.admin-modal:not(.hidden){
  display:flex!important;
}

.care-pill input:disabled + span,
.prepay-pill input:disabled + span{
  opacity:.35!important;
  cursor:not-allowed!important;
}

.fixed-prepay-box{
  margin-top:10px;
  padding:12px;
  border:1px solid #d9dde5;
  border-radius:8px;
  background:#f8fafc;
}
.fixed-prepay-box label{
  font-size:13px;
  font-weight:800;
}
.fixed-prepay-box input{
  margin-top:6px;
  text-align:right;
}
.fixed-prepay-box p{
  margin:8px 0 0;
  color:#667085;
  font-size:12px;
  font-weight:700;
}

.care-setting-btn:disabled{
  opacity:.45!important;
  cursor:not-allowed!important;
}


/* MODEL AUTOCOMPLETE FIX */
.model-suggest-box{
  position:absolute;
  top:100%;
  left:0;
  right:0;
  background:#fff;
  border:1px solid #d9d9d9;
  border-radius:10px;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
  z-index:9999;
  max-height:320px;
  overflow:auto;
  margin-top:4px;
}

.model-suggest-item{
  width:100%;
  border:0;
  background:#fff;
  text-align:left;
  padding:10px 12px;
  cursor:pointer;
  font-size:13px;
}

.model-suggest-item:hover,
.model-suggest-item.active{
  background:#7b1028;
  color:#fff;
}

.model-suggest-box.hidden{
  display:none!important;
}


/* LOGOUT + SUB MODAL INTEGRATED FIX */
#userLoginGate:not(.hidden){
  display:flex!important;
}

#careModal:not(.hidden){
  display:flex!important;
}

.event-status-line{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:12px;
  padding:10px 14px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fbfcfe;
  cursor:pointer;
}

.event-status-line span{
  flex:0 0 auto;
  color:#7B1028;
  font-weight:900;
}

.event-status-line b{
  min-width:0;
  color:#111111;
  font-size:14px;
  line-height:1.35;
  white-space:normal;
  word-break:keep-all;
}

.event-status-line:hover{
  border-color:#c8102e;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
}


/* INSHOP MULTI DISPLAY FIX */
#multiAmountView,
#inshopCashbackView{
  color:#7B1028!important;
  font-weight:900!important;
}


/* REQUESTED CLEANUP FIX */
/* 모델명은 custom suggestion만 사용 */
input.model-input::-webkit-calendar-picker-indicator{
  display:none!important;
}

/* 인샵 프로모션은 일반 프로모션 카드와 동일한 세로 배치 */
.inshop-promo-row:not(.hidden){
  display:block!important;
}
.inshop-promo-row span,
.inshop-promo-row b,
.inshop-promo-row em{
  display:block!important;
  text-align:left!important;
}
.inshop-promo-row b{
  color:#7B1028!important;
  font-weight:900!important;
  font-size:24px!important;
  line-height:1.2!important;
  margin-top:6px!important;
}
.inshop-promo-row em{
  margin-top:6px!important;
  color:#6b7280!important;
  font-size:12px!important;
  white-space:normal!important;
  font-style:normal!important;
}
#inshopBaseInline{
  font-weight:800!important;
}

/* 일시불 제휴카드 입력 영역 원복 */
.cash-card-manual-add{
  display:grid!important;
  grid-template-columns:1fr 1fr 1fr auto!important;
  gap:8px!important;
  align-items:center!important;
}
.cash-card-manual-add input,
.cash-card-manual-add button{
  min-width:0!important;
  height:42px!important;
  white-space:nowrap!important;
}
.samsung-new-issue{
  display:flex!important;
  grid-column:1 / -1;
  grid-template-columns:none;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  min-height:34px;
  font-weight:800;
  color:#7B1028;
}
.samsung-new-issue input{
  width:18px;
  height:18px;
  accent-color:#7B1028;
}
.samsung-new-issue.hidden{
  display:none!important;
}
.custom-card-list{
  margin-top:10px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
}
.custom-card-item{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  padding:8px 10px!important;
  border:1px solid #e1e5ee!important;
  border-radius:10px!important;
  background:#fff!important;
  font-size:13px!important;
}
.custom-card-item span{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.custom-card-item button{
  flex:0 0 auto!important;
}


























/* REAL SNAPSHOT PDF TRY */
.real-snapshot-pdf-root{
  position:fixed!important;
  left:-12000px!important;
  top:0!important;
  width:900px!important;
  background:#ffffff!important;
  overflow:visible!important;
  z-index:-1!important;
  transform:none!important;
  zoom:1!important;
}

.real-snapshot-pdf-root,
.real-snapshot-pdf-root *{
  box-sizing:border-box!important;
  transform:none!important;
  zoom:1!important;
  filter:none!important;
  text-shadow:none!important;
  animation:none!important;
  transition:none!important;
  letter-spacing:normal!important;
  word-spacing:normal!important;
  font-kerning:normal!important;
  -webkit-font-smoothing:antialiased!important;
  text-rendering:auto!important;
  font-family:'LG스마트체 Regular','LGSmart','LG Smart UI','Noto Sans KR','Apple SD Gothic Neo',sans-serif!important;
}

.real-snapshot-sheet{
  width:900px!important;
  max-width:none!important;
  min-height:auto!important;
  margin:0!important;
  padding:42px 48px!important;
  background:#ffffff!important;
  color:#111827!important;
  border:1px solid #e5e7eb!important;
  transform:none!important;
  zoom:1!important;
  overflow:visible!important;
  font-size:13px!important;
  line-height:1.45!important;
}

.real-snapshot-sheet h1{
  font-size:28px!important;
  line-height:1.16!important;
  font-weight:700!important;
  margin:0!important;
}

.real-snapshot-sheet h2{
  font-size:18px!important;
  line-height:1.25!important;
  font-weight:700!important;
}

.real-snapshot-sheet b,
.real-snapshot-sheet strong,
.real-snapshot-sheet th{
  font-weight:700!important;
}

.real-snapshot-sheet table{
  width:100%!important;
  border-collapse:collapse!important;
  table-layout:fixed!important;
}

.real-snapshot-sheet th,
.real-snapshot-sheet td{
  font-size:12px!important;
  line-height:1.35!important;
  padding:8px 7px!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  white-space:normal!important;
}

.real-snapshot-sheet .sum-row,
.real-snapshot-sheet .sub-row,
.real-snapshot-sheet .final-line{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) max-content!important;
  align-items:center!important;
  column-gap:12px!important;
}

.real-snapshot-sheet .sum-row span,
.real-snapshot-sheet .sub-row span,
.real-snapshot-sheet .final-line span{
  min-width:0!important;
  line-height:1.15!important;
  word-break:keep-all!important;
  white-space:normal!important;
}

.real-snapshot-sheet .sum-row b,
.real-snapshot-sheet .sub-row b,
.real-snapshot-sheet .final-line b{
  min-width:max-content!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  text-align:right!important;
}

.real-snapshot-sheet .care-total{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
}

.real-snapshot-sheet .care-total span{
  flex:1 1 auto!important;
  min-width:0!important;
  white-space:nowrap!important;
}

.real-snapshot-sheet .care-total b{
  flex:0 0 auto!important;
  max-width:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  text-align:right!important;
}

.real-snapshot-note{
  white-space:pre-wrap!important;
  font-size:12px!important;
  line-height:1.35!important;
}


/* CUSTOMER NOTE BLANK FIX */
.customer-note-editor{
  min-height:34px!important;
  background:#ffffff!important;
}
.note-cell{
  background:#ffffff!important;
}








/* LOGIN NOTICE POPUP - FINAL EVENT BASED */
.login-notice-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:2147483647!important;
  background:rgba(15,23,42,.58)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
}

.login-notice-popup,
.login-security-popup{
  width:min(920px,96vw)!important;
  max-height:92vh!important;
  overflow:auto!important;
  background:#fff!important;
  border-radius:0!important;
  box-shadow:0 28px 90px rgba(0,0,0,.32)!important;
  color:#111827!important;
}

.login-notice-head,
.login-security-head{
  background:#b0003a!important;
  color:#fff!important;
  padding:28px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
}

.login-notice-head h2,
.login-security-head h2{
  margin:0!important;
  font-size:26px!important;
  font-weight:900!important;
  color:#fff!important;
}

.login-notice-x{
  border:0!important;
  background:transparent!important;
  color:#fff!important;
  font-size:42px!important;
  line-height:1!important;
  cursor:pointer!important;
}

.login-notice-body,
.login-security-body{
  padding:30px 38px!important;
}

.login-notice-body h3{
  margin:0 0 14px!important;
  color:#b0003a!important;
  font-size:22px!important;
  font-weight:900!important;
}

.login-notice-body ul{
  margin:0!important;
  padding-left:24px!important;
}

.login-notice-body li{
  margin:0 0 10px!important;
  font-size:18px!important;
  line-height:1.6!important;
  font-weight:800!important;
}

.login-notice-alert{
  margin-top:22px!important;
  padding:18px!important;
  border-radius:10px!important;
  background:#fff4f6!important;
  border:1px solid #ff8fa7!important;
  color:#b0003a!important;
  font-size:18px!important;
  line-height:1.7!important;
  font-weight:900!important;
}

.login-notice-confirm{
  display:block!important;
  margin:28px 0 0 auto!important;
  border:0!important;
  background:#b0003a!important;
  color:#fff!important;
  padding:15px 30px!important;
  border-radius:10px!important;
  font-size:18px!important;
  font-weight:900!important;
  cursor:pointer!important;
}

.login-security-body p{
  margin:0 0 10px!important;
  font-size:17px!important;
  line-height:1.7!important;
}

.login-security-body b,
.login-security-body .red{
  color:#b0003a!important;
  font-weight:900!important;
}

.security-warning-box{
  margin-top:20px!important;
  border:2px solid #ff5c72!important;
  border-radius:12px!important;
  padding:18px!important;
  background:#fff7f8!important;
}

.security-warning-box h3{
  margin:0 0 10px!important;
  color:#d00036!important;
  font-size:18px!important;
  font-weight:900!important;
}

.security-warning-box ul{
  margin:0!important;
  padding-left:22px!important;
}

.security-warning-box li{
  margin-bottom:8px!important;
  font-size:16px!important;
  line-height:1.6!important;
}

.security-warning-box div{
  margin-top:14px!important;
  padding:12px!important;
  border-radius:8px!important;
  background:#ffecef!important;
  color:#d00036!important;
  font-weight:900!important;
  line-height:1.6!important;
}


/* ADMIN ACCESS LOG */
.access-log-toolbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
  flex-wrap:wrap;
}
.access-log-summary{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.access-log-summary span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 10px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fff;
  font-size:13px;
  font-weight:800;
}
.access-log-summary b{
  color:#7B1028;
}
.access-log-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.access-log-note{
  padding:10px 12px;
  border-radius:10px;
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#9a3412;
  font-size:13px;
  font-weight:700;
  margin-bottom:12px;
}
.access-log-table-wrap{
  max-height:420px;
  overflow:auto;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#fff;
}
.access-log-table{
  width:100%;
  border-collapse:collapse;
  font-size:13px;
}
.access-log-table th,
.access-log-table td{
  border-bottom:1px solid #eef2f7;
  padding:10px 8px;
  text-align:center;
  white-space:nowrap;
}
.access-log-table th{
  position:sticky;
  top:0;
  background:#7B1028;
  color:#fff;
  z-index:1;
}
.access-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:56px;
  padding:4px 8px;
  border-radius:999px;
  background:#f3f4f6;
  color:#374151;
  font-weight:900;
}
.access-status.on{
  background:#dcfce7;
  color:#166534;
}

/* ELECTROLAND MEMBERSHIP - CLEAN REBUILD */
.membership-panel{
  border:1px solid #e5e7eb;
}
.membership-options{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:12px;
}
.membership-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:14px 14px 14px 40px;
  border:1px solid #d8dee8;
  border-radius:14px;
  background:#fff;
  cursor:pointer;
  min-height:92px;
}
.membership-card input{
  position:absolute;
  left:14px;
  top:17px;
  accent-color:#8a0028;
}
.membership-card:has(input:checked){
  border-color:#9b002f;
  background:#fff5f8;
  box-shadow:0 0 0 2px rgba(155,0,47,.08);
}
.membership-card strong{
  color:#111827;
  font-size:15px;
  font-weight:900;
}
.membership-card span{
  color:#4b5563;
  font-size:12px;
  line-height:1.45;
  font-weight:700;
}
.membership-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.membership-summary span{
  padding:10px 12px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#f9fafb;
  font-size:12px;
  font-weight:800;
  color:#374151;
}
.membership-summary b{
  display:block;
  margin-top:4px;
  color:#8a0028;
  font-size:16px;
  font-weight:900;
}
@media(max-width:900px){
  .membership-options,
  .membership-summary{grid-template-columns:1fr 1fr;}
}


/* MEMBERSHIP UI START */
.membership-wrap{
  margin-top:24px;
  border:1px solid #e5e7eb;
  border-radius:20px;
  padding:20px;
  background:#fff;
}

.membership-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}

.membership-header h3{
  margin:0;
  color:#8a0028;
  font-size:22px;
  font-weight:800;
}

.membership-header span{
  color:#6b7280;
  font-size:13px;
}

.membership-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.membership-card{
  position:relative;
  border:2px solid #e5e7eb;
  border-radius:18px;
  padding:22px;
  cursor:pointer;
  transition:.2s;
  background:#fff;
}

.membership-card.active{
  border-color:#8a0028;
  background:#fff7f9;
}

.membership-card input{
  display:none;
}

.membership-radio{
  position:absolute;
  right:18px;
  top:18px;
  width:26px;
  height:26px;
  border-radius:50%;
  border:2px solid #8a0028;
  background:#fff;
}

.membership-card.active .membership-radio{
  background:#8a0028;
  box-shadow:inset 0 0 0 5px #fff;
}

.membership-title{
  font-size:22px;
  font-weight:900;
  margin-bottom:8px;
}

.membership-desc{
  font-size:15px;
  color:#374151;
  font-weight:700;
}

.membership-summary{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

.membership-box{
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:16px;
}

.membership-box span{
  display:block;
  color:#6b7280;
  margin-bottom:8px;
  font-size:14px;
}

.membership-box b{
  color:#8a0028;
  font-size:28px;
}

.membership-note{
  margin-top:14px;
  color:#6b7280;
  font-size:13px;
}
/* MEMBERSHIP UI END */


/* LOGIN BRANDING START */
.login-branding{
  width:100%;
  margin:12px 0 0;
  text-align:center;
  color:#fff;
  font-family:"LG Smart UI", "LG Smart", "Noto Sans KR", "Apple SD Gothic Neo", sans-serif;
  font-weight:800;
  letter-spacing:0;
}

.login-interbiz-logo{
  display:block;
  width:min(222px, 76vw);
  height:auto;
  margin:0 auto 1px;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.34));
}

.login-brand-main{
  margin-top:0;
  color:#fff;
  font-size:23px;
  font-weight:900;
  line-height:1.16;
  text-shadow:0 8px 20px rgba(0,0,0,.32);
}

.login-brand-sub{
  margin-top:5px;
  color:rgba(255,255,255,.9);
  font-size:14px;
  font-weight:800;
  line-height:1.2;
  text-shadow:0 6px 18px rgba(0,0,0,.28);
}

@media (max-width: 420px){
  .user-login-gate{
    padding:22px 16px;
  }

  .login-panel{
    width:min(304px, calc(100vw - 32px));
  }

  .user-login-card{
    padding:26px 24px 22px;
  }

  .login-interbiz-logo{
    width:min(210px, 72vw);
  }

  .login-brand-main{
    font-size:21px;
  }
}
/* LOGIN BRANDING END */

.quote-table .col-product-image,
.quote-table td.col-product-image{
  width:132px;
  min-width:132px;
}

.product-image-box{
  width:116px;
  height:86px;
  margin:0 auto;
  border:1px solid var(--line);
  border-radius:6px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.product-image-box .product-image{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.product-image-box .product-image.hidden{
  display:none;
}

.product-image-empty{
  font-size:10px;
  line-height:1;
  font-weight:800;
  color:#94a3b8;
  letter-spacing:0;
}

.product-image-box.has-image .product-image-empty{
  display:none;
}

.customer-product-table th:nth-child(1),
.customer-product-table td:nth-child(1){
  width:46px!important;
}

.customer-product-table th:nth-child(2),
.customer-product-table td:nth-child(2){
  width:78px!important;
}

.customer-product-table th:nth-child(3),
.customer-product-table td:nth-child(3){
  width:115px!important;
}

.customer-product-table th:nth-child(4),
.customer-product-table td:nth-child(4){
  width:180px!important;
}

.customer-product-table th:nth-child(5),
.customer-product-table td:nth-child(5){
  width:118px!important;
}

.customer-product-table th:nth-child(6),
.customer-product-table td:nth-child(6){
  width:auto!important;
}

.customer-product-table td.customer-image-cell{
  padding:5px!important;
  vertical-align:middle!important;
}

.customer-product-image-box{
  width:104px;
  height:78px;
  margin:0 auto;
  border:1px solid #d1d5db;
  border-radius:6px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  box-sizing:border-box;
}

.customer-product-image-box img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.customer-product-image-box span{
  font-size:11px;
  line-height:1;
  font-weight:900;
  color:#94a3b8;
  letter-spacing:0;
}

/* 2026-07-29: keep the original left amount panel design without inner clipping */
@media screen and (min-width:901px){
  #consultView .summary-card{
    position:sticky!important;
    left:auto!important;
    top:74px!important;
    align-self:start!important;
    max-height:none!important;
    overflow:visible!important;
    overflow-y:visible!important;
  }
}

.summary-card .summary-total-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  column-gap:8px!important;
  row-gap:8px!important;
}

.summary-card .summary-total-row > span{
  grid-column:1!important;
  grid-row:1!important;
}

.summary-card .summary-total-row > strong{
  grid-column:2!important;
  grid-row:1!important;
}

.summary-card .summary-toggle{
  grid-column:1 / -1!important;
  justify-self:end!important;
  width:auto!important;
  height:26px!important;
  min-height:0!important;
  padding:0 10px!important;
  border:1px solid #7B1028!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#7B1028!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1!important;
  cursor:pointer!important;
}

.summary-card .summary-toggle:hover{
  background:#fff4f7!important;
}

.summary-card .summary-detail-list.is-collapsed{
  display:none!important;
}
