/* 상단 헤더 */
.estimate-order-detail .estimate-topbar { background: #8faac5; padding: 18px 22px; color: #fff; font-size: 18px; font-weight: 600; display: flex; justify-content: space-between; align-items: center; border-radius: 4px 4px 0 0; margin-bottom: 20px; }
.estimate-order-detail .estimate-topbar h1 { margin: 0; font-size: 18px; font-weight: 600; }
.estimate-order-detail .estimate-close { background: transparent; border: none; color: #fff; font-size: 22px; cursor: pointer; line-height: 1; padding: 0; }
.estimate-order-detail .estimate-close:hover { opacity: 0.8; }
/* 전체 레이아웃 컨테이너 */
.estimate-order-detail .estimate-container { max-width: 1200px; margin: 0 auto; padding: 20px 24px 60px; background:#fff; }
/* 공통 섹션 */
.estimate-order-detail .est-section { padding: 20px 0; border-bottom: 1px solid #e5e5e5; }
.estimate-order-detail .section-header { font-size: 15px; font-weight: 600; margin-bottom: 12px; color: #333; }
/* 기본 테이블 스타일 */
.estimate-order-detail .est-table { width: 100%; border-collapse: collapse; background: #fff; }
.estimate-order-detail .est-table th,
.estimate-order-detail .est-table td { border: 1px solid #e5e5e5; padding: 10px 12px; font-size: 13px; }
.estimate-order-detail .est-table th { width: 140px; background: #fafafa; font-weight: 500; color: #444; text-align: left; }
.estimate-order-detail .est-table td { color: #222; }
/* 옵션 테이블 */
.estimate-order-detail .option-table th,
.estimate-order-detail .option-table td { font-size: 13px; vertical-align: middle; }
.estimate-order-detail .textarea-row th { vertical-align: top; }
.estimate-order-detail .textarea-box { min-height: 70px; padding: 8px 10px; background: #fafafa; border: 1px solid #e5e5e5; border-radius: 4px; white-space: pre-wrap; color: #333; }
/* 결제/원가 테이블 */
.estimate-order-detail .price-table thead th { background: #f2f4f7; font-weight: 600; font-size: 13px; text-align: center; }
.estimate-order-detail .price-table th { background: #fafafa; font-weight: 500; width: 140px; }
.estimate-order-detail .price-table td { font-size: 13px; }
/* 거래처/배송 */
.estimate-order-detail .client-table { table-layout: fixed; width: 100%; }
.estimate-order-detail .client-table th { width: 130px; background: #fafafa; }
.estimate-order-detail .client-table td { word-break: break-all; vertical-align: top; }
.estimate-order-detail .order-detail-textarea#rcvAddr2 { border: 1px solid #ccc; padding: 8px; box-sizing: border-box; }
/* 진행현황 */
.estimate-order-detail .progress-table th { width:auto; padding:9px 4px; text-align:center; font-size:13px; white-space:nowrap; }
.estimate-order-detail .progress-table td { padding:8px 4px; text-align:center; font-size:12px; line-height:1.45; white-space:nowrap; }
.estimate-order-detail .progress-table-wrap { display:grid; gap:8px; }
.estimate-order-detail .progress-table { width:100%; margin:0; table-layout:fixed; }
.estimate-order-detail .progress-link { background: none; border: none; padding: 0; margin: 0; cursor: pointer; font-size: 13px; text-decoration: underline; color: inherit; }
/* 하단 버튼 */
.estimate-order-detail .est-footer { margin-top: 30px; text-align: right; }
.estimate-order-detail .est-footer-btns button { min-width: 90px; padding: 8px 14px; font-size: 13px; border-radius: 4px; cursor: pointer; }
.estimate-order-detail .btn-primary { border: 1px solid #2f54eb; background: #2f54eb; color: #fff; margin-right: 6px; }
.estimate-order-detail .btn-primary:hover { background:#2344b8; border-color:#2344b8; }
.estimate-order-detail .btn-line { border: 1px solid #d9d9d9; background: #fff; color: #333; }
.estimate-order-detail .btn-line:hover { background: #f3f3f3; }
/* 인풋 요소 꾸미기 */
.estimate-order-detail #rcv_addr2 { margin-top: 6px; }
.estimate-order-detail .order-detail-textarea { border: 1px solid #ccc; resize: none; max-width: 300px; height: 60px; width: 100%; }
.estimate-order-detail #remark.order-detail-textarea { display: block; width: 100%; max-width: none; }
.estimate-order-detail #edit_memo.order-detail-textarea { width: 100%; max-width: 100%; }
/* 상태 모달 */
body.status-modal-open { overflow:hidden; }
.sts-modal { position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; padding:20px; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .22s ease, visibility 0s linear .22s; }
.sts-modal.is-open { opacity:1; visibility:visible; pointer-events:auto; transition:opacity .22s ease; }
.sts-modal-backdrop { position:absolute; inset:0; background:rgba(15,23,42,.52); backdrop-filter:blur(4px); opacity:0; transition:opacity .22s ease; }
.sts-modal.is-open .sts-modal-backdrop { opacity:1; }
.sts-modal-dialog { position:relative; width:min(540px, 100%); max-height:min(680px, calc(100vh - 40px)); display:flex; flex-direction:column; overflow:hidden; border:1px solid rgba(148,163,184,.28); border-radius:18px; background:#fff; box-shadow:0 24px 60px rgba(15,23,42,.28); opacity:0; transform:translateY(18px) scale(.98); transition:transform .24s cubic-bezier(.2,.8,.2,1), opacity .2s ease; }
.sts-modal.is-open .sts-modal-dialog { opacity:1; transform:translateY(0) scale(1); }
.sts-modal-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px; border-bottom:1px solid #e2e8f0; background:linear-gradient(135deg, #f8fafc, #eef6ff); }
.sts-modal-title { margin:0; color:#0f172a; font-size:18px; font-weight:800; letter-spacing:-.02em; }
.sts-modal-close { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border:0; border-radius:50%; background:#e2e8f0; color:#334155; cursor:pointer; font-size:20px; line-height:1; transition:background .18s ease, color .18s ease, transform .18s ease; }
.sts-modal-close:hover { background:#1e293b; color:#fff; transform:rotate(90deg); }
.sts-modal-body { padding:22px 20px; overflow:auto; background:#fff; }
.sts-modal-footer { display:flex; justify-content:flex-end; padding:14px 20px; border-top:1px solid #e2e8f0; background:#f8fafc; }
.sts-modal .stage-block { display:grid; gap:14px; }
.sts-modal .stage-block p { display:flex; align-items:center; gap:12px; margin:0 !important; color:#334155; font-size:14px; font-weight:700; }
.sts-modal .stage-block input, .sts-modal .stage-block select { flex:1; min-width:0; height:42px; padding:0 12px; border:1px solid #cbd5e1; border-radius:10px; background:#fff; color:#0f172a; font:inherit; font-weight:600; transition:border-color .18s ease, box-shadow .18s ease; }
.sts-modal .stage-block input:focus, .sts-modal .stage-block select:focus { outline:0; border-color:#2563eb; box-shadow:0 0 0 4px rgba(37,99,235,.12); }
.sts-modal .stage-block .btn-primary { min-width:112px; height:42px; margin:4px 0 0; border:0; border-radius:10px; background:linear-gradient(135deg, #2563eb, #1d4ed8); box-shadow:0 8px 16px rgba(37,99,235,.22); font-weight:800; transition:transform .18s ease, box-shadow .18s ease; }
.sts-modal .stage-block .btn-primary:hover { transform:translateY(-1px); box-shadow:0 12px 20px rgba(37,99,235,.28); }
.sts-modal-footer .btn-line { min-width:76px; height:36px; border-radius:9px; font-weight:700; }
@media (max-width:560px) { .estimate-order-detail .progress-table { width:100%; } .sts-modal { padding:12px; } .sts-modal-dialog { max-height:calc(100vh - 24px); border-radius:14px; } .sts-modal-header, .sts-modal-body, .sts-modal-footer { padding-left:16px; padding-right:16px; } .sts-modal .stage-block p { align-items:flex-start; flex-direction:column; gap:6px; } .sts-modal .stage-block input, .sts-modal .stage-block select { width:100%; flex:none; } }
/**/
.estimate-order-detail .paydoc-table th { font-size: 13px; }
.estimate-order-detail .paydoc-table td { font-size: 13px; }
.estimate-order-detail .paydoc-table th[rowspan] { text-align: center; background:#f5f5f5; }
.estimate-order-detail .process-wrap { display:flex; align-items:center; gap:6px; }
.estimate-order-detail .process-stand-label { font-size:12px; color:#4b5563; }
.estimate-order-detail .process-roll-label { font-size:12px; color:#2563eb; }

.estimate-order-detail select,
.estimate-order-detail input { border: 1px solid #ccc; padding-right: 4px; }
