/* 2026-11-06 메뉴 합치기: 장비 화면 [장비 목록 | 모델별 재고] 전환(.ras-seg) · 렌탈 제품 창 품번 칸(.ras-pm) — 맨 아래 */
/* 2026-10-21 PC 렌탈 수주 목록 칸 넓이 정리 · '렌탈 기간' 한 줄(.rag-per), PC 는 표시(.rag-bd)도 같은 줄 — 맨 아래 */
/* 2026-10-20 렌탈 수주 목록: 휴대폰 카드 진행 단계·다음 할 일을 각각 한 줄로 · PC '진행' 칸 180→228px(7~8글자 단계 잘림) — 맨 아래 */
/* 2026-10-20 중도 해지·종료 알림: 표시 .rag-bd · 해지 칸 .rag-tm · 재고 현황 반납 예정 .ras-due-td — 맨 아래 */
/* 2026-10-20 정산 단계: 단계 막대 8칸 · 진행 글자색 .rag-pg--8·9 — 맨 아래 */
/* 2026-10-20 회수 단계: 단계 막대 7칸 · 진행 글자색 .rag-pg--6~8 · 반납 확인서 줄 .rag-rt-li · 장비 창 회수 안내 .ras-acts-note — 맨 아래 */
/* 2026-10-20 자산 관리 하위 띠: 묶음 이름 .ast-grp (구매·렌탈) · 가는 세로줄 .ast-dv — 맨 아래 */
/* 2026-10-20 렌탈 수주 칸 폭: 고객사 260px 고정, 남는 폭은 '다음 할 일' (구매 수주와 같게) — 맨 아래 */
/* 2026-10-20 계약서 단계: 단계 막대 5칸 · 진행 글자색(.rag-pg--1~5) · 버튼 묶음(.rag-prog-btns) — 맨 아래 */
/* 2026-10-20 진행 단계: 목록 '진행'·'다음 할 일'(.rag-dots · .rag-pg · .rag-todo) · 배정 창 단계 막대(.rag-prog · .rag-steps) — 맨 아래 */
/* 2026-10-20 수주 배정 목록 '인수증' 칸(.rag-dr-td · .rag-drw) · 배정 창 물품 인수증 줄(.rag-drbar) — 맨 아래 */
/* 2026-10-20 수주 배정: 서명 전 인수증에 들어간 예약 장비 표시(.rag-dr) — 맨 아래 */
/* 2026-10-19 신규 구매 줄(.rag-buy)에 [장비 등록] 버튼 → 한 줄 flex */
/* 2026-10-19 수주 배정 화면 .rag-* (rental-assign.js) — 파일 끝에 추가 */
/* 2026-10-19 [+ 새 렌탈 제품] 글자 버튼(.ras-link) · 렌탈 제품 추가 창을 모델 창 위로(#r-modal-product.ras-over) */
/* 2026-10-19 하위 띠 글자 깨짐 수정: 보조 글자 .ras-sub → .ras-subtxt (하위 띠 버튼 .ras-sub 와 겹쳤음) */
/* 2026-10-19 렌탈 관리 (rental-assets.js, .ras-*) — 새 파일. 기준표 --ds-* 만 사용 */

#panel-rentmgmt{flex-direction:column;}
.ras-pane{display:none;flex:1;min-height:0;flex-direction:column;background:#fff;}
.ras-pane.active{display:flex;}
.ras-list{flex:1;min-height:0;overflow:auto;padding:var(--ds-sp-2) var(--ds-sp-3);}

/* 버튼 */
.ras-btn{height:36px;padding:0 var(--ds-sp-3);border-radius:var(--ds-radius-md);border:var(--ds-line) solid #cbd5e1;background:#fff;color:#334155;
  font-size:var(--ds-fs-base);font-weight:700;cursor:pointer;white-space:nowrap;font-family:inherit;}
.ras-btn--main{background:var(--ds-primary);border-color:var(--ds-primary);color:#fff;}
.ras-btn--sm{height:30px;padding:0 var(--ds-sp-2);font-size:var(--ds-fs-md);font-weight:600;}
.ras-btn--del{color:var(--ds-danger);}
.ras-btn.on{border-color:var(--ds-primary);background:var(--ds-primary-soft);color:var(--ds-brand);}
.ras-btn:disabled{opacity:.5;cursor:default;}
@media (hover:hover){
  .ras-btn:hover{border-color:var(--ds-primary);color:var(--ds-primary);}
  .ras-btn--main:hover{color:#fff;filter:brightness(1.08);}
  .ras-btn--del:hover{border-color:var(--ds-danger);color:var(--ds-danger);}
}

/* 툴바: 고르기 칸이 긴 모델명 때문에 넓어지지 않게 */
.ras-pane .list-toolbar .toolbar-select{max-width:220px;}
@media (max-width:768px){
  .ras-pane .list-toolbar .lt-filters .toolbar-select{flex:1 1 0;width:0;max-width:none;}
  .ras-pane .list-toolbar .lt-filters{justify-content:flex-end;}
}
@media (max-width:600px){   /* 인수증·구매품의서 목록과 같게 */
  .ras-pane .list-toolbar .lt-filters .toolbar-select{padding-left:8px;padding-right:2px;font-size:var(--ds-fs-md);}
}

/* 상태 칩 */
.ras-chips{display:flex;flex-wrap:wrap;gap:6px;padding:var(--ds-sp-3) var(--ds-sp-4) 0;}
.ras-chip{height:30px;padding:0 var(--ds-sp-3);border-radius:var(--ds-radius-pill);border:var(--ds-line) solid var(--ds-gray-200);background:#fff;
  font-size:var(--ds-fs-md);color:var(--ds-gray-600);cursor:pointer;font-family:inherit;}
.ras-chip b{margin-left:5px;color:var(--ds-gray-900);font-weight:700;}
.ras-chip.active{background:var(--ds-brand);border-color:var(--ds-brand);color:#fff;}
.ras-chip.active b{color:#fff;}
.ras-chip--need{border-style:dashed;}

/* 상태 표시 */
.ras-st{display:inline-block;padding:2px var(--ds-sp-2);border-radius:var(--ds-radius-pill);font-size:var(--ds-fs-sm);font-weight:700;line-height:1.4;white-space:nowrap;vertical-align:middle;}
.ras-st--available{background:#ecfdf5;color:var(--ds-success);}
.ras-st--reserved{background:#fff7ed;color:#c2410c;}
.ras-st--rented{background:#eff6ff;color:var(--ds-progress);}
.ras-st--repair{background:#fef2f2;color:var(--ds-danger);}
.ras-st--inspect{background:#f5f3ff;color:#6d28d9;}
.ras-st--disposed{background:#f1f5f9;color:var(--ds-gray-600);}

/* 표 공통 */
.ras-table{table-layout:fixed;}
.ras-table td{overflow:hidden;text-overflow:ellipsis;vertical-align:top;color:var(--ds-gray-900);}
.ras-num{text-align:right !important;white-space:nowrap;}
.ras-subtxt{display:block;margin-top:1px;font-size:var(--ds-fs-sm);color:var(--ds-gray-600);font-weight:400;}
.ras-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--ds-fs-sm);}
.ras-need{display:inline-block;padding:0 6px;border:var(--ds-line) dashed var(--ds-danger);border-radius:var(--ds-radius-sm);font-size:var(--ds-fs-sm);color:var(--ds-danger);white-space:nowrap;}
.ras-zero{color:var(--ds-gray-200);}
.ras-off{display:inline-block;padding:0 6px;border-radius:var(--ds-radius-sm);background:#f1f5f9;font-size:var(--ds-fs-xs);color:var(--ds-gray-600);font-weight:600;}
.ras-spec{white-space:pre-line;}
.ras-foot{display:flex;justify-content:space-between;gap:var(--ds-sp-2);padding:var(--ds-sp-2) var(--ds-sp-1);font-size:var(--ds-fs-sm);color:var(--ds-gray-600);}
.ras-foot b{color:var(--ds-gray-900);}

/* 장비 표 */
.ras-a-table th:nth-child(1){width:140px;} .ras-a-table th:nth-child(3){width:150px;} .ras-a-table th:nth-child(4){width:90px;}
.ras-a-table th:nth-child(6){width:100px;} .ras-a-table th:nth-child(7){width:110px;}
.ras-a-table tbody tr{cursor:pointer;}
@media (hover:hover){.ras-a-table tbody tr:hover td{background:var(--ds-gray-50);}}
.ras-no-td b{color:var(--ds-brand);}

/* 재고 현황 표 (한 줄, 렌탈 제품이 바뀌는 줄에 굵은 윗선) */
.ras-s-table th:nth-child(1){width:200px;} .ras-s-table th:nth-child(n+3){width:76px;} .ras-s-table th:nth-child(9){width:130px;}
.ras-s-table td{white-space:nowrap;}
.ras-s-table tbody tr{cursor:pointer;}
.ras-s-table tr.ras-gstart td{border-top:var(--ds-line-strong) solid var(--ds-gray-200);}
.ras-s-table tbody tr:first-child td{border-top:none;}
.ras-pname{font-weight:700;color:var(--ds-brand);}
.ras-rep{visibility:hidden;}
.ras-s-table .ras-own-td{font-weight:700;}
.ras-s-table .ras-avail-td{font-weight:700;color:var(--ds-success);}
.ras-s-table .ras-cost-td{color:var(--ds-gray-600);}
.ras-s-table tr.ras-total{cursor:default;}
.ras-s-table tr.ras-total td{background:var(--ds-gray-50);border-top:var(--ds-line-strong) solid var(--ds-gray-200);font-weight:700;}
@media (hover:hover){.ras-s-table tbody tr:not(.ras-total):hover td,.ras-m-table tbody tr:hover td{background:var(--ds-gray-50);}}

/* 모델 표 (한 줄, 사양은 / 로 이어 한 줄로 줄임) */
.ras-m-table th:nth-child(1){width:200px;} .ras-m-table th:nth-child(2){width:220px;} .ras-m-table th:nth-child(4){width:64px;}
.ras-m-table th:nth-child(5){width:90px;} .ras-m-table th:nth-child(6){width:72px;}
.ras-m-table td{white-space:nowrap;}
.ras-m-table tbody tr{cursor:pointer;}
.ras-m-table .ras-ms-td{font-size:var(--ds-fs-sm);color:var(--ds-gray-600);}
.ras-m-table td.ras-mb-td{text-align:right;overflow:visible;}
.ras-m-table tr.ras-inactive td,.ras-m-table tr.ras-inactive .ras-pname{color:var(--ds-gray-400);}
.ras-pill{display:inline-block;padding:2px var(--ds-sp-2);border-radius:var(--ds-radius-pill);font-size:var(--ds-fs-sm);font-weight:700;line-height:1.4;background:#f1f5f9;color:var(--ds-gray-600);}
.ras-pill--on{background:#ecfdf5;color:var(--ds-success);}
.ras-line-btn{height:30px;padding:0 var(--ds-sp-2);border:var(--ds-line) solid var(--ds-gray-200);border-radius:var(--ds-radius-md);background:#fff;font-size:var(--ds-fs-md);font-family:inherit;color:var(--ds-gray-900);cursor:pointer;}
@media (hover:hover){.ras-line-btn:hover{border-color:var(--ds-primary);color:var(--ds-primary);} .ras-line-btn--del:hover{border-color:var(--ds-danger);color:var(--ds-danger);}}

/* 창 */
#modal-ras{z-index:1150;}
#r-modal-product.ras-over{z-index:1160;}   /* 모델 창에서 연 렌탈 제품 추가 창은 모델 창 위로 */
.ras-lbl-row{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-sp-2);}
.ras-link{border:none;background:none;padding:0;font-size:var(--ds-fs-sm);font-weight:600;color:var(--ds-primary);cursor:pointer;font-family:inherit;}
@media (hover:hover){.ras-link:hover{text-decoration:underline;}}
.ras-modal{width:min(580px,96vw);max-width:96vw;max-height:92vh;display:flex;flex-direction:column;}
.ras-modal .modal-header{align-items:flex-start;padding:var(--ds-sp-4) var(--ds-sp-4) var(--ds-sp-3);}
.ras-title h2{margin:0;font-size:var(--ds-fs-lg);font-weight:700;color:var(--ds-brand);display:flex;align-items:center;gap:var(--ds-sp-2);flex-wrap:wrap;}
.ras-tsub{margin-top:var(--ds-sp-1);font-size:var(--ds-fs-sm);color:var(--ds-gray-600);}
.ras-body{flex:1;overflow-y:auto;padding:var(--ds-sp-3) var(--ds-sp-4);}
.ras-mfoot:empty{display:none;}
.ras-mfoot{border-top:var(--ds-line) solid var(--ds-gray-200);padding:var(--ds-sp-3) var(--ds-sp-4);}
.ras-info{display:grid;grid-template-columns:104px 1fr;gap:6px var(--ds-sp-3);margin:0 0 var(--ds-sp-3);font-size:var(--ds-fs-base);}
.ras-info dt{color:var(--ds-gray-600);font-size:var(--ds-fs-md);}
.ras-info dd{margin:0;word-break:break-all;color:var(--ds-gray-900);}
.ras-acts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--ds-sp-3);}
.ras-form{border:var(--ds-line) solid var(--ds-gray-200);border-radius:var(--ds-radius-md);background:var(--ds-gray-50);padding:var(--ds-sp-3);margin-bottom:var(--ds-sp-4);}
.ras-form h3{margin:0 0 var(--ds-sp-1);font-size:var(--ds-fs-base);color:var(--ds-brand);}
.ras-hint{margin:0 0 var(--ds-sp-2);font-size:var(--ds-fs-md);color:var(--ds-gray-600);}
.ras-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--ds-sp-2) var(--ds-sp-3);}
.ras-fld{display:flex;flex-direction:column;gap:4px;min-width:0;}
.ras-fld > span{font-size:var(--ds-fs-sm);font-weight:600;color:#374151;}
.ras-fld--wide{grid-column:1 / -1;}
.ras-num-in{text-align:right;}
.ras-sn-area{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--ds-fs-md);resize:vertical;}
.ras-spec-box:empty{display:none;}
.ras-spec-box{padding:var(--ds-sp-2) var(--ds-sp-3);border-radius:var(--ds-radius-md);background:var(--ds-gray-50);font-size:var(--ds-fs-md);}
.ras-check{display:flex;align-items:center;gap:var(--ds-sp-2);font-size:var(--ds-fs-md);color:var(--ds-gray-900);}
.ras-btns{display:flex;justify-content:flex-end;gap:var(--ds-sp-2);margin-top:var(--ds-sp-2);}
.ras-err{margin:var(--ds-sp-2) 0 0;font-size:var(--ds-fs-md);color:var(--ds-danger);}
.ras-err:empty{display:none;}
.ras-prev{margin:var(--ds-sp-3) 0 0;font-size:var(--ds-fs-md);color:var(--ds-gray-600);}
.ras-sec{margin:var(--ds-sp-2) 0 var(--ds-sp-2);font-size:var(--ds-fs-base);color:var(--ds-gray-900);}
.ras-log{list-style:none;margin:0;padding:0 0 0 2px;border-left:var(--ds-line-strong) solid var(--ds-gray-200);}
.ras-log li{position:relative;padding:0 0 var(--ds-sp-3) var(--ds-sp-3);font-size:var(--ds-fs-md);}
.ras-log li::before{content:"";position:absolute;left:-7px;top:5px;width:10px;height:10px;border-radius:50%;background:#fff;border:var(--ds-line-strong) solid var(--ds-primary);}
.ras-log-d{font-size:var(--ds-fs-sm);color:var(--ds-gray-600);}

/* 휴대폰: 표 → 카드 */
@media (max-width:600px){
  .ras-chips{padding:var(--ds-sp-2) var(--ds-sp-3) 0;}
  .ras-list{padding:var(--ds-sp-3);}
  .ras-a-table,.ras-a-table tbody,.ras-m-table,.ras-m-table tbody{display:block;}
  .ras-a-table thead,.ras-m-table thead{display:none;}
  .ras-a-table tr{display:grid;grid-template-columns:1fr auto;grid-template-areas:"no st" "model model" "sn sn" "where where" "date cost";gap:2px var(--ds-sp-2);
    padding:var(--ds-sp-3);margin-bottom:var(--ds-sp-2);border:var(--ds-line) solid var(--ds-gray-200);border-radius:var(--ds-radius-lg);background:#fff;}
  .ras-a-table td,.ras-m-table td{display:block;padding:0;border:none;background:none;overflow:visible;white-space:normal;font-size:var(--ds-fs-md);}
  .ras-a-table td[colspan],.ras-m-table td[colspan]{grid-column:1 / -1;text-align:center;}
  .ras-a-table td.ras-no-td{grid-area:no;font-size:var(--ds-fs-lg);} .ras-a-table td.ras-no-td b{font-size:var(--ds-fs-lg);} .ras-st-td{grid-area:st;justify-self:end;}
  .ras-model-td{grid-area:model;} .ras-sn-td{grid-area:sn;} .ras-where-td{grid-area:where;}
  .ras-a-table td.ras-date-td{grid-area:date;font-size:var(--ds-fs-sm);color:var(--ds-gray-600);} .ras-a-table td.ras-cost-td{grid-area:cost;}
  .ras-m-table tr{display:grid;grid-template-columns:1fr auto;grid-template-areas:"mn ma" "mp mc" "ms ms" "mb mb";gap:2px var(--ds-sp-2);
    padding:var(--ds-sp-3);margin-bottom:var(--ds-sp-2);border:var(--ds-line) solid var(--ds-gray-200);border-radius:var(--ds-radius-lg);background:#fff;}
  .ras-m-table td.ras-mn-td{grid-area:mn;font-size:var(--ds-fs-lg);font-weight:700;color:var(--ds-brand);} .ras-ma-td{grid-area:ma;justify-self:end;}
  .ras-m-table td.ras-mp-td{grid-area:mp;font-size:var(--ds-fs-sm);} .ras-mc-td{grid-area:mc;justify-self:end;} .ras-mc-td::after{content:"대";}
  .ras-m-table td.ras-ms-td{grid-area:ms;white-space:normal;font-size:var(--ds-fs-sm);color:var(--ds-gray-600);} .ras-m-table td.ras-mb-td{grid-area:mb;} .ras-m-table td.ras-mb-td:empty{display:none;}
  .ras-s-table,.ras-s-table tbody{display:block;}
  .ras-s-table thead{display:none;}
  .ras-s-table tr{display:grid;grid-template-columns:repeat(4,1fr);grid-template-areas:"sm sm sm own" "sp sp sp sp" "av rs rt sv";gap:4px var(--ds-sp-2);
    padding:var(--ds-sp-3);margin-bottom:var(--ds-sp-2);border:var(--ds-line) solid var(--ds-gray-200);border-radius:var(--ds-radius-lg);background:#fff;}
  .ras-s-table td{display:block;padding:0;border:none !important;background:none !important;font-size:var(--ds-fs-md);}
  .ras-s-table td[colspan]{grid-column:1 / -1;text-align:center;}
  .ras-sm-td{grid-area:sm;font-size:var(--ds-fs-lg) !important;font-weight:700;white-space:normal !important;color:var(--ds-brand) !important;}
  .ras-sp-td{grid-area:sp;font-size:var(--ds-fs-sm) !important;} .ras-rep{visibility:visible;}
  .ras-s-table .ras-own-td{grid-area:own;} .ras-s-table .ras-own-td::after{content:"대";}
  .ras-s-table .ras-avail-td{grid-area:av;text-align:left !important;} .ras-res-td{grid-area:rs;text-align:left !important;}
  .ras-rent-td{grid-area:rt;text-align:left !important;} .ras-svc-td{grid-area:sv;text-align:left !important;}
  .ras-avail-td::before{content:"가용 ";font-weight:400;color:var(--ds-gray-600);} .ras-res-td::before{content:"예약 ";color:var(--ds-gray-600);}
  .ras-rent-td::before{content:"렌탈중 ";color:var(--ds-gray-600);} .ras-svc-td::before{content:"A/S·검수 ";color:var(--ds-gray-600);}
  .ras-s-table .ras-zero{color:var(--ds-gray-400);}
  .ras-dis-td,.ras-s-table .ras-cost-td{display:none !important;}
  .ras-s-table tr.ras-total{background:var(--ds-gray-50);}
  .ras-s-table tr.ras-total .ras-sp-td{grid-area:sm;font-size:var(--ds-fs-lg) !important;} .ras-s-table tr.ras-total .ras-sm-td{display:none;}
  .ras-grid{grid-template-columns:1fr;}
  .ras-info{grid-template-columns:88px 1fr;}
  .modal-overlay.open:has(> .ras-modal){align-items:flex-end !important;padding:0 !important;}
  .modal-box.ras-modal{width:100vw;max-width:100vw;max-height:92dvh !important;border-radius:16px 16px 0 0 !important;}
}

/* ───────── 2026-10-19 수주 배정 (rental-assign.js, .rag-*) ───────── */
.rag-table th:nth-child(1){width:150px;} .rag-table th:nth-child(3),.rag-table th:nth-child(4){width:100px;} .rag-table th:nth-child(n+5){width:70px;}
.rag-table td{white-space:nowrap;}
.rag-table tbody tr{cursor:pointer;}
@media (hover:hover){.rag-table tbody tr:hover td{background:var(--ds-gray-50);}}
.rag-no-td b{color:var(--ds-brand);}
.rag-short{font-weight:700;color:var(--ds-danger);}
.rag-ok{font-weight:700;color:var(--ds-success);}
.rag-modal{width:min(680px,96vw);}
.rag-line{border:var(--ds-line) solid var(--ds-gray-200);border-radius:var(--ds-radius-md);padding:var(--ds-sp-3);margin-bottom:var(--ds-sp-3);}
.rag-manual{background:var(--ds-gray-50);}
.rag-lhead{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--ds-sp-2);flex-wrap:wrap;font-size:var(--ds-fs-base);}
.rag-lhead b{color:var(--ds-gray-900);}
.rag-cnt{font-size:var(--ds-fs-md);color:var(--ds-gray-600);white-space:nowrap;}
.rag-cnt b{color:var(--ds-gray-900);}
.rag-sub{margin-top:var(--ds-sp-2);font-size:var(--ds-fs-sm);font-weight:600;color:var(--ds-gray-600);}
.rag-buy{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-sp-2);margin-top:var(--ds-sp-2);padding:var(--ds-sp-1) var(--ds-sp-2);border-radius:var(--ds-radius-sm);background:#fef2f2;font-size:var(--ds-fs-md);font-weight:700;color:var(--ds-danger);}
.rag-assets{list-style:none;margin:var(--ds-sp-1) 0 0;padding:0;}
.rag-asset{display:flex;align-items:center;gap:var(--ds-sp-2);padding:6px 0;border-top:var(--ds-line) solid #f1f5f9;font-size:var(--ds-fs-md);}
.rag-a-no{min-width:118px;font-weight:700;color:var(--ds-brand);}
.rag-a-sn{min-width:130px;}
.rag-a-st{min-width:64px;}
.rag-a-loc{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ds-fs-sm);color:var(--ds-gray-600);}
.rag-btns{align-items:center;margin-top:0;}
.rag-picked{margin-right:auto;font-size:var(--ds-fs-md);color:var(--ds-gray-600);}
@media (max-width:600px){
  .rag-table,.rag-table tbody{display:block;}
  .rag-table thead{display:none;}
  .rag-table tr{display:grid;grid-template-columns:repeat(4,1fr);grid-template-areas:"no no no sh" "co co co co" "won won st st" "nd rs ot .";gap:2px var(--ds-sp-2);
    padding:var(--ds-sp-3);margin-bottom:var(--ds-sp-2);border:var(--ds-line) solid var(--ds-gray-200);border-radius:var(--ds-radius-lg);background:#fff;}
  .rag-table td{display:block;padding:0;border:none;background:none;overflow:visible;font-size:var(--ds-fs-md);}
  .rag-table td[colspan]{grid-column:1 / -1;text-align:center;white-space:normal;}
  .rag-table td.rag-no-td{grid-area:no;font-size:var(--ds-fs-lg);} .rag-table td.rag-no-td b{font-size:var(--ds-fs-lg);}
  .rag-short-td{grid-area:sh;justify-self:end;} .rag-short-td .rag-short::before{content:"부족 ";} .rag-co-td{grid-area:co;white-space:normal !important;}
  .rag-table td.rag-won-td,.rag-table td.rag-start-td{font-size:var(--ds-fs-sm);color:var(--ds-gray-600);} .rag-won-td{grid-area:won;} .rag-start-td{grid-area:st;}
  .rag-won-td::before{content:"수주 ";} .rag-start-td::before{content:"시작 ";}
  .rag-need-td{grid-area:nd;text-align:left !important;} .rag-res-td{grid-area:rs;text-align:left !important;} .rag-out-td{grid-area:ot;text-align:left !important;}
  .rag-need-td::before{content:"필요 ";color:var(--ds-gray-600);} .rag-res-td::before{content:"예약 ";color:var(--ds-gray-600);} .rag-out-td::before{content:"출고 ";color:var(--ds-gray-600);}
  .rag-asset{flex-wrap:wrap;gap:2px var(--ds-sp-2);}
  .rag-a-loc{flex-basis:100%;}
}

/* 2026-10-20 수주 배정: 'n차 인수증' 표시 (rental-assign.js) */
.rag-dr{display:inline-block;margin-left:4px;padding:1px 6px;border-radius:var(--ds-radius-sm);background:var(--ds-primary-soft);color:var(--ds-brand);font-size:var(--ds-fs-xs);font-weight:700;white-space:nowrap;vertical-align:middle;}

/* 2026-10-20 수주 배정: 인수증 칸 · 물품 인수증 줄 */
.rag-table th:nth-child(9){width:180px;} .rag-table th:nth-child(10){width:190px;}
.rag-table td.rag-todo-td{white-space:normal;}
.rag-drw{font-weight:700;color:#c2410c;}
.rag-drbar{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-sp-2);flex-wrap:wrap;margin-bottom:var(--ds-sp-3);padding:var(--ds-sp-2) var(--ds-sp-3);border-radius:var(--ds-radius-md);background:var(--ds-primary-soft);font-size:var(--ds-fs-base);}
.rag-drbar b{color:var(--ds-brand);}
@media (max-width:600px){
  .rag-table tr{grid-template-areas:"no no no sh" "co co co co" "won won st st" "nd rs ot ." "pg pg td td";}
  .rag-table td.rag-pg-td{grid-area:pg;margin-top:var(--ds-sp-1);}
  .rag-table td.rag-todo-td{grid-area:td;justify-self:end;align-self:end;white-space:normal;text-align:right;}
  .rag-steps small{font-size:var(--ds-fs-xs);}
}

/* 2026-10-20 진행 단계 */
.rag-dots{display:inline-flex;gap:3px;margin-right:6px;vertical-align:middle;}
.rag-dots i{width:8px;height:8px;border-radius:50%;background:var(--ds-gray-200);}
.rag-dots i.on{background:var(--ds-primary);}
.rag-pg{font-size:var(--ds-fs-md);font-weight:700;color:var(--ds-gray-600);vertical-align:middle;}
.rag-pg--1{color:var(--ds-danger);} .rag-pg--2,.rag-pg--3{color:#c2410c;} .rag-pg--4{color:var(--ds-success);}
.rag-todo{font-size:var(--ds-fs-md);font-weight:700;color:var(--ds-gray-900);}
.rag-prog{margin-bottom:var(--ds-sp-3);padding:var(--ds-sp-3);border-radius:var(--ds-radius-md);background:var(--ds-primary-soft);}
.rag-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);position:relative;}
.rag-st{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;min-width:0;}
.rag-st::before{content:"";position:absolute;top:11px;left:-50%;width:100%;height:2px;background:var(--ds-gray-200);z-index:0;}
.rag-st:first-child::before{display:none;}
.rag-st--done::before,.rag-st--cur::before{background:var(--ds-primary);}
.rag-st-dot{position:relative;z-index:1;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--ds-gray-200);background:#fff;color:#fff;font-size:var(--ds-fs-sm);font-weight:700;}
.rag-st--done .rag-st-dot{background:var(--ds-primary);border-color:var(--ds-primary);}
.rag-st--cur .rag-st-dot{border-color:var(--ds-primary);box-shadow:inset 0 0 0 4px #fff;background:var(--ds-primary);}
.rag-st b{font-size:var(--ds-fs-md);color:var(--ds-gray-900);}
.rag-st:not(.rag-st--done):not(.rag-st--cur) b{color:var(--ds-gray-400);}
.rag-st small{font-size:var(--ds-fs-sm);color:var(--ds-gray-600);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;}
.rag-prog-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-sp-2);flex-wrap:wrap;margin-top:var(--ds-sp-3);padding-top:var(--ds-sp-2);border-top:var(--ds-line) solid rgba(0,0,0,.06);}

/* 2026-10-20 계약서 단계 추가 (5단계) */
.rag-steps{grid-template-columns:repeat(5,1fr);}
.rag-pg--1,.rag-pg--3,.rag-pg--4{color:#c2410c;} .rag-pg--2{color:var(--ds-danger);} .rag-pg--5{color:var(--ds-success);}
.rag-prog-btns{display:flex;gap:var(--ds-sp-2);}
.rag-table th:nth-child(9){width:190px;}

/* 2026-10-20 렌탈 수주 칸 폭 — 고객사 칸이 남는 폭을 다 차지하던 것 */
.rag-table th:nth-child(2){width:260px;}
.rag-table th:nth-child(10){width:auto;min-width:190px;}

/* 2026-10-20 자산 관리 하위 띠: 묶음 이름 · 세로줄 */
.ast-grp { flex-shrink: 0; white-space: nowrap; padding: 0 4px 0 6px; font-size: var(--ds-fs-sm); color: var(--ds-gray-600); }
.ast-grp:first-child { padding-left: 0; }
.ast-dv { flex-shrink: 0; width: 1px; height: 18px; margin: 0 8px; background: rgba(15, 23, 42, .18); }

/* 2026-10-20 회수 단계 (7단계) */
.rag-steps{grid-template-columns:repeat(7,1fr);}
.rag-pg--6,.rag-pg--7{color:#c2410c;} .rag-pg--8{color:var(--ds-gray-600);}
.rag-rt-li{cursor:pointer;}
.rag-rt-li:hover{background:var(--ds-primary-soft);}
.ras-acts-note{align-self:center;margin-left:4px;}

/* 2026-10-20 정산 단계 (8단계) */
.rag-steps{grid-template-columns:repeat(8,1fr);}
.rag-pg--8{color:#c2410c;} .rag-pg--9{color:var(--ds-gray-600);}

/* 2026-10-20 중도 해지 · 종료 알림 (DB 030) */
.rag-bd{display:inline-block;margin:2px 0 0;padding:1px 7px;border-radius:var(--ds-radius-pill);font-size:var(--ds-fs-xs);font-weight:700;white-space:nowrap;vertical-align:middle;}
.rag-bd--soon{background:#fff7ed;color:#c2410c;} .rag-bd--late{background:#fef2f2;color:var(--ds-danger);} .rag-bd--term{background:#f1f5f9;color:var(--ds-gray-600);}
.ras-tsub s{color:var(--ds-gray-400);}
.rag-table th:nth-child(4){width:112px;} .rag-table td.rag-start-td{overflow:visible;}
.rag-tm{margin-bottom:var(--ds-sp-3);padding:var(--ds-sp-2) var(--ds-sp-3);border-radius:var(--ds-radius-md);background:var(--ds-gray-50);border:var(--ds-line) solid var(--ds-gray-200);font-size:var(--ds-fs-base);}
.rag-tm-row{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-sp-2);flex-wrap:wrap;}
.rag-tm-row .rag-bd{margin:0 4px 0 0;}
.rag-tm-modal{width:min(520px,96vw);}
.rag-tm-del{margin-right:auto;}
.rag-tm-orig{font-size:var(--ds-fs-base);color:var(--ds-gray-900);}
.ras-s-table th:nth-child(9){width:76px;} .ras-s-table th:nth-child(10){width:130px;}
.ras-s-table td.ras-due-td:not(.ras-zero){font-weight:700;color:#c2410c;}
@media (max-width:600px){
  .rag-start-td::before{content:"기간 ";}
  .rag-table td.rag-start-td .ras-subtxt{display:inline;margin-left:4px;}
  .rag-table td.rag-start-td .rag-bd{display:table;margin-top:2px;}
  .ras-s-table tr{grid-template-areas:"sm sm sm own" "sp sp sp sp" "av rs rt sv" "du du du du";}
  .ras-due-td{grid-area:du;text-align:left !important;} .ras-due-td::before{content:"반납 예정 ";font-weight:400;color:var(--ds-gray-600);}
  .ras-s-table td.ras-due-td.ras-zero{display:none;}
}

/* 2026-10-20 휴대폰 렌탈 수주 카드: 진행 단계(pg) · 다음 할 일(td)을 각각 한 줄로 (반쪽 칸에 같이 두면 글자가 붙거나 겹침) */
@media (max-width:600px){
  .rag-table tr{grid-template-areas:"no no no sh" "co co co co" "won won st st" "nd rs ot ." "pg pg pg pg" "td td td td";}
  .rag-table td.rag-todo-td{justify-self:start;align-self:start;text-align:left;}
}

/* 2026-10-20 PC 렌탈 수주 목록 '진행' 칸: 점 8개 + '인수증 서명 대기' 같은 긴 단계가 잘려 180 → 228px */
.rag-table th:nth-child(9){width:228px;}

/* 2026-10-21 PC 렌탈 수주 목록 칸 넓이 정리: 고객사 260→200 · 수주일 100→96 · 렌탈 기간 112→260(시작 ~ 끝 + 표시 한 줄) · 필요·예약·출고·부족 70→56 · 진행 228 그대로 · 다음 할 일 나머지(단어 단위 줄바꿈) */
.rag-table th:nth-child(2){width:200px;} .rag-table th:nth-child(3){width:96px;} .rag-table th:nth-child(4){width:260px;}
.rag-table th:nth-child(5),.rag-table th:nth-child(6),.rag-table th:nth-child(7),.rag-table th:nth-child(8){width:56px;}
.rag-per{white-space:nowrap;}
.rag-table td.rag-todo-td{word-break:keep-all;}   /* 다음 할 일: 단어 중간에서 줄바꿈 안 함 */
@media (min-width:601px){.rag-table td.rag-start-td .rag-bd{margin:0 0 0 6px;}}   /* PC: 표시도 기간 옆 같은 줄 (휴대폰은 위쪽 규칙대로 다음 줄) */

/* 2026-11-06 메뉴 합치기 — 장비 화면 전환 · 렌탈 제품 창 품번 칸 */
.ras-seg{display:inline-flex;border:var(--ds-line) solid #cbd5e1;border-radius:var(--ds-radius-md);overflow:hidden;margin-left:var(--ds-sp-2);vertical-align:middle;}
.ras-seg-b{border:none;background:#fff;padding:6px 12px;font-size:var(--ds-fs-md);font-weight:600;color:#64748b;cursor:pointer;font-family:inherit;white-space:nowrap;}
.ras-seg-b + .ras-seg-b{border-left:var(--ds-line) solid #cbd5e1;}
.ras-seg-b.on{background:var(--ds-brand);color:#fff;}
.ras-pm{margin-top:14px;border:1px solid #bfdbfe;background:#f8fbff;border-radius:10px;padding:10px 12px;}
.ras-pm-h{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#1e40af;flex-wrap:wrap;}
.ras-pm-list{list-style:none;margin:6px 0 0;padding:0;}
.ras-pm-list li{display:flex;gap:8px;align-items:center;padding:7px 8px;background:#fff;border:1px solid #dbeafe;border-radius:8px;margin-top:6px;font-size:13px;flex-wrap:wrap;}
.ras-pm-list li b{min-width:140px;word-break:break-all;}
.ras-pm-list li small{color:#64748b;flex:1;min-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ras-pm-list li.ras-pm-off{opacity:.65;}
.ras-pm-note{margin:6px 0 0;font-size:12px;color:#64748b;line-height:1.6;}
@media (max-width:600px){ .ras-seg{margin:6px 0 0;} .ras-pm-list li b{min-width:0;flex:1 1 100%;} }
