/* 2026-10-21 (20) 링크 서명: 서명 요청 버튼 · 보낸 상태(.rctl-state) · 링크 창(#modal-rct-link .rctl-*) — 맨 아래 */
/* 2026-10-20 일 렌탈 품목: 구분 표시 .rct-kd--d · 단가 아래 '× n일' .rct-days — 맨 아래 */
/* 2026-10-20 렌탈 계약서 (rental-contract.js) — 새 파일. 기준표 --ds-* 만 사용
   #modal-rct(목록·계약서 창) · #modal-rct-sign(고객 서명) · #modal-rct-print(인쇄 보기) — 물품 인수증(delivery.css)과 같은 모양 */

#modal-rct{z-index:1150;}
#modal-rct-print{z-index:1165;}
#modal-rct-sign{z-index:1170;}
#modal-rct-link{z-index:1175;}   /* 2026-10-21 (20) 링크 창: 계약서 창 위 */

/* ── 공통 ── */
.rct-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;}
.rct-sub{margin-top:var(--ds-sp-1);font-size:var(--ds-fs-sm);color:var(--ds-gray-600);}
.rct-tag{display:inline-block;padding:2px var(--ds-sp-2);border-radius:var(--ds-radius-sm);font-size:var(--ds-fs-sm);font-weight:700;background:#f1f5f9;color:var(--ds-gray-600);line-height:1.4;}
.rct-tag--no{background:var(--ds-primary-soft);color:var(--ds-brand);}
.rct-tag--kind{background:#fff7ed;color:#c2410c;}
.rct-tag--done{background:#d1fae5;color:#047857;}
.rct-btn{height:40px;padding:0 var(--ds-sp-4);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;}
.rct-btn--main{background:var(--ds-primary);border-color:var(--ds-primary);color:#fff;}
.rct-btn--navy{background:var(--ds-brand);border-color:var(--ds-brand);color:#fff;}
.rct-btn--txt{border-color:transparent;background:transparent;color:var(--ds-gray-600);font-weight:400;}
.rct-btn:disabled{opacity:.5;cursor:default;}
@media (hover:hover){
  .rct-btn:hover{border-color:var(--ds-primary);color:var(--ds-primary);}
  .rct-btn--main:hover,.rct-btn--navy:hover{color:#fff;filter:brightness(1.08);}
  .rct-btn--txt:hover{color:var(--ds-danger);border-color:transparent;}
}
.rct-note{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);font-size:var(--ds-fs-sm);color:var(--ds-gray-600);}
.rct-empty{padding:var(--ds-sp-4);text-align:center;font-size:var(--ds-fs-md);color:var(--ds-gray-400);}
.rct-hint{padding:6px var(--ds-sp-3) 10px;font-size:var(--ds-fs-sm);color:var(--ds-gray-600);}

/* ── 목록·계약서 창 ── */
.rct-modal{width:min(720px,96vw);max-width:96vw;max-height:92vh;display:flex;flex-direction:column;}
.rct-modal .modal-header{align-items:flex-start;padding:var(--ds-sp-4) var(--ds-sp-4) var(--ds-sp-3);}
.rct-body{flex:1;overflow-y:auto;padding:var(--ds-sp-3) var(--ds-sp-4);}
.rct-foot{border-top:var(--ds-line) solid var(--ds-gray-200);padding:var(--ds-sp-3) var(--ds-sp-4);display:flex;flex-direction:column;gap:var(--ds-sp-2);}
.rct-foot-row{display:flex;gap:var(--ds-sp-2);align-items:center;}
.rct-gap{flex:1;}
.rct-btn--wide{width:100%;height:44px;}

.rct-list{display:flex;flex-direction:column;gap:var(--ds-sp-2);}
.rct-li{display:block;width:100%;text-align:left;padding:var(--ds-sp-3);border:var(--ds-line) solid var(--ds-gray-200);border-radius:var(--ds-radius-md);background:#fff;cursor:pointer;font-family:inherit;}
.rct-li-top{display:flex;align-items:center;gap:var(--ds-sp-2);flex-wrap:wrap;font-size:var(--ds-fs-base);}
.rct-li-top b{color:var(--ds-brand);}
.rct-li-meta{font-size:var(--ds-fs-sm);color:var(--ds-gray-600);}
.rct-li-sub{margin-top:var(--ds-sp-1);font-size:var(--ds-fs-sm);color:var(--ds-gray-600);}
@media (hover:hover){ .rct-li:hover{border-color:var(--ds-primary);} }

.rct-grp{border:var(--ds-line) solid var(--ds-gray-200);border-radius:var(--ds-radius-md);margin-bottom:var(--ds-sp-3);}
.rct-grp-t{display:flex;align-items:center;gap:var(--ds-sp-2);padding:10px var(--ds-sp-3);border-bottom:var(--ds-line) solid var(--ds-gray-200);font-size:var(--ds-fs-base);font-weight:700;color:var(--ds-brand);}
.rct-mini{margin-left:auto;height:28px;padding:0 10px;border:var(--ds-line) solid #cbd5e1;border-radius:var(--ds-radius-md);background:#fff;color:var(--ds-primary);font-size:var(--ds-fs-sm);font-weight:700;font-family:inherit;cursor:pointer;}
.rct-row{display:flex;align-items:center;gap:var(--ds-sp-2);padding:6px var(--ds-sp-3);}
.rct-k{width:96px;flex-shrink:0;font-size:var(--ds-fs-sm);color:var(--ds-gray-600);}
.rct-inp{flex:1;min-width:0;height:36px;padding:0 10px;border:var(--ds-line) solid #cbd5e1;border-radius:var(--ds-radius-md);font-size:var(--ds-fs-base);font-family:inherit;color:var(--ds-gray-900);background:#fff;}
.rct-inp:focus{outline:none;border-color:var(--ds-primary);}
.rct-inp--num{text-align:right;}
.rct-inp--sm{height:32px;padding:0 6px;width:100%;}
.rct-num-wrap{flex:1;display:flex;align-items:center;gap:6px;min-width:0;}
.rct-num-wrap .rct-inp{max-width:200px;}
.rct-num-wrap em{font-style:normal;font-size:var(--ds-fs-sm);color:var(--ds-gray-600);}
.rct-ta{display:block;width:calc(100% - 2 * var(--ds-sp-3));margin:var(--ds-sp-2) var(--ds-sp-3) 0;height:auto;padding:8px 10px;line-height:1.5;resize:vertical;}
.rct-val{flex:1;min-width:0;font-size:var(--ds-fs-base);color:var(--ds-gray-900);word-break:keep-all;overflow-wrap:anywhere;}
.rct-val--num{text-align:left;font-weight:700;}
.rct-pre{display:block;padding:var(--ds-sp-2) var(--ds-sp-3) 0;white-space:pre-line;}
.rct-chk{display:flex;align-items:center;gap:6px;padding:8px var(--ds-sp-3) 0;font-size:var(--ds-fs-sm);color:var(--ds-gray-600);cursor:pointer;}

.rct-it-wrap{overflow-x:auto;}
.rct-it{width:100%;border-collapse:collapse;font-size:var(--ds-fs-md);}
.rct-it th{padding:6px var(--ds-sp-2);background:var(--ds-gray-50);font-size:var(--ds-fs-sm);font-weight:600;color:var(--ds-gray-600);text-align:left;border-bottom:var(--ds-line) solid var(--ds-gray-200);white-space:nowrap;}
.rct-it td{padding:6px var(--ds-sp-2);border-bottom:var(--ds-line) solid #f1f5f9;vertical-align:top;}
.rct-it-nm b{display:block;font-weight:700;color:var(--ds-gray-900);word-break:keep-all;}
.rct-it-nm small{display:block;margin-top:2px;font-size:var(--ds-fs-sm);color:#475569;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.rct-it-nm small.rct-it-note{color:#c2410c;}
.rct-it-q{width:64px;} .rct-it-u{width:110px;} .rct-it-a{width:100px;text-align:right;font-weight:700;white-space:nowrap;}
.rct-it-x{width:30px;} .rct-it-x button{width:26px;height:26px;border:0;background:none;color:var(--ds-gray-400);cursor:pointer;border-radius:var(--ds-radius-sm);}
@media (hover:hover){ .rct-it-x button:hover{color:var(--ds-danger);} }
.rct-kd{display:inline-block;padding:1px 6px;border-radius:var(--ds-radius-sm);font-size:var(--ds-fs-xs);font-weight:700;white-space:nowrap;}
.rct-kd--m{background:var(--ds-primary-soft);color:var(--ds-brand);}
.rct-kd--x{background:#fff7ed;color:#c2410c;}

.rct-sum{margin:var(--ds-sp-2) var(--ds-sp-3);border-radius:var(--ds-radius-md);background:var(--ds-gray-50);padding:var(--ds-sp-2) var(--ds-sp-3);}
.rct-sum div{display:flex;justify-content:space-between;gap:var(--ds-sp-2);padding:3px 0;font-size:var(--ds-fs-md);color:var(--ds-gray-600);}
.rct-sum b{color:var(--ds-gray-900);text-align:right;}
.rct-sum .rct-sum-main{border-top:var(--ds-line) solid var(--ds-gray-200);border-bottom:var(--ds-line) solid var(--ds-gray-200);margin:3px 0;padding:6px 0;}
.rct-sum .rct-sum-main span{color:var(--ds-brand);font-weight:700;}
.rct-sum .rct-sum-main b{color:var(--ds-brand);font-size:var(--ds-fs-lg);}
.rct-sig-img{margin:var(--ds-sp-1) var(--ds-sp-3);height:96px;display:flex;align-items:center;justify-content:center;border-bottom:var(--ds-line) solid var(--ds-gray-400);}
.rct-sig-img img{max-height:92px;max-width:100%;}

/* ── 고객 서명 ── */
.rct-sign-modal{width:min(1280px,96vw);max-width:96vw;height:92vh;max-height:92vh;display:flex;flex-direction:column;}
.rct-sign-modal .modal-header{align-items:flex-start;padding:var(--ds-sp-3) var(--ds-sp-4);}
.rcts-main{flex:1;min-height:0;display:flex;flex-direction:column;}
.rcts-doc{padding:var(--ds-sp-3) var(--ds-sp-4);overflow-y:auto;max-height:38vh;border-bottom:var(--ds-line) solid var(--ds-gray-200);}
.rcts-side{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--ds-sp-3);padding:var(--ds-sp-3) var(--ds-sp-4) var(--ds-sp-4);}
.rcts-kv{display:grid;grid-template-columns:1fr 1fr;gap:4px var(--ds-sp-3);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);}
.rcts-kv div{display:flex;flex-direction:column;font-size:var(--ds-fs-md);}
.rcts-kv span{font-size:var(--ds-fs-sm);color:var(--ds-gray-600);}
.rcts-kv b{color:var(--ds-gray-900);}
.rcts-table{width:100%;border-collapse:collapse;}
.rcts-table th{background:var(--ds-brand);color:#fff;padding:var(--ds-sp-2);font-size:var(--ds-fs-md);font-weight:600;}
.rcts-table td{padding:8px var(--ds-sp-2);font-size:var(--ds-fs-base);border-bottom:var(--ds-line) solid #e8edf5;}
.rcts-table .nm{font-weight:700;word-break:keep-all;} .rcts-table .nm em{font-style:normal;font-size:var(--ds-fs-sm);color:#c2410c;}
.rcts-table .nm small{display:block;font-size:var(--ds-fs-sm);font-weight:400;color:#475569;white-space:pre-line;}
.rcts-table .c{text-align:center;width:56px;} .rcts-table .r{text-align:right;width:110px;font-weight:700;}
.rcts-sp{margin-top:var(--ds-sp-3);font-size:var(--ds-fs-md);} .rcts-sp div{white-space:pre-line;color:#334155;}
.rcts-terms{margin-top:var(--ds-sp-3);border:var(--ds-line) solid var(--ds-gray-200);border-radius:var(--ds-radius-md);}
.rcts-terms summary{padding:10px var(--ds-sp-3);font-size:var(--ds-fs-md);font-weight:700;color:var(--ds-primary);cursor:pointer;}
.rcts-terms-body{padding:0 var(--ds-sp-3) var(--ds-sp-3);font-size:var(--ds-fs-sm);line-height:1.6;color:#334155;}
.rcts-terms-body h4{margin:10px 0 2px;font-size:var(--ds-fs-md);color:var(--ds-brand);}
.rcts-terms-body p{margin:0 0 2px;word-break:keep-all;}
.rcts-terms-body .tt{border-collapse:collapse;margin:4px 0;}
.rcts-terms-body .tt th,.rcts-terms-body .tt td{border:var(--ds-line) solid var(--ds-gray-200);padding:2px 8px;text-align:left;}
.rcts-confirm{text-align:center;font-size:var(--ds-fs-lg);font-weight:700;color:var(--ds-brand);line-height:1.5;word-break:keep-all;}
.rcts-names{display:flex;gap:var(--ds-sp-3);}
.rcts-names label{flex:1;display:flex;align-items:center;gap:var(--ds-sp-2);min-width:0;}
.rcts-names span{flex-shrink:0;font-size:var(--ds-fs-lg);color:#334155;}
.rcts-names input{flex:1;min-width:0;height:48px;padding:0 14px;border:var(--ds-line) solid #cbd5e1;border-radius:var(--ds-radius-md);font-size:var(--ds-fs-lg);font-family:inherit;}
.rcts-names input:focus{outline:none;border-color:var(--ds-primary);}
.rcts-pad{position:relative;flex:1;min-height:180px;border:var(--ds-line-strong) dashed var(--ds-gray-400);border-radius:var(--ds-radius-lg);background:#fff;overflow:hidden;}
.rcts-pad canvas{position:absolute;inset:0;touch-action:none;cursor:crosshair;}
.rcts-hint{position:absolute;left:14px;top:12px;font-size:var(--ds-fs-md);color:var(--ds-gray-400);pointer-events:none;}
.rcts-pad--on .rcts-hint{display:none;}
.rcts-clear{position:absolute;right:10px;top:8px;z-index:2;padding:4px var(--ds-sp-2);border:0;background:#fff;font-size:var(--ds-fs-base);color:var(--ds-primary);cursor:pointer;font-family:inherit;}
.rcts-line{position:absolute;left:8%;right:8%;bottom:22%;border-bottom:var(--ds-line) solid #cbd5e1;pointer-events:none;}
.rcts-btns{display:flex;gap:10px;}
.rcts-btns .rct-btn{flex:1;height:52px;font-size:var(--ds-fs-lg);}
.rcts-btns .rct-btn--main{flex:2;}
@media (min-width:900px){
  .rcts-main{flex-direction:row;}
  .rcts-doc{flex:1;max-height:none;border-bottom:0;border-right:var(--ds-line) solid var(--ds-gray-200);padding:var(--ds-sp-4) var(--ds-sp-6);}
  .rcts-side{flex:1;padding:var(--ds-sp-4) var(--ds-sp-6);}
}

/* ── 인쇄 보기 ── */
.rctp-modal{width:min(900px,96vw);max-width:96vw;height:94dvh;max-height:94dvh;display:flex;flex-direction:column;}
.rctp-modal .modal-header{padding:var(--ds-sp-3) var(--ds-sp-4);gap:var(--ds-sp-2);}
.rctp-modal .modal-header h2{margin:0;margin-right:auto;font-size:var(--ds-fs-lg);font-weight:700;color:var(--ds-brand);}
.rctp-btns{display:flex;align-items:center;gap:var(--ds-sp-2);}
.rctp-btns .rct-btn{height:36px;font-size:var(--ds-fs-md);}
.rctp-body{flex:1;min-height:0;background:#525659;}
.rctp-body iframe{width:100%;height:100%;border:0;display:block;}

/* ── 휴대폰 ── */
@media (max-width:600px){
  .modal-overlay.open:has(> .rct-modal){align-items:flex-end !important;padding:0 !important;}
  .modal-box.rct-modal{width:100vw;max-width:100vw;max-height:92dvh !important;border-radius:16px 16px 0 0 !important;}
  .rct-k{width:84px;}
  .modal-overlay.open:has(> .rct-sign-modal),.modal-overlay.open:has(> .rctp-modal){align-items:stretch !important;padding:0 !important;}
  .modal-box.rct-sign-modal,.modal-box.rctp-modal{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh !important;border-radius:0 !important;}
  .rcts-kv{grid-template-columns:1fr;}
  .rcts-doc{padding:var(--ds-sp-2) var(--ds-sp-3);}
  .rcts-side{padding:var(--ds-sp-2) var(--ds-sp-3) var(--ds-sp-3);gap:var(--ds-sp-2);}
  .rcts-names{flex-direction:column;gap:var(--ds-sp-2);}
  .rcts-confirm{font-size:var(--ds-fs-base);}
  .rct-it-u{width:84px;} .rct-it-a{width:80px;}
  .rctp-modal .modal-header h2{font-size:var(--ds-fs-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
}

/* 2026-10-20 일 렌탈 품목 (DB 027) */
.rct-kd--d{background:#fffbeb;color:var(--ds-warn);}
.rct-days{display:flex;align-items:center;gap:4px;margin-top:4px;font-size:var(--ds-fs-sm);color:var(--ds-gray-600);white-space:nowrap;}
.rct-days .rct-inp--sm{width:52px;}

/* 2026-10-21 (20) 링크 서명 (rental-contract.js _rctLink*) */
.rctl-send{border-color:var(--ds-brand);color:var(--ds-brand);}
.rctl-why{font-size:var(--ds-fs-sm);color:var(--ds-gray-600);}
.rctl-state{display:flex;flex-direction:column;gap:6px;padding:var(--ds-sp-2) var(--ds-sp-3);border:var(--ds-line) solid var(--ds-gray-200);border-radius:var(--ds-radius-md);background:var(--ds-gray-50);}
.rctl-state-top{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-sp-2);font-size:var(--ds-fs-md);color:var(--ds-gray-900);}
.rctl-state-sub{font-size:var(--ds-fs-sm);color:var(--ds-gray-600);line-height:1.5;}
.rctl-tag{display:inline-block;padding:2px var(--ds-sp-2);border-radius:var(--ds-radius-pill);background:#f1f5f9;color:var(--ds-gray-600);font-size:var(--ds-fs-sm);font-weight:700;white-space:nowrap;}
.rctl-tag--seen{background:#ecfdf5;color:var(--ds-success);}
.rctl-modal{max-width:520px;}
.rctl-body{padding:var(--ds-sp-4);display:flex;flex-direction:column;gap:var(--ds-sp-3);}
.rctl-warn{padding:var(--ds-sp-2) var(--ds-sp-3);border-radius:var(--ds-radius-md);background:#fff7ed;color:#c2410c;font-size:var(--ds-fs-sm);line-height:1.5;}
.rctl-body input.rctl-url{flex:none;width:100%;height:40px;padding:0 var(--ds-sp-2);border:var(--ds-line) solid #cbd5e1;border-radius:var(--ds-radius-md);font-size:var(--ds-fs-sm);font-family:inherit;color:var(--ds-gray-900);background:#fff;}
.rctl-meta{font-size:var(--ds-fs-sm);color:var(--ds-gray-600);}
.rctl-btns{display:flex;flex-wrap:wrap;gap:var(--ds-sp-2);}
.rctl-btns .rct-btn{flex:1 1 140px;}
