:root{
  --bg:#f4f6f9; --panel:#fff; --line:#e3e7ee; --text:#1c2430; --muted:#6b7686;
  --primary:#1f5eff; --primary-d:#1748c7; --ok:#12a150; --warn:#e08a00; --bad:#d9363e;
  --best:#e8f7ee; --best-line:#12a150; --head:#f7f9fc;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);color:var(--text);
  font:13px/1.45 "Pretendard","Malgun Gothic","Apple SD Gothic Neo",sans-serif}
.hidden{display:none!important}
.muted{color:var(--muted)} .err{color:var(--bad)} .ok{color:var(--ok)}
a{cursor:pointer}
input,select{font:inherit;padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:#fff}
input:focus,select:focus{outline:2px solid #c9d7ff;border-color:var(--primary)}
.btn{font:inherit;padding:7px 14px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer}
.btn:hover{background:#f1f4f9}
.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}
.btn.primary:hover{background:var(--primary-d)}
.btn.sm{padding:4px 10px;font-size:12px}
.btn:disabled{opacity:.5;cursor:default}
kbd{font-size:10px;opacity:.75;margin-left:4px}

/* auth */
.auth{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;overflow:auto;padding:20px;
  background:radial-gradient(1200px 600px at 10% 10%,#20345a 0%,#152033 45%,#0e1626 100%)}
.auth-wrap{display:flex;align-items:stretch;gap:0;max-width:880px;width:100%;border-radius:16px;overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.35)}
.auth-hero{flex:1.1;color:#fff;padding:44px 40px;background:linear-gradient(150deg,#1f5eff 0%,#1a3f9e 55%,#152a63 100%);
  display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.auth-hero:after{content:"";position:absolute;right:-60px;bottom:-60px;width:220px;height:220px;border-radius:50%;
  background:rgba(255,206,64,.14)}
.hero-logo{display:flex;align-items:center;gap:10px;font-size:22px;letter-spacing:-.3px}
.hero-logo img{width:42px;height:42px;border-radius:10px} .hero-logo b{color:#ffd24a}
.tagline{font-size:30px;line-height:1.3;margin:26px 0 18px;font-weight:800;letter-spacing:-.8px}
.tagline em{font-style:normal;color:#ffd24a}
.hero-points{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px;font-size:13.5px;color:#dce6ff}
.hero-points li:before{content:"✔";color:#ffd24a;margin-right:8px}
.hero-points b{color:#fff}
.auth-card{background:#fff;padding:34px 32px;width:360px;display:flex;flex-direction:column}
.auth-form{display:flex;flex-direction:column;gap:9px}
.auth-form h3{margin:0 0 4px}
.auth-form input{padding:10px 11px}
.auth-tabs{display:flex;gap:4px;border-bottom:2px solid var(--line);margin-bottom:6px}
.auth-tabs a{padding:8px 4px;margin-right:14px;font-size:15px;font-weight:700;color:var(--muted);margin-bottom:-2px;
  border-bottom:2px solid transparent}
.auth-tabs a.on{color:var(--primary);border-color:var(--primary)}
.tagline-sm{margin:0 0 4px;color:#1a3f9e;font-weight:700;font-size:12.5px}
.chk.remember{display:flex;align-items:center;gap:6px;color:#3a4556;font-size:12.5px;cursor:pointer;user-select:none}
.chk.remember input{width:16px;height:16px;margin:0;accent-color:var(--primary)}
.btn.big{padding:11px 14px;font-size:15px;font-weight:700}
.auth-foot{margin:4px 0 0;font-size:12px;color:var(--muted);text-align:center}
.auth-foot a{color:var(--primary);font-weight:600}
@media (max-width:760px){.auth-wrap{flex-direction:column}.auth-hero{padding:28px}.tagline{font-size:23px}.auth-card{width:100%}}
.brand{font-size:18px;letter-spacing:-.3px;color:var(--text)} .brand b{color:var(--primary)}
.brand.big{font-size:26px;text-align:center}

/* top bar */
.topbar{height:52px;background:#152033;color:#fff;display:flex;align-items:center;gap:24px;padding:0 18px}
.topbar .brand{color:#fff}
.topbar nav{display:flex;gap:4px}
.topbar nav a{color:#b8c2d4;padding:8px 14px;border-radius:6px}
.topbar nav a.active,.topbar nav a:hover{background:#26344d;color:#fff}
.chips{display:flex;gap:6px;margin-left:auto}
.chip{display:flex;align-items:center;gap:6px;background:#1f2c43;padding:4px 10px;border-radius:20px;font-size:12px;cursor:pointer}
.dot{width:8px;height:8px;border-radius:50%;background:var(--bad)} .dot.on{background:#2fd17a}
.me{color:#b8c2d4;font-size:12px} .me a{color:#fff;margin-left:8px;text-decoration:underline}

/* split layout */
.view{height:calc(100vh - 52px)}
.view.pad{padding:24px 32px;overflow:auto}
.split{display:flex}
.left{width:180px;min-width:160px;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:14px}
.right{flex:1;display:flex;flex-direction:column;padding:14px 18px;min-width:0}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.panel-head h3{margin:0;font-size:15px}
.hint{margin:0 0 8px;color:var(--muted);font-size:12px}
.part-list{flex:1;overflow-y:auto;overflow-x:hidden;cursor:text;border:1px solid var(--line);border-radius:6px}
.part-row{display:flex;align-items:center;border-bottom:1px solid #f0f2f6}
.part-row .no{width:36px;text-align:right;padding-right:8px;color:var(--muted);font-size:11px}
.part-row input{flex:1;min-width:0;border:0;border-radius:0;padding:6px 6px;font-family:Consolas,monospace}
.part-row input:focus{outline:none;background:#f4f7ff}
.part-row .x{width:24px;color:#b0b8c5;cursor:pointer;text-align:center;visibility:hidden}
.part-row:hover .x{visibility:visible}
.left-actions{display:flex;gap:8px;margin-top:10px}
.left-actions .primary{flex:1}

.tools{display:flex;align-items:center;gap:10px;font-size:12px}
.tools label{display:flex;align-items:center;gap:6px}
.chk{display:flex;align-items:center;gap:6px} .chk input{padding:0}
.summary{display:flex;gap:16px;font-size:12px;color:var(--muted);min-height:20px;margin-bottom:6px}
.summary b{color:var(--text)}

.table-wrap{flex:1;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:8px}
table{border-collapse:collapse;width:100%}
#resultTable{table-layout:fixed;font-size:12.5px;min-width:100%}
#resultTable th,#resultTable td{border-bottom:1px solid #eef1f5;border-right:1px solid #e6e9ef;padding:3px 7px;white-space:nowrap;text-align:left;overflow:hidden;text-overflow:ellipsis;line-height:1.35}
#resultTable thead th{position:sticky;top:0;background:var(--head);font-weight:600;font-size:12px;color:#425066;z-index:1;border-bottom:1px solid var(--line)}
#resultTable thead th{padding:5px 6px;text-align:center}
#resultTable thead tr:first-child th{top:0} #resultTable thead tr:nth-child(2) th{top:24px}
#resultTable th.grp{text-align:center;border-left:1px solid var(--line)}
#resultTable td.sup{text-align:right;font-variant-numeric:tabular-nums;padding:3px 6px}
#resultTable th.pend{color:#a6aebb;font-weight:500;font-size:11px;padding:5px 2px}
#resultTable td.pend{color:#c9ced8;text-align:center!important;background:#fafbfc}
#resultTable td.nf{color:#b8bfca;text-align:center!important}
#resultTable td.grp,#resultTable th.grp{border-left:2px solid #dfe3ea}
sup.src{font-size:9px;color:#8a94a6;margin-left:2px}
.num{text-align:right!important;font-variant-numeric:tabular-nums}
.mono{font-family:Consolas,monospace}
td.empty{text-align:center!important;color:var(--muted);padding:60px!important}
tr.res:hover td{background:#fafbfe}
td.best{background:var(--best)!important;box-shadow:inset 0 0 0 1.5px var(--best-line)}
.stk{font-weight:600;float:left} .stk.zero{color:#b3bac6;font-weight:400}
.dc{font-size:11px;color:var(--muted)}
.tag{display:inline-block;padding:1px 7px;border-radius:10px;font-size:11px;background:#eef2f8;color:#4a5870}
.tag.login{background:#fff1e0;color:var(--warn)} .tag.err{background:#fde8e9;color:var(--bad)}
.tag.nf{background:#f2f3f5;color:#9aa3b0}
.rec{font-weight:600;color:var(--ok)} .rec-dc{font-size:13px;font-weight:700;color:var(--ok)}
.loading{color:var(--primary)}


/* pages */
h2{margin:0 0 6px}
.row-actions{margin:14px 0}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px}
.card h4{margin:0 0 6px;display:flex;align-items:center;gap:8px}
.inline-form{display:flex;gap:8px;align-items:center;margin:14px 0;flex-wrap:wrap}
table.plain{background:#fff;border:1px solid var(--line);border-radius:8px;min-width:640px;width:auto}
table.plain th,table.plain td{padding:9px 14px;border-bottom:1px solid #eef1f5;text-align:left}
table.plain th{background:var(--head);font-size:12px}
.setting{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;margin:14px 0;max-width:640px;display:flex;flex-direction:column;gap:10px}
.setting h4{margin:0}
body.user .master{display:none!important}

/* 공급사 연결 + 원격 화면 */
.sup-view{display:flex;flex-direction:column;padding:10px 14px;gap:8px;overflow:hidden}
.sup-head{display:flex;align-items:center;gap:10px}
.sup-tabs{display:flex;gap:8px;flex-wrap:wrap;flex:1}
.sup-tab{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 12px;cursor:pointer;min-width:150px}
.sup-tab:hover{border-color:#b9c7e8}
.sup-tab.active{border-color:var(--primary);box-shadow:0 0 0 2px #dbe5ff}
.sup-tab .ord{font-size:11px;color:var(--muted);width:14px}
.sup-tab .nm{font-weight:600}
.sup-tab .st{font-size:11px;color:var(--muted);margin-left:auto}
.viewer-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--muted);border:1px dashed var(--line);border-radius:10px;background:#fff}
.viewer{flex:1;display:flex;flex-direction:column;min-height:0;gap:6px}
.vbar{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 10px}
.vurl{flex:1;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vmsg{background:#fff7e6;border:1px solid #ffd99a;color:#8a5a00;border-radius:6px;padding:6px 10px;font-size:12px}
.screen-wrap{flex:1;min-height:0;overflow:auto;background:#e9edf3;border-radius:8px;padding:4px}
.screen{position:relative;display:inline-block;min-width:100%;min-height:100%}
.screen img{display:block;max-width:none;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.12);cursor:default;user-select:none}
.kbd{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;border:0;padding:0;resize:none}
.scr-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--muted);background:rgba(255,255,255,.7)}
.vhelp{margin:0;font-size:11px}

.ctr{text-align:center!important;font-variant-numeric:tabular-nums}

/* 조회결과 하단 견적서 버튼 */
.result-foot{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:8px 2px 0;font-size:12px}

/* 사업자정보 */
.biz-form{display:grid;grid-template-columns:repeat(2,minmax(220px,340px));gap:10px 16px;max-width:720px;margin-top:14px;
  background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px}
.biz-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#425066}
.biz-form .wide{grid-column:1/-1}
.stamp-box{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#425066}
.stamp-row{display:flex;align-items:center;gap:10px}
.stamp-row img{width:64px;height:64px;object-fit:contain;border:1px dashed var(--line);border-radius:6px}
textarea{font:inherit;padding:8px;border:1px solid var(--line);border-radius:6px;width:100%;max-width:600px;font-family:Consolas,monospace}

/* 견적서 화면 */
.quote-view{display:flex;overflow:hidden}
.q-side{width:240px;background:#fff;border-right:1px solid var(--line);padding:12px;display:flex;flex-direction:column;gap:8px}
.q-list{flex:1;overflow:auto;border-top:1px solid var(--line)}
.q-item{padding:8px 6px;border-bottom:1px solid #f0f2f6;cursor:pointer;font-size:12px}
.q-item div:first-child{display:flex;justify-content:space-between;gap:6px}
.q-item:hover{background:#f6f8fc} .q-item.active{background:#eaf0ff}
.q-main{flex:1;display:flex;flex-direction:column;min-width:0}
.q-toolbar{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border-bottom:1px solid var(--line);flex-wrap:wrap}
.q-tip{margin-left:auto;font-size:11px}
.q-scroll{flex:1;overflow:auto;padding:20px;background:#e9edf3}
.q-empty{color:var(--muted);text-align:center;padding:120px 20px;font-family:"Malgun Gothic",sans-serif}

/* 견적서 종이 (A4) */
.paper{width:210mm;min-height:297mm;margin:0 auto;background:#fff;padding:14mm 12mm 16mm;box-shadow:0 2px 14px rgba(0,0,0,.12);
  font-family:"Gulim","굴림","Malgun Gothic",sans-serif;font-size:10pt;color:#000;line-height:1.3}
.paper table{border-collapse:collapse;width:100%}
.paper th,.paper td{border:1px solid #000;padding:2px 4px}
.paper small{font-size:7.5pt;font-weight:normal}
.paper .c{text-align:center} .paper .r{text-align:right}
.q-title{text-align:center;font-size:20pt;font-weight:bold;margin:2mm 0 9mm}
.q-title{display:block;width:fit-content;margin-left:auto;margin-right:auto;border-bottom:1.5px solid #000;padding:0 4mm}
.q-head{display:flex;justify-content:space-between;gap:6mm;margin-bottom:2mm;align-items:flex-end}
.q-left{width:46%;display:flex;flex-direction:column;gap:3.5mm;font-weight:bold}
.q-line{display:flex;align-items:center}
.q-cust{display:flex;align-items:flex-end;border-bottom:1px solid #000;border-top:1px solid #000;padding:2mm 0 1.5mm}
.q-cust .cust{flex:1;text-align:center;font-size:13pt;font-weight:bold}
.gwiha{font-weight:bold;padding:0 2mm}
table.q-sup{width:52%;font-size:9pt}
table.q-sup th{width:16mm;text-align:center;font-weight:normal;background:#fff;white-space:nowrap;padding:2px 1px}
table.q-sup th.sm{width:13mm}
table.q-sup td{height:7.2mm}
table.q-sup .addr{font-size:8.5pt;line-height:1.15}
table.q-sup .small{font-size:8pt}
.ceo{position:relative}
.stamp{position:absolute;right:1mm;top:50%;transform:translateY(-50%);width:13mm;height:13mm;object-fit:contain;opacity:.9;pointer-events:none}
table.q-sum{margin-top:1mm}
table.q-sum th{width:30mm;background:#e8e8e8;font-size:10pt}
table.q-sum td{font-size:12pt;font-weight:bold;height:10mm}
.ilgeum{display:inline-block;width:20mm;text-align:center;font-weight:normal}
.won{margin-left:4mm;font-weight:normal}
table.q-items{table-layout:fixed;margin-top:-1px}
table.q-items th{font-weight:normal;font-size:9pt;line-height:1.15;padding:2px 1px}
table.q-items td{height:6.6mm;font-size:9.5pt;position:relative;white-space:nowrap;overflow:hidden}
table.q-items td.amt{text-align:right}
table.q-foot{margin-top:-1px}
table.q-foot td{border:1px solid #000;padding:2mm 4mm;vertical-align:middle}
table.q-foot .bank{font-size:10.5pt}
table.q-foot .tot{width:58mm}
table.q-foot .tot div{display:flex;justify-content:space-between}
.q-memo{border:1px solid #000;border-top:none;padding:2.5mm 4mm;display:flex;flex-direction:column;gap:2mm;min-height:18mm}
.q-memo>div{display:flex;align-items:center}
.muted-p{color:#444;font-size:9pt}

/* 종이 안 입력칸: 글자처럼 보이게 */
.paper input.qi{border:0;border-radius:0;padding:0 1px;font:inherit;background:transparent;width:100%;color:#000;min-width:0}
.paper input.qi:hover{background:#f3f7ff} .paper input.qi:focus{outline:1.5px solid #8fb0ff;background:#f7faff}
.paper input.qi::placeholder{color:#b9c2d0;font-weight:normal}
.paper input.qi.r{text-align:right} .paper input.qi.mono{font-family:inherit}
.paper input.w-no{width:40mm} .paper input.w-mgr{width:55mm} .paper input.w-long{width:120mm}
.paper input[type=date].qi{width:40mm}
.row-x{position:absolute;right:1px;top:50%;transform:translateY(-50%);border:0;background:#fde8e9;color:var(--bad);border-radius:3px;
  font-size:10px;padding:1px 4px;cursor:pointer;display:none}
table.q-items tr:hover .row-x{display:block}

/* 인쇄용 새 창 */
.print-body{background:#fff!important;margin:0;height:auto!important}
html:has(.print-body){background:#fff!important;height:auto!important}
.paper.print{box-shadow:none;margin:0;padding:0;width:auto;min-height:0}
.print-footer{display:none}
@media print{
  @page{size:A4;margin:12mm 11mm 14mm}
  .print-body .print-footer{display:flex;justify-content:space-between;position:fixed;bottom:0;left:0;right:0;
    border-top:1.5px solid #000;padding-top:1mm;font-family:"Gulim","굴림",sans-serif;font-size:8pt;background:#fff}
  table.q-items tfoot{display:table-footer-group}
  table.q-items tfoot td{border:0;height:9mm}
  .noprint{display:none!important}
  table.q-items thead{display:table-header-group}
  table.q-items tr{page-break-inside:avoid}
  .q-foot,.q-memo{page-break-inside:avoid}
}

table.q-items tfoot{display:none}
@media print{ table.q-items tfoot{display:table-footer-group} }

/* 공급사 연결: 크롬 창이 놓이는 자리 */
.dock-area{flex:1;min-height:300px;border:2px dashed #b9c7e8;border-radius:10px;background:#f7f9fd;display:flex;align-items:center;justify-content:center}
.dock-guide{text-align:center;color:#425066;line-height:1.7}
.dock-guide b{font-size:15px;color:var(--text)}

/* 상단: 연결 활성화 현황 */
.brand{display:flex;align-items:center;gap:7px}
.brand .logo{width:24px;height:24px}
.conn{display:flex;align-items:center;gap:8px;margin-left:auto}
.conn-label{font-size:11px;color:#8d9ab0;white-space:nowrap;border-right:1px solid #2c3a55;padding-right:8px}
.conn .chips{margin-left:0}
.chip.chrome{background:#24324c}
.chip.off{background:#4a2026;color:#ffd6d9}
.chip.pend{opacity:.65}
.dot.warn{background:#f5a524}
.agent-banner{background:#fff4f4;border:1px solid #f5c2c6;color:#8a1f27;border-radius:8px;padding:8px 12px;margin-bottom:8px;font-size:12.5px}
.agent-banner.soft{background:#fff8eb;border-color:#ffd99a;color:#7a4b00}
.agent-banner a{color:var(--primary);text-decoration:underline;margin-left:6px;cursor:pointer}

/* ---- 조회결과 헤더 ---- */
.ph-left{display:flex;align-items:center;gap:14px}
.pbase{display:flex;align-items:center;gap:6px;font-size:12px;color:#425066;background:#fff;border:1px solid var(--line);border-radius:8px;padding:3px 4px 3px 10px}
.pbase select{border:0;padding:4px 6px;font-weight:600}

/* ---- 위탁·협력사 포함 토글 (주요 기능) ---- */
.consign-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none;border:2px solid #c9d3e6;background:#fff;
  border-radius:12px;padding:6px 14px 6px 8px;transition:.2s;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.consign-toggle:hover{border-color:#8fa9e8}
.consign-toggle input{display:none}
.consign-toggle .sw{position:relative;width:46px;height:26px;border-radius:13px;background:#c3cad6;transition:.2s;flex:none}
.consign-toggle .knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:.2s}
.consign-toggle .ct-text{display:flex;flex-direction:column;line-height:1.2}
.consign-toggle .ct-text b{font-size:13.5px;color:#1c2430}
.consign-toggle .ct-text small{font-size:11px;color:#6b7686}
.consign-toggle.on{border-color:#ff8a00;background:#fff7ec;box-shadow:0 0 0 3px #ffe3bf}
.consign-toggle.on .sw{background:#ff8a00}
.consign-toggle.on .knob{left:23px}
.consign-toggle.on .ct-text b{color:#b35a00}
.consign-toggle.on .ct-text small{color:#b35a00}

/* ---- 결과표 ---- */
#resultTable th.dim,#resultTable td.dim{background:#d9dde4!important;color:#8a93a3!important}
#resultTable td.dim .stk,#resultTable td.dim .dc{color:#8a93a3!important}
#resultTable td.dim .tag{opacity:.6}
#resultTable th.dim small{font-weight:600;color:#6b7280;font-size:10px}
td.best2{background:#f1faf4!important;box-shadow:inset 0 0 0 1.5px #8ad3a6}
.take{font-size:11px;color:#425066;font-weight:600}
.short{font-size:11px;color:var(--bad);font-weight:600}
#resultTable td .rec,#resultTable td .rec-dc{line-height:1.35}
tr.res{cursor:pointer}
tr.res.open td{background:#eaf1ff!important}
tr.res.open td.best{background:#dff3e6!important}
tr.res.open td.dim{background:#ccd2db!important}
tr.res.open td:first-child{box-shadow:inset 3px 0 0 var(--primary)}
#resultTable tr.detail>td{background:#eaf1ff!important;padding:0 10px 10px 10px!important;white-space:normal;border-bottom:2px solid #b9cdf7!important}
.detail-box{background:#fff;border:1px solid #c9d8f8;border-left:4px solid var(--primary);border-radius:8px;padding:6px 8px;
  box-shadow:0 2px 8px rgba(31,94,255,.08)}
.detail-box table{width:100%!important;table-layout:auto}
#resultTable tr.detail .detail-box th{background:#f3f6fc!important;font-size:11.5px;color:#425066;border-bottom:1px solid #e3e9f6!important;border-right:0!important;text-align:left!important;position:static!important}
#resultTable tr.detail .detail-box td{background:#fff!important;border-right:0!important;border-bottom:1px solid #eef1f5!important;font-size:12px;padding:4px 8px!important;white-space:nowrap;box-shadow:none!important}
#resultTable tr.detail .detail-box tr:hover td{background:#f5f8ff!important}
.qty-c{padding:2px 4px!important}
input.qty{width:100%;padding:2px 2px;text-align:center;font-weight:700;border:1px solid #cfd8ea;border-radius:5px;background:#fbfcff;font-size:12.5px}
input.qty:focus{outline:2px solid #9db8ff;border-color:var(--primary)}
input.qty::-webkit-inner-spin-button{opacity:1;height:18px}
.qty-h{background:#eef3ff!important}

/* ---- 로딩 화면 ---- */
.table-wrap{position:relative}
.loader{position:absolute;inset:0;background:rgba(244,246,249,.92);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;
  padding-top:40px;z-index:5}
.ld-card{width:min(560px,92%);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 40px rgba(20,32,60,.12);padding:18px 20px 14px}
.ld-scene{position:relative;height:120px;overflow:hidden;border-radius:12px;background:linear-gradient(#eaf1ff,#f8fbff 70%)}
.ld-road{position:absolute;left:0;right:0;bottom:14px;height:6px;background:#3a4559;overflow:hidden}
.ld-road i{position:absolute;top:2px;width:26px;height:2px;background:#ffd25e;animation:road 1s linear infinite}
.ld-road i:nth-child(1){left:0}.ld-road i:nth-child(2){left:16.6%}.ld-road i:nth-child(3){left:33.3%}
.ld-road i:nth-child(4){left:50%}.ld-road i:nth-child(5){left:66.6%}.ld-road i:nth-child(6){left:83.3%}
@keyframes road{from{transform:translateX(0)}to{transform:translateX(-90px)}}
.ld-truck{position:absolute;bottom:16px;left:50%;width:120px;margin-left:-60px;animation:bump .35s ease-in-out infinite alternate}
.ld-truck .tb{fill:var(--primary)} .ld-truck .tc{fill:#152033} .ld-truck .tw{fill:#9fc0ff}
.ld-truck .wh{fill:#1c2430} .ld-truck .hb{fill:#c9d3e6} .ld-truck .tl{fill:#fff;font:bold 12px sans-serif;text-anchor:middle}
@keyframes bump{from{transform:translateY(0)}to{transform:translateY(-2px)}}
.ld-box{position:absolute;width:16px;height:16px;border-radius:3px;background:#ffb21e;box-shadow:inset 0 0 0 2px #e08a00;bottom:70px;opacity:0;
  animation:drop 2.4s ease-in infinite}
.ld-box.b1{left:calc(50% - 40px)} .ld-box.b2{left:calc(50% - 14px);animation-delay:.8s;background:#7ea2ff;box-shadow:inset 0 0 0 2px #4b74e0}
.ld-box.b3{left:calc(50% + 10px);animation-delay:1.6s;background:#33c28a;box-shadow:inset 0 0 0 2px #1d9a68}
@keyframes drop{0%{transform:translateY(-60px) rotate(0);opacity:0}15%{opacity:1}55%{transform:translateY(20px) rotate(90deg);opacity:1}70%,100%{transform:translateY(20px) rotate(90deg);opacity:0}}
.ld-gear{position:absolute;fill:#c7d5f5}
.ld-gear.g1{width:56px;top:8px;left:18px;animation:spin 3s linear infinite}
.ld-gear.g2{width:38px;top:40px;left:62px;animation:spin 2s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.ld-title{margin:12px 0 8px;font-size:15px;font-weight:700;display:flex;justify-content:space-between;align-items:center}
.ld-time{font-size:12px;color:var(--muted);font-weight:500;font-variant-numeric:tabular-nums}
.ld-sups{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px;margin-bottom:8px}
.ld-sup{display:flex;align-items:center;gap:6px;font-size:11.5px;background:#f6f8fc;border-radius:7px;padding:5px 8px;min-width:0}
.ld-sup b{flex:none}
.ld-sup span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ld-sup i{width:9px;height:9px;border-radius:50%;background:#c3cad6;flex:none}
.ld-sup.run i{background:var(--primary);animation:pulse 1s infinite}
.ld-sup.done i{background:var(--ok)} .ld-sup.done{background:#effaf3}
.ld-sup.skip i{background:var(--warn)} .ld-sup.err i{background:var(--bad)}
.ld-sup.pend{opacity:.5}
@keyframes pulse{50%{transform:scale(1.4);opacity:.5}}
.ld-log{height:96px;overflow:auto;background:#101827;color:#9fb3d1;border-radius:8px;padding:6px 9px;
  font:11px/1.5 Consolas,"D2Coding",monospace;white-space:pre}
.ld-log .done{color:#5fe3a1} .ld-log .warn{color:#ffc46b} .ld-log .error{color:#ff7d86}

/* 설정: 공급자 우선순위 */
.prio-list{display:flex;flex-direction:column;gap:6px;max-width:360px}
.prio-item{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:#fafbfd}
.prio-no{width:22px;height:22px;border-radius:50%;background:var(--primary);color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;font-weight:700}
.prio-btns{margin-left:auto;display:flex;gap:4px}
.prio-margin{display:flex;align-items:center;gap:8px;font-weight:600}
.prio-margin input{width:80px;text-align:right}
.prio-tag{display:inline-block;font-size:10px;background:#eef2ff;color:var(--primary);border-radius:8px;padding:0 5px;font-weight:600}
#resultTable td.mono{font-family:inherit;font-variant-numeric:tabular-nums;font-size:12px;letter-spacing:-.4px;padding-left:5px;padding-right:2px;text-overflow:clip}

/* 상단바 줄바꿈 방지 */
.topbar{gap:16px;min-width:0}
.topbar nav{flex:none}
.topbar nav a,.chip,.me,.conn-label{white-space:nowrap}
.chip{flex:none}
.conn{min-width:0;overflow-x:auto;scrollbar-width:none}
.conn::-webkit-scrollbar{display:none}
@media (max-width:1500px){ .chip{padding:3px 8px;font-size:11.5px} .topbar nav a{padding:8px 10px} }

.me .ver{font-size:10px;color:#6f7d96;margin-right:6px}

/* 조회 상세: 제목 가운데 정렬 */
#resultTable tr.detail .detail-box th{text-align:center!important}

/* 계정관리: 왼쪽 사업자정보 / 오른쪽 계정 */
.acct-grid{display:grid;grid-template-columns:minmax(420px,600px) minmax(560px,1fr);gap:28px;align-items:start}
.acct-col h2{margin-bottom:4px}
.acct-col .biz-form{margin-top:10px;max-width:none}
.new-user{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:12px 0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px}
.new-user .sm-label{display:flex;align-items:center;gap:6px;font-size:12px;color:#425066}
.new-user .sm-label input{flex:1}
.new-user button{grid-column:3}
.new-user #userMsg{grid-column:1/-1}
.user-wrap{overflow-x:auto}
#userTable{width:100%;min-width:0}
#userTable th,#userTable td{padding:7px 8px;font-size:12.5px;white-space:nowrap}
#userTable input{padding:4px 6px;font-size:12px}
#userTable .u-ip{width:170px}
#userTable .u-until{width:130px}
.u-act{display:flex;gap:4px}
code{background:#eef2f8;border-radius:4px;padding:0 4px;font-size:11.5px}
@media (max-width:1250px){ .acct-grid{grid-template-columns:1fr} }

/* ---- 추천 영역 (추천·할인율·공급단가·할인금액) : 특별 음영 ---- */
#resultTable th.rz{color:#7a4b00;font-weight:700}
#resultTable th.rz-first,#resultTable td.rz-first{border-left:3px solid #f0a500!important}
#resultTable th.rz-last,#resultTable td.rz-last{border-right:3px solid #f0a500!important}
#resultTable td.rz .rec{font-size:12px;white-space:normal;line-height:1.25}
#resultTable td.rz .rec-dc{color:#c25e00}
#resultTable td.rz .da{color:#0f8a44;font-weight:600}
#resultTable td.rz-first{white-space:normal}

/* ---- 조회 분석 ---- */
.analysis{margin-top:8px;background:linear-gradient(90deg,#152033,#22324f);color:#dbe4f3;border-radius:10px;padding:8px 14px;
  font-size:12.5px;display:flex;flex-direction:column;gap:4px}
.an-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px}
.an-line b{color:#fff;font-size:13.5px}
.an-line small{color:#9fb0cc;font-size:11px}
.an-line em{color:#ff9aa2;font-style:normal}
.an-title{display:inline-block;width:34px;font-weight:700;color:#ffd166}
.an-blank{visibility:hidden}
.an-sups{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.an-sup{background:#2e4268;border-radius:10px;padding:1px 8px}
.an-key b{color:#7cf0a9;font-size:14.5px}
.an-key small{color:#7cf0a9}

/* ---- 전체 공급자 연결 버튼 ---- */
.btn-openall{flex:none;font:inherit;font-size:12px;font-weight:700;color:#152033;background:#ffd166;border:0;border-radius:16px;
  padding:5px 12px;cursor:pointer;white-space:nowrap;box-shadow:0 0 0 2px rgba(255,209,102,.25)}
.btn-openall:hover{background:#ffc53d}
.btn-openall:disabled{opacity:.7;cursor:default}

/* ---------- 역할별 표시 ---------- */
body:not(.role-master) .masteronly{display:none!important}
.new-dot{font-style:normal;background:#ff4d4f;color:#fff;font-size:9px;font-weight:800;border-radius:8px;padding:0 4px;
  margin-left:4px;vertical-align:top}
.me{display:flex;align-items:center;gap:8px}
.me-name b{color:#fff;margin-right:2px} .me-name small{margin-left:5px;background:#26344d;color:#9fd0ff;border-radius:4px;
  padding:1px 5px;font-size:10px}
.btn-install{font:inherit;font-size:11.5px;background:#ffd24a;color:#1c2430;border:0;border-radius:14px;padding:4px 11px;
  cursor:pointer;font-weight:700}
.btn-install:hover{background:#ffe07a}

/* ---------- 확장 안내 모달 ---------- */
.modal{position:fixed;inset:0;background:rgba(10,18,32,.5);display:flex;align-items:center;justify-content:center;z-index:100}
.modal-card{background:#fff;border-radius:12px;padding:24px 28px;max-width:560px;width:calc(100% - 32px);position:relative;
  box-shadow:0 20px 50px rgba(0,0,0,.25);max-height:90vh;overflow:auto}
.modal-card h3{margin:0 0 6px}
.modal-x{position:absolute;right:12px;top:10px;border:0;background:none;font-size:16px;cursor:pointer;color:var(--muted)}
.mh-welcome{font-size:18px;font-weight:800;color:var(--primary);margin-bottom:8px}
.mh-steps{padding-left:20px;margin:10px 0;display:flex;flex-direction:column;gap:8px;line-height:1.6}
.mh-steps .btn{text-decoration:none;display:inline-block}
.agent-banner .btn{margin-left:8px}

/* ---------- 추천 공급자 드롭다운 ---------- */
select.rec-sel{width:100%;padding:2px 3px;font-size:11.5px;border:1px solid #e0b25a;border-radius:4px;background:#fffdf5;
  font-weight:700;color:#7a4b00;cursor:pointer}
select.rec-sel.changed{border-color:#ff7a00;background:#fff3e6;color:#c25100}
.rec-tags{margin-top:1px;line-height:1}
.pick-tag{font-size:9.5px;background:#ff7a00;color:#fff;border-radius:3px;padding:0 4px}

/* ---------- 계정관리 ---------- */
.co-sub{margin:-4px 0 8px;font-size:12.5px} .co-sub b{color:var(--primary)}
.nowrap{white-space:nowrap}

/* ---------- 공지사항 ---------- */
.board{max-width:980px}
.board-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.board-head h2{margin:0}
.board-tools{display:flex;gap:6px}
.board-tools input{width:220px}
.board-table{width:100%;border-collapse:collapse;background:#fff;border-top:2px solid #152033}
.board-table th{background:var(--head);font-weight:600;padding:9px;border-bottom:1px solid var(--line);font-size:12.5px}
.board-table td{padding:10px 9px;border-bottom:1px solid var(--line);text-align:center;font-size:13px}
.board-table td.t{text-align:left;cursor:pointer}
.board-table td.t:hover{color:var(--primary);text-decoration:underline}
.board-table tr.pinned td{background:#fffaf0}
.pin{display:inline-block;background:#ff4d4f;color:#fff;border-radius:4px;font-size:11px;padding:1px 7px;font-weight:700}
.board-table .nw{color:#ff4d4f;font-size:10px;font-weight:800;margin-left:5px}
.pager{display:flex;gap:4px;justify-content:center;margin:14px 0}
.pager a{padding:4px 10px;border:1px solid var(--line);border-radius:5px;background:#fff}
.pager a.on{background:var(--primary);color:#fff;border-color:var(--primary)}
.n-view{background:#fff;border-top:2px solid #152033;border-bottom:1px solid var(--line)}
.n-title{display:flex;align-items:center;gap:8px;padding:14px 16px 4px}
.n-title h3{margin:0;font-size:18px}
.n-meta{padding:0 16px 12px;border-bottom:1px solid var(--line);font-size:12px}
.n-body{padding:20px 16px 30px;min-height:180px;white-space:pre-wrap;line-height:1.75;font-size:14px;word-break:break-word}
.n-body a{color:var(--primary)}
.n-nav{background:#fff;border-bottom:1px solid var(--line)}
.n-nav div{padding:8px 16px;border-top:1px solid #f0f2f6;font-size:12.5px}
.n-nav div span{color:var(--muted);margin-right:12px}
.n-nav a:hover{color:var(--primary)}
.n-actions{display:flex;gap:6px;margin-top:12px;align-items:center}
.n-edit{display:flex;flex-direction:column;gap:8px;background:#fff;padding:16px;border-top:2px solid #152033}
.n-edit textarea{font:inherit;padding:10px;border:1px solid var(--line);border-radius:6px;resize:vertical;line-height:1.6}

/* ---------- 마스터계정관리 ---------- */
.adm-head{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:10px}
.adm-head h2{margin:0}
.adm-stats{display:flex;gap:8px;flex-wrap:wrap}
.adm-stats div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 12px;font-size:12px;color:var(--muted)}
.adm-stats b{display:block;font-size:17px;color:var(--text)}
.adm-tabs{display:flex;gap:4px;border-bottom:2px solid var(--line);align-items:flex-end;margin-bottom:10px}
.adm-tabs a{padding:8px 16px;font-weight:700;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-2px}
.adm-tabs a.on{color:var(--primary);border-color:var(--primary)}
.adm-filter{margin-left:auto;display:flex;gap:6px;align-items:center;padding-bottom:4px}
.adm-filter input{width:260px}
.adm-chip{background:#e9efff;color:var(--primary);border-radius:12px;padding:3px 10px;font-size:12px}
.adm-chip a{margin-left:6px;color:var(--bad)}
.adm-body{overflow:auto;max-height:calc(100vh - 200px);background:#fff;border:1px solid var(--line);border-radius:8px}
.adm-table{border-collapse:collapse;width:100%;font-size:12.5px}
.adm-table th{position:sticky;top:0;background:var(--head);padding:7px 8px;border-bottom:1px solid var(--line);
  white-space:nowrap;font-weight:600;z-index:1}
.adm-table td{padding:6px 8px;border-bottom:1px solid #f0f2f6;vertical-align:middle}
.adm-table tr:hover td{background:#fafcff}
.adm-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.adm-table td.c{text-align:center}
.adm-table input[type=date]{padding:3px 5px;font-size:12px}
.adm-table .btn.sm{padding:2px 7px;font-size:11.5px}
.adm-table a.lk{color:var(--primary);text-decoration:underline}
.adm-table .parts{max-width:420px;font-family:Consolas,monospace;font-size:11.5px;color:#3a4556;white-space:normal;word-break:break-all}
.kind{border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700}
.kind.login{background:#e6f7ee;color:#0d7a3e} .kind.fail{background:#fde8e8;color:#c22}
.kind.logout{background:#eef1f5;color:#6b7686} .kind.signup{background:#e9efff;color:#1f5eff}
.kind.blocked{background:#fff1e0;color:#c25100}
.role-b{font-size:11px;border-radius:4px;padding:1px 5px;background:#eef1f5}
.role-b.master{background:#152033;color:#ffd24a} .role-b.owner{background:#e9efff;color:#1f5eff}
.cdot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#cfd5de}
.cdot.on{background:#12a150}
.me{flex:none}
@media (max-width:1680px){.conn-label{display:none}.me .ver{display:none}.topbar{gap:14px}}
@media (max-width:1400px){.me-name small{display:none}}
#userTable .u-ip{width:110px} #userTable td,#userTable th{padding-left:6px;padding-right:6px}

/* ---------- 내 계정 ---------- */
.me-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin-bottom:14px}
.me-head{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid #f0f2f6}
.me-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#2f6bff,#1a47c9);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;flex:none}
.me-title{font-size:16px;font-weight:700}
.me-state{margin-left:auto;font-size:12px;font-weight:700;border-radius:12px;padding:3px 10px}
.me-state.ok{background:#e6f7ee;color:#0d7a3e} .me-state.bad{background:#fde8e8;color:#c22}
.me-info{display:grid;grid-template-columns:100px 1fr;gap:7px 10px;margin:12px 0;font-size:13px}
.me-info dt{color:var(--muted)} .me-info dd{margin:0}
.me-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:6px 0 12px}
.me-stats div{background:var(--head);border-radius:8px;padding:7px 6px;text-align:center;font-size:11px;color:var(--muted)}
.me-stats b{display:block;font-size:16px;color:var(--text)}
.me-recent h5{margin:0 0 4px;font-size:12px;color:var(--muted)}
.me-recent table{width:100%;font-size:12px}
.me-recent td{padding:3px 4px;border-bottom:1px solid #f4f5f8}
.me-form{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin-bottom:14px;
  display:flex;flex-direction:column;gap:10px}
.me-form h4{margin:0}
.me-form .row3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.me-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}
@media (max-width:1300px){.me-stats{grid-template-columns:repeat(3,1fr)}.me-form .row3{grid-template-columns:1fr}}

/* ---------- 공지 팝업 설정 / 로그인 팝업 ---------- */
.ne-opts{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.ne-pop{font-weight:700;color:#c25100}
.ne-dates{display:flex;align-items:center;gap:6px;font-size:12.5px}
.ne-dates.off{opacity:.45}
.ne-dates input{padding:4px 6px}
.pop-tag{margin-left:6px;font-size:10.5px;background:#fff1e0;color:#c25100;border:1px solid #ffd2a8;border-radius:4px;padding:0 5px}
.npop-wrap{position:fixed;inset:0;background:rgba(10,18,32,.45);display:flex;align-items:center;justify-content:center;z-index:120}
.npop{background:#fff;border-radius:12px;width:min(520px,calc(100% - 32px));max-height:80vh;display:flex;flex-direction:column;
  box-shadow:0 20px 50px rgba(0,0,0,.3);overflow:hidden;border-top:4px solid #ff4d4f}
.npop-head{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--line);font-size:15px}
.npop-cnt{margin-left:auto;font-size:12px;color:var(--muted)}
.npop-body{padding:16px 18px;overflow:auto;white-space:pre-wrap;line-height:1.7;font-size:14px;min-height:120px}
.npop-body a{color:var(--primary)}
.npop-foot{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--head);
  border-top:1px solid var(--line);font-size:12.5px}
.npop-foot .btn{margin-left:4px}
.n-edit textarea{width:100%;box-sizing:border-box}
#resultTable td.sup.nar{padding:3px 3px;font-size:11.5px} #resultTable td.sup.nar .dc{font-size:10px}

/* 선택 체크박스 / 선택 안 한 행 */
#resultTable th.sel-h input,#resultTable td.sel-c input{width:15px;height:15px;margin:0;cursor:pointer;accent-color:#f0a500}
#resultTable tr.unsel td.rz:not(.sel-c){opacity:.38}
#resultTable tr.unsel td.mono{color:#9aa3b2}
/* 로그인 안 된 공급사 열 — 비활성 음영 */
#resultTable th.off{background:#e3e6eb!important;color:#9aa3b2!important}
#resultTable td.sup.off{background:#eceef2!important;color:#a3abb8}
#resultTable td.sup.off .stk,#resultTable td.sup.off .dc{color:#a3abb8!important}
.btn.order{background:#f0a500;color:#fff;border-color:#f0a500;font-weight:700;padding-left:18px;padding-right:18px} .btn.order:hover{background:#d99500}
/* 호환품번 행 (3-1) */
#resultTable tr.compat td{background:#f6f9ff}
#resultTable tr.compat td:first-child{color:#1f5eff!important;font-weight:700}
.compat-tag{display:inline-block;font-size:9.5px;font-weight:700;color:#1f5eff;border:1px solid #b9cdfd;background:#eef3ff;
  border-radius:3px;padding:0 3px;margin-right:4px;vertical-align:1px;font-family:inherit}
.left-actions{display:flex;gap:6px} .left-actions .btn{white-space:nowrap;padding:8px 10px} .left-actions #btnSearch{flex:1} .left-actions kbd{display:none}

/* 자체재고 행 (1-1) */
#resultTable tr.own td{background:#f2fbf5}
#resultTable tr.own td:first-child{color:#0d7a3e!important;font-weight:700}
.own-tag{display:inline-block;font-size:9.5px;font-weight:700;color:#0d7a3e;border:1px solid #a6dcb9;background:#e8f7ee;
  border-radius:3px;padding:0 3px;margin-right:4px;vertical-align:1px}
.own-rec{font-weight:700;color:#0d7a3e;font-size:12px}
.own-note{font-size:10.5px;color:var(--muted);white-space:normal;line-height:1.2}

/* 자체재고 / 부품견적 화면 */
.stk-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.stk-head h2{margin:0}
.stk-sum{display:flex;gap:12px;font-size:12.5px;color:var(--muted)} .stk-sum b{color:var(--text);font-size:14px}
.stk-tools{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.stk-tools input{width:220px}
.stk-tools label.btn{display:inline-block}
.btn.danger{color:#c22;border-color:#f3c4c4} .btn.danger:hover{background:#fdeeee}
.stk-help{margin:0 0 10px;font-size:12.5px}
.stk-editbar{display:flex;align-items:center;gap:8px;background:#fff8e6;border:1px solid #f3d38b;border-radius:8px;padding:8px 12px;margin-bottom:8px;font-size:12.5px}
.stk-wrap{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:auto;max-height:calc(100vh - 220px)}
.stk-table{border-collapse:collapse;width:100%;font-size:13px}
.stk-table th{position:sticky;top:0;background:var(--head);padding:8px;border-bottom:1px solid var(--line);font-weight:600;z-index:1;white-space:nowrap}
.stk-table td{padding:5px 8px;border-bottom:1px solid #f0f2f6}
.stk-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.stk-table td.ctr{text-align:center}
.stk-table td input{width:100%;padding:5px 6px;font-size:13px}
.stk-table td input.num{text-align:right}
.stk-table tr.zero td{color:#a3abb8}
.stk-table tr.del td{background:#fdeeee;text-decoration:line-through;opacity:.6}
.stk-table .new{color:#1f5eff;font-weight:700;font-size:11px}
.stk-table .qty-inline{width:70px;text-align:right;padding:3px 5px;font-weight:700}
.stk-paste{width:100%;height:220px;font-family:Consolas,monospace;font-size:12.5px;border:1px solid var(--line);border-radius:6px;padding:8px;margin:8px 0}
.stk-mode{display:flex;gap:12px;align-items:center;font-size:12.5px}
.est-info{background:#eef3ff;border:1px solid #c9d7ff;border-radius:8px;padding:10px 14px;margin:6px 0 10px;font-size:12.5px;line-height:1.6}
.est-form{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.est-form input{padding:6px 8px}
a.btn{text-decoration:none;display:inline-block}
#resultTable td.cp-c{color:#3a4556} #resultTable td.cp-c .cp-tot{font-size:10px;color:var(--muted);line-height:1.1}
.own-ok{color:#0d7a3e;font-weight:700;font-size:12px}
/* 상단 메뉴 굵게 */
.topbar nav a{font-weight:700;color:#d3dae6}
/* 주문 버튼 크게 */
#btnOrder.btn.order{font-size:13px;padding:7px 20px;border-radius:6px;box-shadow:none;letter-spacing:0}
.result-foot{align-items:center}

/* 부품번호 입력: 순번 왼쪽으로 붙이고 입력칸 넓게, 글자 한 단계 작게, 줄 간격 살짝 좁게 */
.part-row .no{width:22px;padding-right:4px;padding-left:0;font-size:10px;text-align:right}
.part-row input{padding:4px 4px;font-size:12px}
.part-row .x{padding:0 4px}

/* 전체현황(분석)을 견적서 버튼 줄에 함께 배치 */
.result-foot{align-items:stretch;padding-top:8px}
.result-foot .analysis{margin:0 auto 0 0;flex:1;min-width:0;justify-content:center}
.result-foot > .btn{align-self:center}

/* 주문 버튼: 초록(주문 진행) — 추천 표시용 주황 라인과 구분 */
.btn.order,#btnOrder.btn.order{background:#13a05a;border-color:#13a05a;color:#fff}
.btn.order:hover,#btnOrder.btn.order:hover{background:#0e8a4c;border-color:#0e8a4c}
/* 품명 글자 한 단계 작게 */
#resultTable td.c-nm{font-size:11.5px}

/* 베타 표시 */
.beta{font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.5px;color:#152033;background:#ffd166;border-radius:4px;padding:1px 5px;margin-left:2px;align-self:center}
.hero-logo .beta{font-size:12px;padding:2px 7px;margin-left:8px;vertical-align:middle}

/* 재고등록: 필수/선택 표시 */
.stk-table th .req{font-style:normal;font-size:10px;color:#e5484d;font-weight:700}
.stk-table th .opt{font-style:normal;font-size:10px;color:#9aa4b5;font-weight:400}
.stk-table input.bad{background:#fff0f0;outline:1.5px solid #e5484d}
.stk-table input::placeholder{color:#e8a0a3;font-size:11px}

/* 조회표 머리 3줄: 묶음 제목 (할인율 최적화 추천 / 공급사 재고현황) */
#resultTable thead tr:nth-child(1) th.band{padding:3px 6px;line-height:14px;font-size:11.5px;font-weight:800;letter-spacing:.5px}
#resultTable thead tr:nth-child(2) th{top:21px} #resultTable thead tr:nth-child(3) th{top:45px}
#resultTable th.band-rec{background:#fff4dc;color:#8a5600;border-left:3px solid #f0a500!important;border-right:3px solid #f0a500!important}
#resultTable th.band-sup{background:#e9f0ff;color:#1f4fbf;border-left:2px solid #dfe3ea}
/* 자체재고 열 (작게) */
#resultTable th.own-h{font-size:10.5px;color:#0d7a3e;padding:5px 2px;border-left:2px solid #dfe3ea}
#resultTable td.own-c{text-align:center!important;font-size:11px;color:#0d7a3e;border-left:2px solid #dfe3ea;padding:3px 2px}
#resultTable td.own-c .stk{font-weight:700}
#resultTable td.own-c.best{background:#e6f6ec;box-shadow:inset 0 0 0 2px #2fb36b}
.own-note{font-size:10px;color:#0d7a3e}
tr.own-line td{color:#0d7a3e;background:#f3fbf6}
#resultTable td.own-c .stk{float:none}

/* 추천 묶음 구분선: 주황 굵은 선 → 다른 칸과 같은 색, 살짝 굵게 (v-19) */
#resultTable th.rz{color:#425066}
#resultTable th.rz-first,#resultTable td.rz-first{border-left:2px solid #d3d9e3!important}
#resultTable th.rz-last,#resultTable td.rz-last{border-right:2px solid #d3d9e3!important}
#resultTable th.band-rec,#resultTable th.band-sup{background:#eef1f6;color:#425066}
#resultTable th.band-rec{border-left:2px solid #d3d9e3!important;border-right:2px solid #d3d9e3!important}

/* 재고등록 화면 축소 (v-20) */
#view-stock .stk-head h2{font-size:17px}
#view-stock .stk-head{gap:12px;margin-bottom:4px}
#view-stock .stk-sum{font-size:12px;gap:10px} #view-stock .stk-sum b{font-size:13px}
#view-stock .stk-tools .btn,#view-stock .stk-tools label.btn{padding:5px 10px;font-size:12px}
#view-stock .stk-tools input{width:190px;padding:5px 8px;font-size:12px}
#view-stock .stk-help{font-size:11.5px;margin-bottom:6px}
#view-stock .stk-editbar{padding:5px 10px;font-size:12px;margin-bottom:6px}
#view-stock .stk-editbar .btn{padding:3px 9px;font-size:12px}
#view-stock .stk-wrap{max-height:calc(100vh - 175px)}
.stk-table{font-size:12px}
.stk-table th{padding:5px 6px;font-size:11.5px}
.stk-table td{padding:2px 6px}
.stk-table td input{padding:3px 5px;font-size:12px}
.stk-table .qty-inline{width:60px;padding:1px 4px}
.stk-table .btn.sm{padding:1px 7px;font-size:11px}
#view-stock .stk-wrap,#view-stock .stk-editbar{max-width:1180px} #view-stock .stk-head,#view-stock .stk-help{max-width:1180px}
/* 추천: 기본 추천은 굵게, 직접 고른 다른 조합은 보통 굵기 (v-21) */
select.rec-sel{font-weight:700}
select.rec-sel.changed{font-weight:400}
select.rec-sel option{font-weight:400}
/* 추천 영역 파란 테마 + 작게 (v-22) */
select.rec-sel{border-color:#9fb8f5;background:#f3f7ff;color:#1f4fbf;padding:1px 2px;font-size:11px;height:22px}
select.rec-sel.changed{border-color:#c5d3f2;background:#fff;color:#4a5b7a}
.pick-tag{background:#5b84e8}
#resultTable td.rz .rec-dc{color:#1f5eff}
#resultTable th.sel-h input,#resultTable td.sel-c input{accent-color:#1f5eff;width:14px;height:14px}
.rec-dc.has-tip{cursor:help;text-decoration:underline dotted #8fa9e6;text-underline-offset:3px}
.dc-tip{position:fixed;z-index:50;background:#1c2740;color:#e6ecf8;font-size:10.5px;line-height:1.5;padding:6px 9px;border-radius:6px;
  white-space:pre;font-variant-numeric:tabular-nums;box-shadow:0 4px 14px rgba(0,0,0,.25);pointer-events:none}
.dc-tip.hidden{display:none}
.for-pl24{font-size:12px;font-weight:500;color:#8a94a6;margin-left:4px;letter-spacing:.2px}

/* ===== 부품견적 (v-26): 왼쪽 저장 목록 + 오른쪽 partslink24 안내 ===== */
.btn.xs{padding:2px 7px;font-size:11px}
.est-view{display:grid;grid-template-columns:minmax(360px,440px) 1fr}
.est-view.hidden{display:none}
.est-left{display:flex;flex-direction:column;gap:8px;padding:14px 14px 12px;background:#fff;border-right:1px solid var(--line);min-height:0;overflow:hidden}
.est-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.est-head h2{margin:0;font-size:18px;white-space:nowrap}
.est-tip{font-size:11.5px;color:#3a4f7a;background:#eef3ff;border-radius:6px;padding:6px 9px;line-height:1.5}
.est-sec{display:flex;align-items:center;gap:6px;font-size:12.5px}
.est-sec .chk{display:flex;align-items:center;gap:5px;margin:0}
.est-sec-r{margin-left:auto;display:flex;gap:4px;font-size:11.5px} .est-sec-r a{color:var(--primary);cursor:pointer}
.est-list{flex:1;min-height:120px;overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fbfcfe}
.est-item{display:flex;align-items:center;gap:7px;padding:5px 8px;border-bottom:1px solid #eef1f5;background:#fff}
.est-item:hover{background:#f6f9ff}
.est-item input.est-c{margin:0;accent-color:var(--primary)}
.est-main{flex:1;min-width:0}
.est-main > div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.est-pn{font-weight:700;font-size:12.5px} .est-nm{font-size:12px;color:#3a4556}
.est-sub{font-size:10.5px;color:#8a94a6} .est-time{float:right;margin-left:6px}
.est-qty{width:46px;padding:2px 4px;font-size:12px;text-align:right}
.est-x{border:0;background:none;color:#b0b8c5;cursor:pointer;font-size:12px;padding:2px 4px} .est-x:hover{color:#d9363e}
.est-empty{padding:30px 14px;text-align:center;font-size:12.5px;line-height:1.8}
.est-go{width:100%;padding:9px;font-size:13px}
.est-add summary{font-size:12px;color:var(--muted);cursor:pointer;padding:2px 0}
.est-add .est-form{margin:6px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:5px}
.est-add .est-form input{padding:4px 6px;font-size:12px;width:auto!important}
.est-add .est-form button{grid-column:span 2}
.est-quotes{border-top:1px solid var(--line);padding-top:8px}
.est-qlist{max-height:150px;overflow:auto}
.est-q{display:grid;grid-template-columns:1fr auto;gap:0 8px;padding:4px 6px;border-radius:5px;cursor:pointer;font-size:11.5px}
.est-q:hover{background:#f1f5ff} .est-q b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.est-q .muted{font-size:10.5px} .est-q-amt{grid-row:1/3;grid-column:2;align-self:center;color:#3a4556}
.est-right{display:flex;align-items:center;justify-content:center;padding:30px;background:repeating-linear-gradient(135deg,#f4f6fa,#f4f6fa 12px,#eef1f6 12px,#eef1f6 24px)}
.est-guide{max-width:460px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px 30px;text-align:center;box-shadow:0 6px 24px rgba(20,32,60,.06)}
.est-guide-ic{width:52px;height:52px}
.est-guide h3{margin:10px 0 6px;font-size:17px}
.est-guide p{font-size:12.5px;line-height:1.6}
.est-guide .btn{margin:6px 0 12px;padding:9px 20px}
.est-steps{text-align:left;font-size:12.5px;line-height:1.8;padding-left:20px;margin:0 0 8px}
.est-guide .small{font-size:11px}
@media (max-width:900px){.est-view{grid-template-columns:1fr}.est-right{display:none}.est-left{border-right:0}}
@media (max-width:900px){.topbar{overflow-x:auto}.topbar .conn{display:none}}

/* ===== 부품견적 (v-27): 왼쪽 부품 목록(아래 끝까지) + 오른쪽 저장한 부품견적 ===== */
.est-view{grid-template-columns:1fr 340px}
.est-left{padding:14px 16px 12px;border-right:1px solid var(--line)}
.est-head{justify-content:flex-start;gap:12px}
.est-head .est-tip{flex:1;background:none;padding:0;font-size:12px;color:#5b6b8c}
.est-sec{min-height:26px}
.est-vin{font-family:Consolas,monospace;font-size:11.5px;color:#5b6b8c;margin-left:6px}
.est-list{flex:1;min-height:0}
.est-item{display:grid;grid-template-columns:18px 118px 1fr auto 52px 22px;gap:8px;align-items:center;padding:4px 10px}
.est-item .est-pn{font-size:12.5px}
.est-item .est-nm{font-size:12px;color:#3a4556;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.est-item .est-time{float:none;margin:0;font-size:10.5px;color:#9aa3b2;font-variant-numeric:tabular-nums}
.est-foot{display:flex;gap:8px}
.est-foot .est-go{flex:1;width:auto}
.est-save{padding:9px 18px;font-weight:700;border-color:#1f5eff;color:#1f5eff;background:#fff}
.est-save:hover{background:#eef3ff}
.est-add{position:relative;display:inline-block}
.est-add summary{list-style:none;color:inherit;padding:2px 7px} .est-add summary::-webkit-details-marker{display:none}
.est-add[open] .est-form{position:absolute;right:0;top:26px;z-index:5;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px;
  box-shadow:0 8px 24px rgba(0,0,0,.12);display:grid;grid-template-columns:200px 160px 56px auto;gap:6px;width:max-content}
.est-add .est-form button{grid-column:auto}
.est-right{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;padding:14px 14px 12px;background:#f7f9fc;min-height:0}
.est-sets{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:6px}
.est-set{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;cursor:pointer;font-size:11.5px}
.est-set:hover{border-color:#9fb8f5} .est-set.on{border-color:#1f5eff;box-shadow:0 0 0 1px #1f5eff inset}
.est-set-t{font-weight:700;font-size:12.5px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.est-none{padding:24px 8px;text-align:center;font-size:12px;line-height:1.7}
.est-setview{background:#fff;border:1px solid #c9d7ff;border-radius:8px;padding:10px;max-height:45%;display:flex;flex-direction:column;gap:6px;font-size:12px}
.est-setview.hidden{display:none}
.est-sv-h{display:flex;justify-content:space-between;gap:8px} .est-sv-h .muted{font-size:10.5px}
.est-sv-list{overflow:auto;min-height:0;flex:1;border-top:1px solid #eef1f5;padding-top:4px;line-height:1.7}
.est-sv-list .mono{font-weight:700}
.est-sv-btn{display:flex;gap:4px;flex-wrap:wrap}
.muted.small{font-size:11px}
@media (max-width:900px){.est-view{grid-template-columns:1fr}.est-right{display:none}}
/* v-28: 부품 목록(가운데 정도) | 저장한 부품견적 | 선택한 부품견적 내용 */
.est-view{grid-template-columns:minmax(520px,50%) 250px 1fr}
.est-right{border-right:1px solid var(--line)}
.est-detail{display:flex;flex-direction:column;padding:14px;background:#fff;min-height:0}
.est-detail .est-setview{flex:1;max-height:none;border:0;padding:0;gap:8px}
.est-detail .est-sv-h b{font-size:15px}
.est-detail .est-sv-list{font-size:12.5px;line-height:1.9}
.est-ph{margin:auto;text-align:center;color:#9aa3b2;font-size:12.5px;line-height:1.8}
@media (max-width:1200px){.est-view{grid-template-columns:1fr 220px 260px}}
@media (max-width:900px){.est-view{grid-template-columns:1fr}}
/* v-31 */
.btn.est-open{padding:9px 18px;font-size:13.5px;font-weight:700;border-radius:8px;box-shadow:0 2px 8px rgba(31,94,255,.25)}
.adm-table.sub{margin:4px 0 8px;background:#fafbfe;font-size:11.5px}
.adm-table.sub th{background:#eef2f8}
tr.ord-detail > td{background:#f7f9fc;padding:4px 10px 8px}
.terms-box{max-height:150px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:11.5px;line-height:1.65;color:#3a4556;background:#fafbfd}
.terms-box p{margin:6px 0} .terms-box b{color:#1c2430}
.chk.agree{font-size:12px;font-weight:600;align-items:flex-start}
/* 주문 목록: 같은 창 안 전체 화면 */
.order-overlay{position:fixed;inset:0;z-index:200;background:#f4f6f9}
.order-overlay.hidden{display:none}
.order-overlay iframe{width:100%;height:100%;border:0;display:block}
.ord-pager{display:flex;align-items:center;gap:6px;padding:8px 10px;flex-wrap:wrap}
.ord-pager .muted{margin-right:auto;font-size:12px}
.btn.green-b{background:#13a05a;color:#fff;border-color:#13a05a;font-weight:700}
.ord-table td,.ord-table th{font-size:11.5px;padding:4px 6px}
.ord-table td.nm{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ok-kind{font-size:10.5px;border-radius:4px;padding:1px 6px;background:#eef2f8;color:#425066}
.ok-kind.own{background:#e6f6ec;color:#0d7a3e} .ok-kind.nostock{background:#fdecec;color:#c22}
/* v-33: 체크박스·공급사 선택 차분한 색 (할인율 파랑은 유지) */
select.rec-sel{border-color:#cdd4df;background:#fff;color:#2b3445}
select.rec-sel:hover{border-color:#aab4c4}
select.rec-sel.changed{border-color:#dde2ea;background:#fafbfc;color:#5a6576}
.pick-tag{background:#8a95a8}
#resultTable th.sel-h input,#resultTable td.sel-c input{accent-color:#5b6b85}
.est-item .est-nm-in{border:1px solid transparent;background:transparent;padding:2px 5px;font-size:12px;color:#3a4556;border-radius:4px;min-width:0;width:100%}
.est-item .est-nm-in:hover{border-color:#dde2ea;background:#fff}
.est-item .est-nm-in:focus{border-color:#9fb8f5;background:#fff;outline:none}
.est-item .est-nm-in.saved{background:#e6f6ec}
/* 알림 › 문의하기 */
.notice-view{display:flex;gap:20px;align-items:flex-start}
.notice-view .board{flex:1;min-width:0}
.ask-box{width:340px;flex:none;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;position:sticky;top:0}
.ask-box h3{margin:0 0 4px;font-size:16px}
.ask-box p{font-size:12px;line-height:1.6;margin:0 0 10px}
.ask-box form{display:flex;flex-direction:column;gap:8px}
.ask-box input,.ask-box textarea{font:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;resize:vertical}
.ask-cats{display:flex;flex-wrap:wrap;gap:5px}
.ask-cats label{cursor:pointer} .ask-cats input{display:none}
.ask-cats span{display:inline-block;padding:4px 10px;border:1px solid #d6dce6;border-radius:14px;font-size:12px;color:#425066;background:#fff}
.ask-cats input:checked + span{background:#1f5eff;border-color:#1f5eff;color:#fff;font-weight:700}
.ask-msg{font-size:12px;line-height:1.6;min-height:18px} .ask-msg.ok{color:#0d7a3e} .ask-msg.err{color:#d9363e}
.inq-body{white-space:pre-wrap;font-size:12.5px;line-height:1.7;padding:8px 6px}
@media (max-width:1000px){.notice-view{flex-direction:column}.ask-box{width:auto;position:static}}
tr.inq-new td{background:#fffbea}
.inq-memo{display:flex;gap:6px;align-items:flex-end;padding:0 6px 6px}
.inq-memo textarea{flex:1;font:inherit;font-size:12px;padding:6px 8px;border:1px solid var(--line);border-radius:6px}
.inq-st{font-size:11.5px;padding:2px 4px}
.auth-contact{text-align:center;font-size:11px;color:#9aa3b2;margin:2px 0 0} .auth-contact a{color:#8a94a6}
.remain{font-weight:700;color:#1f5eff;font-variant-numeric:tabular-nums} .remain.warn{color:#d97706}
.ext-btns{display:inline-flex;gap:2px;margin-left:4px}
/* v-43: 저장한 부품견적 목록 | 선택한 부품견적 품목 | 부품견적(작업 목록, 오른쪽 끝 = partslink24 모니터 쪽) */
.est-view{grid-template-columns:250px 1fr minmax(520px,50%)}
.est-right{order:1;border-right:1px solid var(--line)}
.est-detail{order:2;border-right:0}
.est-left{order:3;border-right:0;border-left:1px solid var(--line)}
@media (max-width:1200px){.est-view{grid-template-columns:220px 260px 1fr}}
@media (max-width:900px){.est-view{grid-template-columns:1fr}.est-left{order:1;border-left:0}}
/* v-43: 작업 중 목록 vs 저장본(보기 전용) 구분 */
.est-badge{display:inline-block;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:10px;line-height:1.4;vertical-align:middle;white-space:nowrap}
.est-badge.work{background:#1f5eff;color:#fff}
.est-badge.saved{background:#fff1d6;color:#9a5b00;border:1px solid #f0c674}
.est-from{font-size:11px;color:#9a5b00;background:#fff7e6;border:1px solid #f3d9a4;border-radius:10px;padding:1px 8px;white-space:nowrap}
.est-from a{cursor:pointer;color:#b88a3a;margin-left:3px}
.est-left .est-list{border-color:#b9cdfb}
.est-detail{background:#fffcf5}
.est-sv-tag{font-size:11.5px;color:#9a5b00;display:flex;align-items:center;gap:6px;padding-bottom:6px;border-bottom:1px dashed #f0c674}
.est-sv-note{font-size:11px;margin-top:auto}
.est-detail .est-sv-list{color:#4a5568}
.est-set.on{border-color:#e0a63a;box-shadow:0 0 0 1px #e0a63a inset;background:#fffaf0}
.est-detail{background:#fff8ea}
.est-detail .est-setview{background:transparent}
/* v-47: PDF 바로 저장 (화면 밖에서 그림) */
.paper.pdf-out table.q-items tfoot{display:none}
.paper.pdf-out .noprint{display:none!important}
/* v-50: partslink24에서 받는 중 표시 · 새 줄 강조 */
.est-item.est-loading{background:#f2f6ff;color:#5b6b8c}
.est-item.est-loading .est-time{color:#1f5eff;font-weight:600}
.est-spin{width:13px;height:13px;border:2px solid #c9d7ff;border-top-color:#1f5eff;border-radius:50%;animation:estspin .7s linear infinite;justify-self:center}
@keyframes estspin{to{transform:rotate(360deg)}}
.est-item.est-new{animation:estnew 2.5s ease-out}
@keyframes estnew{0%,40%{background:#dff5e6;box-shadow:inset 3px 0 0 #12a150}100%{background:#fff}}
/* v-51: 예쁜 확인창 */
.pfd-wrap{position:fixed;inset:0;z-index:9999;background:rgba(15,25,45,.38);display:flex;align-items:center;justify-content:center;animation:pfdbg .15s ease-out}
.pfd{background:#fff;border-radius:16px;width:400px;max-width:calc(100vw - 32px);padding:26px 26px 20px;box-shadow:0 20px 60px rgba(15,25,45,.35);
  text-align:center;animation:pfdin .18s ease-out;font-size:13.5px;color:#1c2430}
.pfd-ic{width:46px;height:46px;border-radius:50%;margin:0 auto 12px;background:#eaf0ff;color:#1f5eff;display:flex;align-items:center;justify-content:center}
.pfd-ic.bad{background:#fdecec;color:#d9363e}
.pfd-t{font-size:17px;font-weight:700;margin-bottom:6px}
.pfd-m{color:#4a5568;line-height:1.6;margin-bottom:14px}
.pfd-l{display:block;text-align:left;font-size:12px;color:#5b6b8c;margin-bottom:12px}
.pfd-in{display:block;width:100%;box-sizing:border-box;margin-top:5px;padding:10px 12px;border:1.5px solid #c9d7ff;border-radius:9px;font-size:14px}
.pfd-in:focus{outline:none;border-color:#1f5eff;box-shadow:0 0 0 3px rgba(31,94,255,.15)}
.pfd-c{display:flex;align-items:center;gap:8px;text-align:left;background:#f6f8fc;border-radius:9px;padding:10px 12px;font-size:12.5px;color:#3a4556;cursor:pointer;margin-bottom:4px}
.pfd-c input{width:16px;height:16px;accent-color:#1f5eff;margin:0}
.pfd-b{display:flex;gap:8px;margin-top:16px}
.pfd-b .btn{flex:1;padding:10px;font-size:14px;border-radius:9px;font-weight:600}
.btn.danger-fill{background:#d9363e;border-color:#d9363e;color:#fff} .btn.danger-fill:hover{background:#c22a32}
@keyframes pfdin{from{transform:translateY(8px) scale(.97);opacity:0}to{transform:none;opacity:1}}
@keyframes pfdbg{from{opacity:0}to{opacity:1}}
/* 저장한 부품견적 이름: 연필 표시 + 그 자리에서 고치기 */
.est-set-t{display:flex;align-items:center;gap:4px}
.est-set-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:text;border-bottom:1px dashed transparent}
.est-set-name:hover{border-bottom-color:#9fb8f5}
.est-ren{border:0;background:none;color:#9aa3b2;cursor:pointer;font-size:13px;padding:0 3px;line-height:1;border-radius:4px;flex:none}
.est-set:hover .est-ren,.est-ren:hover{color:#1f5eff;background:#eaf0ff}
.est-set-in{width:100%;font:700 12.5px inherit;padding:3px 6px;border:1.5px solid #1f5eff;border-radius:5px;box-shadow:0 0 0 3px rgba(31,94,255,.12);outline:none}
.est-set.renamed{animation:estnew .9s ease-out}
.est-sv-name{cursor:pointer} .est-sv-name .est-ren{font-size:13px;font-weight:400} .est-sv-name:hover .est-ren{color:#1f5eff}
/* v-52: 문의 표 — 제목줄과 내용 정렬 맞춤 */
.inq-table{table-layout:fixed}
.inq-table th{text-align:left}
.inq-table th:nth-child(1){text-align:right}
.inq-table th:nth-child(3),.inq-table th:nth-child(9),.inq-table th:nth-child(10){text-align:center}
.inq-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inq-table tr.ord-detail td{white-space:normal}
.inq-table td.nm{max-width:none}
/* v-53: 회원 목록 일괄 처리 */
.m-bulk{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--line);background:#f8fafd}
.m-bulk .btn:disabled{opacity:.45;cursor:default}
.m-bulk-msg{color:#12a150;font-size:12px;font-weight:600;margin-left:6px}
.btn.done{background:#e6f6ec;border-color:#9fd8b3;color:#12733a}
.m-chk,#mAll{width:15px;height:15px;accent-color:var(--primary);margin:0;cursor:pointer}
.est-sets-del{margin-left:auto} .est-sets-del:disabled{opacity:.4;cursor:default}
/* v-55: 할인율 높은 칸 — 테두리 없이 옅은 음영만 */
td.best{background:#eef9f1!important;box-shadow:none!important}
td.best2{background:#f5fbf7!important;box-shadow:none!important}
tr.res.open td.best{background:#e6f5ea!important}
/* v-57: 사용할 공급사 스위치 */
.sup-toggle{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 6px}
.sw-row{display:flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;min-width:140px}
.sw-row b{font-size:13px} .sw-row small{margin-left:auto;font-size:11px;color:#12a150}
.sw-row.off{background:#f5f6f8} .sw-row.off b{color:#9aa3b2} .sw-row.off small{color:#9aa3b2}
.sw-row.fixed{cursor:default;opacity:.75} .sw-row.fixed small{color:#8a94a6}
.sw{position:relative;width:34px;height:20px;flex:none}
.sw input{opacity:0;width:0;height:0;position:absolute}
.sw i{position:absolute;inset:0;background:#cfd6e2;border-radius:20px;transition:.15s}
.sw i::after{content:'';position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:.15s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.sw input:checked + i{background:#1f5eff} .sw input:checked + i::after{left:17px}
.sw input:disabled + i{background:#9fb8f5}
/* v-58: 설정 2단 (왼쪽 공급사 / 오른쪽 소비자가 기준) */
.set-grid{display:grid;grid-template-columns:minmax(0,640px) minmax(0,520px);gap:0 18px;align-items:start}
.set-col .setting{max-width:none}
@media (max-width:1100px){.set-grid{grid-template-columns:1fr}}
/* v-59: 알림 서식 편집기 */
.rte-bar{display:flex;flex-wrap:wrap;align-items:center;gap:3px;padding:6px;border:1px solid var(--line);border-radius:8px 8px 0 0;background:#f7f9fc;position:sticky;top:0;z-index:3}
.rte-bar button,.rte-bar select{height:30px;min-width:30px;padding:0 8px;border:1px solid transparent;background:none;border-radius:6px;cursor:pointer;font-size:13px;color:#1c2430}
.rte-bar button:hover,.rte-bar select:hover{background:#fff;border-color:#dde2ea}
.rte-bar select{border-color:#dde2ea;background:#fff}
.rte-sep{width:1px;height:20px;background:#dde2ea;margin:0 4px}
.rte-pop{position:relative;display:inline-flex}
.rte-pop button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0 7px}
.rte-a{font-weight:700;line-height:1} .rte-a.hi{padding:0 2px}
.rte-pop i{display:block;width:16px;height:3px;border-radius:2px}
.rte-pal{position:absolute;top:34px;left:0;z-index:5;background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px;display:grid;grid-template-columns:repeat(5,22px);gap:5px;box-shadow:0 6px 20px rgba(0,0,0,.15)}
.rte-pal a{width:22px;height:22px;border-radius:5px;border:1px solid #dde2ea;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;color:#9aa3b2}
.rte-pal a:hover{transform:scale(1.12)}
.rte-area{border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px;min-height:340px;max-height:60vh;overflow:auto;outline:none;white-space:normal;background:#fff}
.rte-area:focus{border-color:#9fb8f5}
.rte-area:empty::before{content:attr(data-ph);color:#9aa3b2}
.rte-area img,.rich img{max-width:100%;height:auto;border-radius:4px}
.rich{white-space:normal} .rich p,.rte-area p{margin:0 0 .6em} .rich ul,.rich ol,.rte-area ul,.rte-area ol{margin:.3em 0 .6em;padding-left:1.6em}
.rich hr,.rte-area hr{border:0;border-top:1px solid #dde2ea;margin:12px 0}
.rich a,.rte-area a{color:var(--primary);text-decoration:underline}
.npop-body .rich{white-space:normal}
.rte-area{position:relative}
.rte-area img{cursor:pointer}
.rte-img-on{outline:2px solid #1f5eff;outline-offset:2px}
.rte-imgbar{position:absolute;z-index:4;display:flex;gap:2px;background:#13224a;border-radius:7px;padding:3px;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.rte-imgbar button{border:0;background:none;color:#fff;font-size:12px;padding:4px 8px;border-radius:5px;cursor:pointer}
.rte-imgbar button:hover{background:#2a3d73} .rte-imgbar button.del{color:#ffb4b4}
/* v-61: 부품견적 저장 — 새로 / 기존에 추가 */
.est-sd{width:440px}
.sd-tabs{display:flex;gap:6px;margin:4px 0 12px;background:#f2f4f8;border-radius:10px;padding:4px}
.sd-tabs label{flex:1;cursor:pointer} .sd-tabs input{display:none}
.sd-tabs span{display:block;padding:8px 6px;border-radius:7px;font-size:13px;font-weight:600;color:#5b6b8c}
.sd-tabs input:checked + span{background:#fff;color:#1f5eff;box-shadow:0 1px 4px rgba(20,32,60,.12)}
.sd-tabs label.dis{opacity:.45;cursor:default}
.sd-note{text-align:left;font-size:11.5px;color:#5b6b8c;background:#f6f8fc;border-radius:8px;padding:8px 10px;margin:-4px 0 10px;line-height:1.55}
select.pfd-in{appearance:auto}
.sd-done{margin-left:auto;color:#12a150;font-weight:600}
.est-foot .est-save{white-space:nowrap}
/* v-62: 견적서 — 맑은 고딕, 중요 정보(제목·받는 곳·합계금액·합계) 외에는 같은 크기 */
.paper,.paper input.qi,.print-body .print-footer{font-family:"Malgun Gothic","맑은 고딕","Apple SD Gothic Neo","Noto Sans KR",sans-serif!important}
.paper{font-size:9.5pt;line-height:1.35}
table.q-sup,table.q-sup .addr,table.q-sup .small,table.q-sup th,
table.q-items th,table.q-items td,table.q-foot .bank,table.q-foot td,.q-memo,.q-left,.q-line{font-size:9.5pt}
table.q-sup .addr{line-height:1.25}
.paper small{font-size:7.5pt}
table.q-sum th{font-size:9.5pt}
/* 중요 정보 */
.q-title{font-size:20pt}
.q-cust .cust{font-size:13pt}
table.q-sum td{font-size:12pt}
/* v-63: 주문 내역 — 시간 칸 최소, 가운데 정렬 칸 */
.ord-items th.o-time,.ord-items td.o-time{width:1%;white-space:nowrap;font-variant-numeric:tabular-nums}
.ord-items th.c,.ord-items td.c{text-align:center}
.ord-items th{text-align:left} .ord-items th:first-child,.ord-items th.r{text-align:right}
.btn.green-b:hover{background:#0f8a4d;border-color:#0f8a4d}
/* v-66: 대표 표시 (사업자정보 대표자 이름과 같을 때만) */
.ceo-tag{display:inline-block;font-size:10px;font-weight:600;color:#9a5b00;background:#fff3db;border:1px solid #f0d08a;border-radius:8px;padding:0 5px;margin-left:3px;vertical-align:1px}
.role-b.owner.ceo{background:#fff3db;color:#9a5b00}
/* v-68: 전체 공급자 연결 = 앱 설치와 같은 크기 / 이용기간 강조 */
.btn-openall{font-size:11.5px;padding:4px 11px;border-radius:14px;box-shadow:none}
.sub-period{color:#1f5eff;font-weight:700}
.sub-period .sub-left{margin-left:4px;padding:1px 7px;border-radius:10px;background:#eaf0ff;color:#1f5eff;font-weight:800}
.sub-period .sub-left.warn{background:#fff1d6;color:#c26a00}
.sub-period .sub-left.bad{background:#fdecec;color:#d9363e}
/* v-69: 관리자 조회 기간 */
.adm-range{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 12px;margin:0 0 8px;background:#fff;border:1px solid var(--line);border-radius:10px;font-size:12.5px}
.adm-range input[type=date]{padding:4px 6px;font-size:12.5px;border:1px solid var(--line);border-radius:6px}
.adm-range select{padding:4px 6px;font-size:12.5px;border:1px solid var(--line);border-radius:6px}
.adm-range .btn.on{background:#eaf0ff;border-color:#9fb8f5;color:#1f5eff;font-weight:700}
.ar-sep{width:1px;height:18px;background:var(--line);margin:0 4px}
.ord-items td.brand-c{font-size:11px;color:#3a4556;white-space:nowrap}
/* v-70: 조회건 저장/목록 · 견적서 버튼 위아래 */
.result-foot .foot-col{display:flex;flex-direction:column;gap:5px;align-self:center}
.result-foot .foot-col .btn{white-space:nowrap}
.result-foot .foot-col .btn.sm-b{padding:4px 10px;font-size:12px}
.result-foot #btnSaveSearch.done{background:#e6f6ec;border-color:#9fd8b3;color:#12733a}
.loaded-tag{font-size:12px;color:#9a5b00;background:#fff7e6;border:1px solid #f3d9a4;border-radius:12px;padding:2px 10px;white-space:nowrap}
.loaded-tag span{color:#b88a3a;margin-left:4px} .loaded-tag a{cursor:pointer;color:#1f5eff;margin-left:8px} .loaded-tag a#ltX{color:#b88a3a}
.ss-box{width:620px;text-align:left;padding:18px 18px 14px}
.ss-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px} .ss-head b{font-size:17px} .ss-head .muted{font-size:12px}
.ss-x{margin-left:auto;cursor:pointer;color:#8a94a6;font-size:16px}
.ss-list{max-height:60vh;overflow:auto;display:flex;flex-direction:column;gap:6px}
.ss-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}
.ss-item:hover{border-color:#9fb8f5} .ss-item.on{border-color:#e0a63a;background:#fffaf0}
.ss-main{flex:1;min-width:0}
.ss-t{display:flex;align-items:center;gap:4px;font-weight:700;font-size:13.5px}
.ss-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:text}
.ss-item:hover .est-ren{color:#1f5eff}
.ss-meta{font-size:11.5px;color:#8a94a6;margin-top:2px}
.ss-empty{padding:30px 10px;text-align:center;line-height:1.8}
/* v-71: 조회 목록 화면 */
.sv-allq{margin-left:auto;font-size:12px;color:#1f5eff;cursor:pointer}
.sv-item>div:first-child{display:flex;align-items:center;gap:4px}
.sv-item .sv-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:text}
.sv-item:hover .est-ren{color:#1f5eff}
.sv-scroll{background:#f4f6fa}
.sv-detail{max-width:1180px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;display:flex;flex-direction:column;gap:12px}
.sv-detail .q-empty{padding:80px 20px;line-height:1.8}
.sv-head{display:flex;flex-direction:column;gap:3px}
.sv-tl{display:flex;align-items:center;gap:4px} .sv-tl b{font-size:18px;cursor:text}
.sv-tl .sv-in{font:700 16px inherit;width:420px}
.sv-table{table-layout:fixed}
.sv-table th{text-align:left} .sv-table th.c,.sv-table td.c{text-align:center} .sv-table th.r,.sv-table td.r{text-align:right}
.sv-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sv-table td.dc{color:#1f5eff;font-weight:700}
.sv-table tr.unsel td{color:#a7b0bf}
.sv-table .own-note{font-size:10.5px;color:#12a150}
.sv-table .short{font-size:10.5px;color:#d9363e}
.sv-sum{text-align:right;font-size:13px;color:#3a4556}
.sv-quotes{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;border-top:1px dashed var(--line);padding-top:10px}
.sv-q{background:#eef3ff;color:#1f5eff;border-radius:12px;padding:3px 10px;cursor:pointer}
.sv-q:hover{background:#dfe8ff}
/* v-72: 견적서 버튼 · 선택 창 */
.btn.quote-b{border-color:#1f5eff;color:#1f5eff;font-weight:700;background:#fff}
.btn.quote-b:hover{background:#eef3ff}
.qp-box{width:440px}
.qp-box .pfd-t{margin-bottom:14px}
.qp-opt{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;text-align:left;padding:14px 16px;margin-bottom:8px;border:1.5px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;font:inherit}
.qp-opt b{font-size:15px;color:#13224a} .qp-opt span{font-size:12.5px;color:#5b6b8c;line-height:1.55}
.qp-opt:hover:not(:disabled){border-color:#9fb8f5;background:#f6f9ff}
.qp-opt.main{border-color:#1f5eff;background:#f3f7ff} .qp-opt.main b{color:#1f5eff}
.qp-opt:disabled{opacity:.55;cursor:default}
.qp-opt u{text-decoration:none;font-weight:700;color:#1f5eff}
.sv-warn{font-size:12.5px;line-height:1.6;color:#8a5200;background:#fff7e6;border:1px solid #f3d9a4;border-radius:8px;padding:9px 12px}
.sv-warn b{color:#9a5b00}
/* v-74: 품번 입력 복사·여러 줄 선택 / 조회 목록 선택 삭제 */
.panel-head .part-copy{padding:1px 7px;font-size:11px;line-height:1.5;margin-left:6px}
.part-copy.done{background:#e6f6ec;border-color:#9fd8b3;color:#12733a}
.part-row.pl-sel{background:#dbe6ff} .part-row.pl-sel input{background:#dbe6ff}
.part-list{user-select:none} .part-list input{user-select:text}
.sv-keep{font-size:11px;margin-left:auto}
.sv-tools{display:flex;align-items:center;gap:5px;font-size:12px}
.sv-tools .chk{display:flex;align-items:center;gap:4px;margin:0 auto 0 2px}
.sv-tools .btn:disabled{opacity:.45;cursor:default}
.sv-item .sv-chk{margin:0 5px 0 0;accent-color:var(--primary);flex:none}
.pf-toast2{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:9999;background:#13224a;color:#fff;font-size:13px;padding:10px 18px;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.25);transition:opacity .3s}
#view-search .left .panel-head{gap:4px;flex-wrap:nowrap}
#view-search .left .panel-head h3{white-space:nowrap}
#view-search .left #partCount{white-space:nowrap;margin-left:auto}
#view-search .left .part-copy{white-space:nowrap;margin-left:2px}
.sv-item>div:first-child{justify-content:flex-start}
.q-item .q-l{display:flex;align-items:center;gap:5px;min-width:0} .q-item .q-chk{margin:0;accent-color:var(--primary);flex:none}
.rte-pop .rte-drop{min-width:18px;padding:0 3px;font-size:10px;color:#5b6b8c}
.rte-pop .rte-pal{left:0}
/* v-76: 쪽지 */
body.role-master .notmaster{display:none!important}
.btn.msg-b{color:#7048e8;border-color:#d4c8fb} .btn.msg-b:hover{background:#f3efff}
.m-bulk .msg-b.all{margin-left:auto;background:#7048e8;color:#fff;border-color:#7048e8}
.msg-compose{width:520px;text-align:left} .msg-compose .pfd-t{text-align:center}
.msg-compose .mc-to{font-size:12.5px;color:#5b6b8c;margin-bottom:8px}
.msg-compose .pfd-in{margin-bottom:8px;font:inherit;font-size:13.5px} .msg-compose textarea.pfd-in{resize:vertical;line-height:1.55}
.msg-pop{width:480px;text-align:left}
.mp-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.mp-tag{background:#7048e8;color:#fff;font-size:11px;font-weight:700;border-radius:10px;padding:2px 9px}
.mp-tag.sm{font-size:10px;padding:1px 7px}
.mp-cnt{margin-left:auto;font-size:12px;color:#8a94a6}
.mp-t{font-size:17px;font-weight:700;color:#13224a}
.mp-d{font-size:11.5px;color:#8a94a6;margin:2px 0 10px}
.mp-b{white-space:pre-wrap;line-height:1.65;font-size:13.5px;color:#2b3445;background:#f6f8fc;border-radius:10px;padding:12px 14px;max-height:45vh;overflow:auto}
.ib-item{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}
.ib-item.new{border-color:#c9b8fb;background:#faf8ff}
.ib-h{display:flex;align-items:center;gap:6px;font-size:13px} .ib-h .muted{margin-left:auto;font-size:11px}
.ib-b{white-space:pre-wrap;font-size:12.5px;color:#3a4556;margin-top:6px;line-height:1.6}
.inq-reply{margin:8px 0;padding:8px 12px;border-left:3px solid #7048e8;background:#f8f6ff;border-radius:0 8px 8px 0;font-size:12.5px}
.ir-h{color:#5b6b8c;font-size:11.5px;margin-bottom:3px} .ir-h b{color:#7048e8} .ir-b{white-space:pre-wrap;line-height:1.6}
.warn-t{color:#c26a00}
.inq-ans{display:flex;gap:8px;align-items:flex-end;margin:8px 0}
.inq-ans textarea{flex:1;font:inherit;font-size:12.5px;padding:8px;border:1px solid #c9b8fb;border-radius:8px;resize:vertical}
.inq-ans .btn{white-space:nowrap}
.pl-menu{position:fixed;z-index:9999;min-width:200px;background:#fff;border:1px solid #c9d3e6;border-radius:8px;box-shadow:0 8px 28px rgba(0,0,0,.18);padding:4px;font-size:13px}
.pl-menu a{display:flex;justify-content:space-between;gap:14px;padding:7px 10px;border-radius:6px;cursor:pointer;color:#1c2430}
.pl-menu a span{color:#8a94a6;font-size:11px}
.pl-menu a:hover{background:#eef3ff} .pl-menu a.del{color:#d9363e} .pl-menu a.del:hover{background:#fdecec}
/* v-79: 알림 절반 + 오른쪽 문의 및 쪽지함 */
.notice-view{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.notice-view .board{max-width:none;min-width:0}
.notice-view .ask-box{width:auto;position:sticky;top:0;max-height:calc(100vh - 110px);display:flex;flex-direction:column;overflow:hidden}
@media (max-width:1000px){.notice-view{grid-template-columns:1fr}.notice-view .ask-box{position:static;max-height:none}}
.ask-tabs{display:flex;align-items:center;gap:4px;border-bottom:2px solid var(--line);margin:0 0 12px}
.ask-tabs a{padding:8px 14px 9px;font-weight:700;font-size:15px;color:#8a94a6;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px}
.ask-tabs a.on{color:#1f5eff;border-bottom-color:#1f5eff}
.ask-sub{margin-left:auto;font-size:11.5px}
#boxPane{overflow:auto;min-height:0}
.box-list{display:flex;flex-direction:column;gap:8px}
.bx{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;font-size:12.5px}
.bx.recv{border-left:3px solid #7048e8} .bx.recv.new{background:#faf8ff}
.bx.sent{border-left:3px solid #1f5eff;background:#fbfcff}
.bx-h{display:flex;align-items:center;gap:6px;flex-wrap:wrap} .bx-h b{font-size:13px} .bx-h .muted{margin-left:auto;font-size:11px}
.sent-tag{background:#eaf0ff;color:#1f5eff;font-size:10px;font-weight:700;border-radius:10px;padding:1px 7px}
.bx-b{white-space:pre-wrap;line-height:1.6;color:#2b3445;margin-top:6px}
.bx-my{margin:8px 0 0 10px;padding:6px 10px;border-left:2px solid #9fb8f5;background:#f6f8fc;border-radius:0 6px 6px 0}
.bx-my div{white-space:pre-wrap;line-height:1.55;margin-top:2px}
.bx-reply{text-align:right;margin-top:4px} .bx-st{margin-top:6px;font-size:11.5px}
.bx-form{margin-top:8px;display:flex;flex-direction:column;gap:6px}
.bx-form textarea{font:inherit;font-size:12.5px;padding:8px;border:1px solid #c9b8fb;border-radius:8px;resize:vertical}
.bx-form div{display:flex;justify-content:flex-end;gap:6px}
.inq-of{margin:4px 0 8px;padding:8px 12px;background:#f8f6ff;border-left:3px solid #7048e8;border-radius:0 8px 8px 0;font-size:12.5px}
.inq-of div{white-space:pre-wrap;margin-top:3px;color:#3a4556}
.inq-re{color:#1f5eff}
/* v-81: 소통 메뉴 느낌표 */
.new-dot.comm-bang{font-size:10px;padding:0;width:15px;height:15px;line-height:15px;text-align:center;border-radius:50%;display:inline-block;margin-left:3px;vertical-align:2px}
/* v-82: 조회 내역 (품번 한 줄씩) — 같은 조회건끼리 옅은 띠 */
.sr-items tr.sr-b td{background:#f8fafc}
/* v-87: 견적서 목록 — 견적번호가 제목, 바로 이름 바꾸기 */
.q-item .q-no{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.q-item .q-ren{color:#9aa3b5;cursor:pointer;font-size:12px;padding:0 2px;flex:none} .q-item .q-ren:hover{color:var(--primary)}
.q-item .q-no-in{flex:1;min-width:0;font-size:12px;font-weight:700}
.paper input.w-no{width:70mm}
.q-item div:first-child > .muted{white-space:nowrap;flex:none;font-size:11px}
.q-item .q-l{flex:1}
/* v-90: 벤츠 EPC 새 창 버튼 */
.est-head .est-mb{background:#1c1c1c;color:#fff;border-color:#1c1c1c} .est-head .est-mb:hover{background:#333}

/* v-93: Prab 리브랜딩 — 로그인 화면 Parts + Grab = Prab */
.hero-formula{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:14px 0 4px;font:700 20px/1.2 Arial,"Malgun Gothic",sans-serif;color:#c9d6f5}
.hero-formula i{font-style:normal;color:#ff9a1f;font-weight:800}
.hero-formula .hf-w{color:#fff}
.hero-formula .hf-p{color:#ffd24a;font-size:24px;letter-spacing:-.3px}
.hero-formula small{flex-basis:100%;font:500 13px "Malgun Gothic",sans-serif;color:#9fb2dd;margin-top:2px}
.hero-formula small b{color:#ff9a1f}
.hero-logo img{box-shadow:0 0 0 2px rgba(255,255,255,.55)}

/* v-98 설치 안내 링크 */
.auth-guide { margin-top: 4px; }
.auth-guide a { font-weight: 700; }
