/* ============================================================
   MES 톤앤매너 디자인 토큰 (mockup-레이아웃260604.html 에서 확정)
   ============================================================ */
:root{
  --point:#eb485c; --point-soft:#fceef0;
  --bg:#f0f1f5; --card:#fff; --card-shadow:0 0 10px 0 rgba(199,200,203,.5);
  --line:#e3e6ee; --line2:#d0d8dd; --text:#3b3f4a; --text-mute:#8a909c;
  --label-bg:#f5f6fa; --label-text:#5b6270; --th-bg:#f5f6fa; --th-text:#4b5568;
  --btn-default-c:#5d9cec; --btn-default-bg:#eff7ff; --btn-default-bd:#c3e0ff;
  --btn-danger-c:#f44336; --btn-danger-bg:#fceaef; --btn-danger-bd:#f44336;
  --side:#2e323a; --side-text:#c6cad3; --radius:5px; --fs:12px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body,#root{height:100%}
body{font-family:"Malgun Gothic","맑은 고딕",system-ui,sans-serif;font-size:var(--fs);color:var(--text);background:var(--bg)}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-thumb{background:#c4c8d2;border-radius:4px}
button{font-family:inherit;cursor:pointer}
a{text-decoration:none;color:inherit}

.wrap{display:flex;flex-direction:column;height:100vh}
.header{height:50px;background:#fff;border-bottom:2px solid var(--point);display:flex;align-items:center;
  justify-content:space-between;padding:0 16px;box-shadow:0 1px 4px rgba(0,0,0,.04);flex-shrink:0;z-index:10}
.header .logo{display:flex;align-items:center;gap:12px}
.header .hamburger{width:30px;height:30px;border:none;background:transparent;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:6px}
.header .hamburger span{height:2px;background:#2e323a;border-radius:2px}
.header h1{font-size:15px;font-weight:700;color:#2e323a}
.header h1 b{color:var(--point)}
.header .right{display:flex;align-items:center;gap:14px;color:var(--text-mute);font-size:12px}
.header .user-chip{display:flex;align-items:center;gap:7px;padding:4px 12px;background:#f5f6fa;border-radius:20px}
.header .user-chip .dot{width:7px;height:7px;border-radius:50%;background:#cbd0da}

.body{flex:1;display:flex;overflow:hidden}
.side{width:210px;background:var(--side);color:var(--side-text);display:flex;flex-direction:column;flex-shrink:0;transition:width .2s;overflow:hidden}
.wrap.menu-closed .side{width:0}
.side .side-head{padding:14px 16px 10px;font-size:10px;letter-spacing:.12em;color:#7d838f;text-transform:uppercase}
.side .menu{flex:1;overflow-y:auto;padding:0 8px}
.side .grp{margin-bottom:2px}
.side .grp>.grp-tit{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;border-radius:6px;font-size:12.5px;font-weight:600;color:#e4e7ed;cursor:pointer}
.side .grp>.grp-tit:hover{background:rgba(255,255,255,.06)}
.side .grp>.grp-tit .ico{font-size:11px;color:#7d838f;transition:transform .15s}
.side .grp.open>.grp-tit .ico{transform:rotate(90deg)}
.side .grp .sub{display:none;padding:2px 0 6px}
.side .grp.open .sub{display:block}
.side .grp .sub a{display:block;padding:7px 10px 7px 26px;border-radius:6px;font-size:12px;color:var(--side-text);margin-bottom:1px;cursor:pointer}
.side .grp .sub a:hover{background:rgba(255,255,255,.06);color:#fff}
.side .grp .sub a.active{background:var(--point);color:#fff;font-weight:600}

.content{flex:1;overflow:auto;padding:14px}
.crumb{position:sticky;top:0;z-index:70;display:flex;align-items:center;gap:7px;min-height:24px;font-size:12px;color:var(--text-mute);margin:-14px -14px 10px;padding:10px 14px 6px;background:var(--bg)}
.crm-customer-content .crumb::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px;background:var(--bg);pointer-events:none}
.crumb::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:10px;background:linear-gradient(var(--bg),rgba(240,241,245,0));pointer-events:none}
.crumb b{color:var(--text)}
.crumb .sep{color:#c4c8d2}
.placeholder{display:flex;align-items:center;justify-content:center;height:70%;color:#b6bcc8;font-size:14px;flex-direction:column;gap:8px}

.section{background:var(--card);border-radius:var(--radius);box-shadow:var(--card-shadow);padding:12px 15px;margin-bottom:10px}
.section.sticky-search{position:sticky;top:34px;z-index:60;border:1px solid var(--line);border-bottom:2px solid var(--point);box-shadow:0 3px 10px rgba(45,52,66,.10)}
.section.sticky-search::before{content:"";position:absolute;left:-14px;right:-14px;top:-10px;height:10px;background:var(--bg);pointer-events:none}
.section.sticky-search.crm-search-panel,.section.sticky-search.page-search-panel{border:1px solid var(--line);border-bottom:2px solid var(--point);box-shadow:0 3px 10px rgba(45,52,66,.10);margin-bottom:16px;min-height:88px}
.section.sticky-search.crm-search-panel::after,.section.sticky-search.page-search-panel::after{content:"";position:absolute;left:-14px;right:-14px;top:calc(100% + 2px);height:8px;background:var(--bg);pointer-events:none}
.sec-tit{display:flex;align-items:center;justify-content:space-between;min-height:26px;margin-bottom:8px}
.sec-tit h3{font-size:13px;font-weight:700;color:var(--text)}
.sec-tit .tools{display:flex;gap:6px}

.btn{padding:5px 11px;border-radius:4px;font-size:12px;border:1px solid var(--btn-default-bd);color:var(--btn-default-c);background:var(--btn-default-bg);font-weight:600}
.btn:hover{filter:brightness(.98)}
.btn.danger{color:var(--btn-danger-c);background:var(--btn-danger-bg);border-color:var(--btn-danger-bd)}
.btn.point{color:#fff;background:var(--point);border-color:var(--point)}
.btn.sm{padding:4px 9px;font-size:11px}
.btn .i{font-style:normal;margin-right:3px}
.yn-toggle{display:flex;justify-content:center;gap:4px}
.yn-toggle .btn{min-width:48px}

.search-grid{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fld{display:flex;align-items:stretch;height:30px}
.fld .lbl{display:flex;align-items:center;padding:0 10px;background:var(--label-bg);border:1px solid var(--line2);border-right:none;border-radius:4px 0 0 4px;font-size:12px;color:var(--label-text);white-space:nowrap}
.fld input,.fld select{height:30px;border:1px solid var(--line2);border-radius:0 4px 4px 0;padding:0 8px;font-size:12px;color:var(--text);background:#fff;outline:none;min-width:0}
.fld input:focus,.fld select:focus{border-color:var(--point)}
.fld input[type=date]{width:130px}
.fld input.name{width:130px}
.fld .tilde{display:flex;align-items:center;padding:0 6px;color:var(--text-mute)}
.search-actions{display:flex;gap:6px;margin-left:auto}

.grid-wrap{border:1px solid var(--line);border-radius:4px;overflow:auto;max-height:260px}
table.grid{width:100%;border-collapse:collapse;font-size:11.5px;white-space:nowrap}
table.grid th{background:var(--th-bg);color:var(--th-text);font-weight:600;padding:7px 9px;border-bottom:1px solid var(--line2);border-right:1px solid var(--line);position:sticky;top:0;text-align:center}
table.grid td{padding:6px 9px;border-bottom:1px solid #f0f1f5;border-right:1px solid #f4f5f8;text-align:center;color:#454a55}
table.grid td.l{text-align:left}
table.grid td.num{text-align:right}
table.grid tbody tr{cursor:pointer}
table.grid tbody tr:hover{background:#fafbfd}
table.grid tbody tr.sel{background:var(--point-soft)}
table.grid tbody tr.group-row{background:#eef2f7;cursor:default}
table.grid tbody tr.group-row:hover{background:#eef2f7}
table.grid tbody tr.group-row td{text-align:left;font-weight:700;color:#2f3747;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.empty-row td{text-align:center;color:#c4c8d2;padding:18px 0}
.badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:10.5px;font-weight:600}
.badge.s1{background:#eef2ff;color:#5567ff}
.badge.s2{background:#fff6e6;color:#e09b00}
.badge.s9{background:#e8f7ee;color:#22a35a}

.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.frm{display:flex;align-items:stretch;height:30px}
.frm:has(textarea){height:auto;min-height:60px}
.frm.col2{grid-column:span 2}
.frm .lbl{display:flex;align-items:center;width:88px;flex-shrink:0;padding:0 10px;background:var(--label-bg);border:1px solid var(--line2);border-right:none;border-radius:4px 0 0 4px;font-size:12px;color:var(--label-text);white-space:nowrap}
.frm .lbl.req::after{content:"*";color:var(--point);margin-left:3px}
.frm input,.frm select{flex:1;min-width:0;height:30px;border:1px solid var(--line2);border-radius:0 4px 4px 0;padding:0 8px;font-size:12px;color:var(--text);background:#fff;outline:none}
.frm input:focus,.frm select:focus{border-color:var(--point)}
.frm input[readonly],.readonly-input{background:#f7f8fa!important;color:#7a8089!important;cursor:not-allowed}
.frm .with-btn{display:flex;flex:1}
.frm .with-btn input{border-radius:0}
.frm .with-btn .pick{border:1px solid var(--line2);border-left:none;border-radius:0 4px 4px 0;background:var(--label-bg);padding:0 9px;color:var(--label-text)}
.hint{margin-top:9px;font-size:11px;color:var(--text-mute)}
.hint b{color:var(--point)}
.note{margin-top:10px;padding:9px 12px;background:#fafbfd;border:1px dashed var(--line2);border-radius:5px;font-size:11px;color:var(--text-mute);line-height:1.6}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#2e323a;color:#fff;padding:9px 18px;border-radius:6px;font-size:12px;z-index:300;opacity:.95}

/* 2열 상세폼 (마스터 화면용) */
.form-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.form-grid.cols-2 .frm .lbl{width:150px}
.frm textarea{flex:1;min-width:0;border:1px solid var(--line2);border-radius:0 4px 4px 0;padding:6px 8px;font-size:12px;color:var(--text);outline:none;resize:vertical;height:60px}
.frm textarea:focus{border-color:var(--point)}

/* 사용여부 뱃지 */
.badge.yn-Y{background:#e8f7ee;color:#22a35a}
.badge.yn-N{background:#f1f2f5;color:#98a0ad}

/* 공통코드 2단 레이아웃 */
.cols2{display:grid;grid-template-columns:260px 1fr;gap:10px;align-items:start}

/* 검색 팝업(모달) */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:200}
.modal{background:#fff;border-radius:8px;width:560px;max-width:92vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 10px 40px rgba(0,0,0,.25)}
.modal .m-head{display:flex;justify-content:space-between;align-items:center;padding:11px 16px;border-bottom:1px solid var(--line)}
.modal .m-head h3{font-size:14px;font-weight:700}
.modal .m-head .x{border:none;background:none;font-size:20px;line-height:1;color:var(--text-mute);cursor:pointer}
.modal .m-body{padding:12px 16px;overflow:auto}
.modal .m-search{display:flex;gap:6px;margin-bottom:10px}
.modal .m-search input{flex:1;height:30px;border:1px solid var(--line2);border-radius:4px;padding:0 8px;font-size:12px;outline:none}
.modal .m-search input:focus{border-color:var(--point)}

/* 품질보증 요청서 미리보기/인쇄 */
.print-modal{width:880px;max-width:96vw;max-height:92vh}
.print-modal .m-head .tools{display:flex;gap:6px}
.print-body{background:#eef0f4;padding:18px;display:flex;justify-content:center}
.print-page{width:210mm;min-height:297mm;background:#fff;color:#222;padding:18mm 16mm;box-shadow:0 8px 28px rgba(0,0,0,.18);font-size:12px}
.print-doc-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12mm}
.print-company{font-size:11px;color:#666;margin-bottom:5px;letter-spacing:.02em}
.print-doc-head h2{font-size:24px;letter-spacing:0;text-align:left;color:#111}
.print-approval{border-collapse:collapse;width:168px;font-size:11px}
.print-approval th,.print-approval td{border:1px solid #333;text-align:center}
.print-approval th{height:24px;background:#f5f5f5;font-weight:700}
.print-approval td{height:42px}
.print-info{width:100%;border-collapse:collapse;border-top:2px solid #333;font-size:12px}
.print-info th,.print-info td{border:1px solid #999;padding:8px 10px;height:34px}
.print-info th{width:18%;background:#f7f7f7;text-align:center;font-weight:700;color:#333}
.print-info td{width:32%;color:#111}
.print-note{margin-top:12mm}
.print-note-title{font-weight:700;margin-bottom:6px;color:#111}
.print-note-box{height:72mm;border:1px solid #999;background:#fff}
.print-footer{display:flex;justify-content:space-between;margin-top:10mm;padding-top:5mm;border-top:1px solid #bbb;color:#666;font-size:10.5px}

@media print{
  @page{size:A4;margin:12mm}
  body{background:#fff}
  body *{visibility:hidden}
  .print-page,.print-page *{visibility:visible}
  .print-page{position:absolute;left:0;top:0;width:100%;min-height:auto;padding:0;box-shadow:none}
  .no-print{display:none!important}
}

/* 인라인 편집 테이블 (CRM 이력) */
table.grid td input.cell{width:100%;border:1px solid transparent;background:transparent;height:24px;padding:2px 6px;font-size:11.5px;border-radius:3px;color:var(--text)}
table.grid td input.cell:focus{border-color:var(--point);background:#fff;outline:none}
.row-del{border:none;background:none;cursor:pointer;font-size:15px;line-height:1;color:#f0879a}
.row-del:hover{color:var(--point)}

/* CRM 레이아웃 */
.crm-sub-head{display:flex;align-items:center;justify-content:space-between;padding:7px 0 5px;border-bottom:1px solid var(--line);margin-bottom:8px}
.crm-sub-head h4{font-size:12px;font-weight:700;color:var(--point)}
.crm-block{margin-bottom:14px}

/* CRM 기본정보 레이아웃: 좌(KJC담당+고객기본)+우(결제납품) 2컬럼 — overflow 방지 */
.crm-info-wrap{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:10px;align-items:start}
.crm-info-wrap>*{min-width:0;overflow:visible}
.crm-info-label{display:flex;align-items:stretch;height:26px;margin-bottom:4px}
.crm-info-label .lbl{display:flex;align-items:center;width:72px;flex-shrink:0;padding:0 7px;background:var(--label-bg);border:1px solid var(--line2);border-right:none;border-radius:4px 0 0 4px;font-size:11px;color:var(--label-text);white-space:nowrap}
.crm-info-label input,.crm-info-label select{flex:1;min-width:0;height:26px;border:1px solid var(--line2);border-radius:0 4px 4px 0;padding:0 6px;font-size:11px;color:var(--text);outline:none;background:#fff}
.crm-info-label input:focus,.crm-info-label select:focus{border-color:var(--point)}
.crm-info-label input[readonly]:focus{border-color:var(--line2)}
.crm-combo{position:relative;display:flex;flex:1;min-width:0}
.crm-combo input{width:100%;padding-right:24px;border-radius:0 4px 4px 0}
.crm-combo-toggle{position:absolute;right:1px;top:1px;width:22px;height:24px;border:none;border-left:1px solid var(--line);background:#fff;color:#6f7785;font-size:10px;line-height:1;cursor:pointer}
.crm-combo-toggle:hover{background:#f7f9fc;color:var(--point)}
.crm-combo-menu{position:absolute;left:0;right:0;top:29px;z-index:80;max-height:390px;overflow-y:auto;background:#fff;border:1px solid var(--line2);border-radius:4px;box-shadow:0 8px 22px rgba(45,52,66,.14);padding:4px}
.crm-combo-option{display:block;width:100%;height:26px;border:none;background:#fff;border-radius:3px;padding:0 8px;text-align:left;font-size:11.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm-combo-option:hover{background:#eef5ff;color:#245ca7}
.crm-combo-empty{height:28px;display:flex;align-items:center;padding:0 8px;color:var(--text-mute);font-size:11px}
.crm-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.crm-info-grid .full{grid-column:1/-1}
.crm-info-textarea{display:flex;margin-bottom:4px}
.crm-info-textarea .lbl{display:flex;align-items:flex-start;width:72px;flex-shrink:0;padding:5px 7px 0;background:var(--label-bg);border:1px solid var(--line2);border-right:none;border-radius:4px 0 0 4px;font-size:11px;color:var(--label-text);white-space:nowrap}
.crm-info-textarea textarea{flex:1;min-width:0;border:1px solid var(--line2);border-radius:0 4px 4px 0;padding:4px 6px;font-size:11px;color:var(--text);outline:none;resize:vertical;min-height:36px}
.crm-info-textarea textarea:focus{border-color:var(--point)}

/* Website 열기 버튼 (기본정보 라벨 행 안에) */
.crm-info-label .web-open{flex-shrink:0;height:26px;border:1px solid var(--line2);border-left:none;border-radius:0 4px 4px 0;background:var(--label-bg);color:var(--btn-default-c);padding:0 8px;font-size:11px;cursor:pointer}
.crm-info-label .web-open:hover{background:#eef5ff}
.crm-info-label.has-btn input{border-radius:0}

/* 고객 담당자 정보 표 */
.contact-tbl-wrap{overflow-x:auto;overflow-y:auto;max-height:300px;border:1px solid var(--line);border-radius:4px}
.rep-btn{border:1px solid var(--line2);background:#fff;color:var(--text-mute);border-radius:4px;padding:2px 8px;font-size:10.5px;cursor:pointer;white-space:nowrap}
.rep-btn.on{background:var(--point);border-color:var(--point);color:#fff;font-weight:700}

.outsource-tbl-wrap{overflow-x:auto;overflow-y:auto;max-height:260px;border:1px solid var(--line);border-radius:4px}
.outsource-tbl{min-width:1280px}

/* 납품처 리스트 */
.delivery-list{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}
.delivery-row{display:grid;grid-template-columns:1fr 1fr 1fr 22px;gap:3px;align-items:center}
.delivery-row input{height:24px;border:1px solid var(--line2);border-radius:4px;padding:0 6px;font-size:11px;outline:none;min-width:0}
.delivery-row input:focus{border-color:var(--point)}

/* ── 단가이력 전용 테이블 (ERP 원본 2행 그룹헤더) ── */
.price-tbl-wrap{overflow-x:auto;overflow-y:auto;max-height:320px;border:1px solid var(--line);border-radius:4px}
.price-tbl{width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap}
.price-tbl th{background:var(--th-bg);color:var(--th-text);font-weight:600;padding:5px 6px;border-bottom:1px solid var(--line2);border-right:1px solid var(--line);text-align:center;position:sticky;top:0;z-index:1}
.price-tbl thead tr:first-child th{top:0}
.price-tbl thead tr:last-child th{top:27px}
.price-tbl th.grp-head{background:#e8ecff;color:#3d4db7;border-bottom:1px solid #c5ccee}
.price-tbl td{padding:2px 3px;border-bottom:1px solid #f0f1f5;border-right:1px solid #f4f5f8;vertical-align:middle}
.price-tbl tbody tr{cursor:pointer}
.price-tbl tbody tr:hover{background:#fafbfd}
.price-tbl tbody tr.sel{background:var(--point-soft)}
.price-tbl td input.pcell,.price-tbl td select.pcell{width:100%;height:24px;border:1px solid transparent;background:transparent;padding:2px 5px;font-size:11px;color:var(--text);outline:none;border-radius:3px}
.price-tbl td input.pcell:focus,.price-tbl td select.pcell:focus{border-color:var(--point);background:#fff}
.price-tbl td input.pcell.r{text-align:right}
.price-tbl td textarea.pcell{width:100%;height:36px;border:1px solid transparent;background:transparent;padding:2px 5px;font-size:11px;resize:none;color:var(--text);outline:none;border-radius:3px}
.price-tbl td textarea.pcell:focus{border-color:var(--point);background:#fff}
/* 통화+단가 셀 */
.ccy-cell{display:flex;align-items:center;gap:2px}
.ccy-cell select{width:46px;flex-shrink:0;height:24px;border:1px solid var(--line2);border-radius:3px;padding:0 2px;font-size:10.5px;background:#fff;color:var(--text)}
.ccy-cell select:focus{border-color:var(--point);outline:none}
.ccy-cell input{flex:1;min-width:40px;height:24px;border:1px solid transparent;background:transparent;padding:2px 4px;font-size:11px;text-align:right;border-radius:3px}
.ccy-cell input:focus{border-color:var(--point);background:#fff;outline:none}
/* 수익률 색상 */
.profit-pos{color:#22a35a;font-weight:700}
.profit-neg{color:#f44336;font-weight:700}

/* ── RMA 탭 UI ── */
.rma-tabs{display:flex;gap:4px;flex-wrap:nowrap;overflow-x:auto;margin-bottom:12px;padding-bottom:9px;border-bottom:1px solid var(--line)}
.rma-tab{flex-shrink:0;padding:5px 14px;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer;
  border:1px solid var(--line2);border-radius:4px;
  background:var(--label-bg);color:var(--label-text);
  transition:background .12s,color .12s}
.rma-tab:hover{background:#e8eaf2;color:var(--text)}
.rma-tab.active{background:#d8dce8;color:var(--text);border-color:#a8adc4;font-weight:700}
.rma-tab-badge{display:inline-block;min-width:16px;padding:0 4px;margin-left:4px;
  background:var(--point);color:#fff;border-radius:8px;font-size:10px;text-align:center;vertical-align:middle}

/* 수평 스크롤 그리드 */
.grid-wrap.scroll-x{overflow-x:auto;overflow-y:auto}
.grid-wrap.scroll-x table.grid{min-width:1600px}

/* ── 로그인 화면 (MES login_mes.css 톤) ── */
.login-wrap{display:flex;height:100vh;background:#f0f1f5}
.login-box{position:relative;margin:auto;width:360px;background:#fff;border-radius:10px;box-shadow:0 4px 24px rgba(0,0,0,.12);padding:40px 36px}
.login-current-user{position:absolute;top:14px;right:18px;font-size:11px;font-weight:700;color:#9aa1ad}
.login-logo{text-align:center;margin-bottom:28px}
.login-logo h1{font-size:22px;font-weight:800;color:#2e323a}
.login-logo h1 b{color:var(--point)}
.login-logo p{font-size:12px;color:var(--text-mute);margin-top:4px}
.login-field{margin-bottom:14px}
.login-field label{display:block;font-size:12px;font-weight:700;color:var(--label-text);margin-bottom:5px}
.login-field input{width:100%;height:38px;border:1px solid var(--line2);border-radius:6px;padding:0 12px;font-size:13px;outline:none;transition:border .15s}
.login-field input:focus{border-color:var(--point)}
.login-err{font-size:12px;color:#f44336;margin-bottom:10px;min-height:18px}
.login-btn{width:100%;height:40px;background:var(--point);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:700;cursor:pointer;letter-spacing:.03em}
.login-btn:hover{filter:brightness(.95)}
.login-btn:disabled{opacity:.6;cursor:not-allowed}
.login-link-btn{width:100%;height:34px;margin-top:8px;background:#fff;color:var(--point);border:1px solid #f5a6b1;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer}
.login-link-btn:hover{background:var(--point-soft)}
.login-help{margin-top:16px;font-size:11px;color:var(--text-mute);text-align:center;line-height:1.6}

/* ── 구 CRM 이력표 색상 (거래/단가/개발 이력) ── */
/* 헤더: bg #f8fafc / text #94a3b8 / border #e2e8f0 — 구 CRM 원본 동일 */
table.grid.crm-tbl th {
  background: #f8fafc;
  color: #94a3b8;
  border-bottom: 1px solid #e2e8f0;
  border-right: 1px solid #f0f3f8;
  font-weight: 600;
  text-align: left;
}
table.grid.crm-tbl tbody tr {
  border-bottom: 1px solid #f8fafc;
}
table.grid.crm-tbl td {
  border-bottom: 1px solid #f8fafc;
  border-right: 1px solid #f8fafc;
}
table.grid.crm-tbl td input.cell {
  background: transparent;
}
table.grid.crm-tbl td input.cell:focus {
  background: #fafafa;
}
table.grid.crm-tbl tbody tr:hover {
  background: #f8fafc;
}
table.grid.crm-tbl tbody tr.sel {
  background: #eff6ff;
}
/* 단가이력 price-tbl 에도 동일 적용 */
table.price-tbl.crm-tbl th {
  background: #f8fafc;
  color: #94a3b8;
  border-bottom: 1px solid #e2e8f0;
  border-right: 1px solid #f0f3f8;
}
/* 그룹 헤더(해외위탁생산지/고객에게통보)는 살짝 구분되는 같은 계열로 */
table.price-tbl.crm-tbl th.grp-head {
  background: #eff1f8;
  color: #8a96b8;
}
table.price-tbl.crm-tbl td {
  border-bottom: 1px solid #f8fafc;
  border-right: 1px solid #f8fafc;
}
table.price-tbl.crm-tbl tbody tr:hover {
  background: #f8fafc;
}
table.price-tbl.crm-tbl tbody tr.sel {
  background: #eff6ff;
}
table.price-tbl.crm-tbl td input.pcell,
table.price-tbl.crm-tbl td select.pcell,
table.price-tbl.crm-tbl td textarea.pcell {
  background: transparent;
}
table.price-tbl.crm-tbl td input.pcell:focus,
table.price-tbl.crm-tbl td select.pcell:focus,
table.price-tbl.crm-tbl td textarea.pcell:focus {
  background: #fafafa;
}
table.price-tbl.crm-tbl .ccy-cell select {
  background: #f8fafc;
  border-color: #e2e8f0;
  color: #64748b;
}
