/* ─── 출고전표 (shipments) ─── */

/* 안내 배너 */
.sm-banner{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--cs2-accent-soft,#FEF3DA);border-bottom:1px solid var(--cs2-border,#EAEAEA);font-size:13px;color:var(--cs2-ink-2,#3A3A3A)}
.sm-banner-close{background:none;border:none;cursor:pointer;font-size:16px;color:var(--cs2-ink-3,#6B6B6B);padding:0 4px}

/* 탭 */
.sm-tabs{display:flex;gap:4px;padding:10px 16px;border-bottom:1px solid var(--cs2-border,#EAEAEA);flex-wrap:wrap}
.sm-tab{padding:6px 14px;border:1px solid var(--cs2-border,#EAEAEA);border-radius:6px;background:var(--cs2-bg,#FFFFFF);color:var(--cs2-ink-2,#3A3A3A);font-size:13px;cursor:pointer;transition:all .1s}
.sm-tab:hover{background:var(--cs2-bg-2,#F5F5F5)}
.sm-tab-active{background:var(--cs2-accent,#D97706);color:#FFFFFF;border-color:var(--cs2-accent,#D97706)}
.sm-tab-active:hover{background:var(--cs2-accent-hover,#B45309)}
.sm-tab-cnt{font-size:11px;opacity:.8;margin-left:2px}

/* 검색 */
.sm-search-bar{padding:8px 16px}
.sm-search-input{width:100%;max-width:360px;padding:7px 12px;border:1px solid var(--cs2-border,#EAEAEA);border-radius:6px;font-size:13px;outline:none;transition:border .1s}
.sm-search-input:focus{border-color:var(--cs2-accent,#D97706);box-shadow:0 0 0 3px var(--cs2-accent-soft,#FEF3DA)}

/* 테이블 */
.sm-table-wrap{flex:1;overflow:auto;padding:0 16px 16px}
.sm-table{width:100%;border-collapse:collapse;font-size:13px}
.sm-table thead th{position:sticky;top:0;background:var(--cs2-bg-2,#F5F5F5);border-bottom:2px solid var(--cs2-border,#EAEAEA);padding:8px 10px;text-align:left;font-weight:600;font-size:12px;color:var(--cs2-ink-3,#6B6B6B);white-space:nowrap;z-index:1}
.sm-th-ck{width:36px;text-align:center!important}
.sm-th-sort{cursor:pointer;user-select:none}
.sm-th-sort:hover{color:var(--cs2-accent,#D97706)}
.sm-th-right{text-align:right!important}
.sm-table tbody td{padding:8px 10px;border-bottom:1px solid var(--cs2-border,#EAEAEA);color:var(--cs2-ink,#1A1A1A)}
.sm-row{cursor:pointer;transition:background .1s}
.sm-row:hover{background:var(--cs2-bg-chat,#FAFAFA)}
.sm-td-ck{text-align:center;width:36px}
.sm-td-num{font-family:'Consolas','Courier New',monospace;font-size:12px;color:var(--cs2-accent,#D97706);font-weight:600}
.sm-td-right{text-align:right}
.sm-td-items{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sm-td-memo{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--cs2-ink-3,#6B6B6B)}
.sm-empty{text-align:center;padding:40px!important;color:var(--cs2-muted,#9A9A9A);font-size:14px}

/* 배지 */
.sm-type-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:4px;font-size:12px;background:var(--cs2-bg-2,#F5F5F5);color:var(--cs2-ink-2,#3A3A3A)}
.sm-status-badge{display:inline-block;padding:2px 10px;border-radius:10px;font-size:11px;font-weight:600;color:#FFFFFF}

/* 플로팅 선택 바 */
.sm-float-bar{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:10px 20px;background:var(--cs2-ink,#1A1A1A);color:#FFFFFF;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,0.18);z-index:9000;font-size:13px}
.sm-float-cnt{font-weight:600;margin-right:4px}
.sm-float-btn{padding:5px 12px;border:1px solid rgba(255,255,255,0.3);border-radius:6px;background:transparent;color:#FFFFFF;font-size:12px;cursor:pointer;transition:all .1s}
.sm-float-btn:hover{background:rgba(255,255,255,0.15)}
.sm-float-btn-danger{border-color:var(--cs2-danger,#D14343);color:var(--cs2-danger,#D14343)}
.sm-float-btn-danger:hover{background:rgba(209,67,67,0.2)}
.sm-float-btn-close{border:none;font-size:16px;padding:4px 8px}

/* ── 상세 모달 ── */
.sm-modal-ov{position:fixed;inset:0;background:rgba(0,0,0,0.4);display:flex;align-items:center;justify-content:center;z-index:10000}
.sm-modal{background:var(--cs2-bg,#FFFFFF);border-radius:12px;width:720px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 24px rgba(0,0,0,0.12)}
.sm-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--cs2-border,#EAEAEA)}
.sm-modal-head h3{margin:0;font-size:16px;font-weight:700;color:var(--cs2-ink,#1A1A1A)}
.sm-modal-x{background:none;border:none;font-size:20px;cursor:pointer;color:var(--cs2-ink-3,#6B6B6B);padding:4px}
.sm-modal-body{flex:1;overflow-y:auto;padding:20px}
.sm-modal-foot{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-top:1px solid var(--cs2-border,#EAEAEA)}
.sm-modal-foot-left,.sm-modal-foot-right{display:flex;gap:8px}

/* 폼 그리드 */
.sm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-bottom:20px}
.sm-form-group{display:flex;flex-direction:column;gap:4px}
.sm-form-full{grid-column:1 / -1}
.sm-label{font-size:12px;font-weight:600;color:var(--cs2-ink-3,#6B6B6B)}
.sm-input{padding:7px 10px;border:1px solid var(--cs2-border,#EAEAEA);border-radius:6px;font-size:13px;color:var(--cs2-ink,#1A1A1A);outline:none;transition:border .1s}
.sm-input:focus{border-color:var(--cs2-accent,#D97706);box-shadow:0 0 0 3px var(--cs2-accent-soft,#FEF3DA)}
.sm-textarea{resize:vertical;font-family:inherit}

/* 품목 테이블 */
.sm-items-section{border-top:1px solid var(--cs2-border,#EAEAEA);padding-top:16px}
.sm-items-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.sm-items-title{font-size:14px;font-weight:600;color:var(--cs2-ink,#1A1A1A)}
.sm-items-table{width:100%;border-collapse:collapse}
.sm-items-table th{background:var(--cs2-bg-2,#F5F5F5);padding:6px 8px;font-size:11px;font-weight:600;color:var(--cs2-ink-3,#6B6B6B);border:1px solid var(--cs2-border,#EAEAEA);text-align:left}
.sm-items-table td{padding:4px 6px;border:1px solid var(--cs2-border,#EAEAEA)}
.sm-item-input{width:100%;padding:5px 6px;border:1px solid transparent;border-radius:4px;font-size:12px;outline:none;background:transparent;transition:border .1s}
.sm-item-input:focus{border-color:var(--cs2-accent,#D97706);background:var(--cs2-bg,#FFFFFF)}
.sm-item-num{text-align:right}
.sm-item-del{background:none;border:none;color:var(--cs2-muted,#9A9A9A);cursor:pointer;font-size:14px;padding:2px 6px}
.sm-item-del:hover{color:var(--cs2-danger,#D14343)}

/* 버튼 */
.sm-btn{padding:7px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:all .1s}
.sm-btn-pri{background:var(--cs2-accent,#D97706);color:#FFFFFF}
.sm-btn-pri:hover{background:var(--cs2-accent-hover,#B45309)}
.sm-btn-out{background:var(--cs2-bg,#FFFFFF);color:var(--cs2-ink-2,#3A3A3A);border:1px solid var(--cs2-border,#EAEAEA)}
.sm-btn-out:hover{background:var(--cs2-bg-2,#F5F5F5)}
.sm-btn-sm{padding:4px 10px;font-size:12px}

/* 자동완성 드롭다운 (거래처/제품) */
.sm-ac-wrap{position:relative}
.sm-ac-list{position:absolute;top:100%;left:0;right:0;background:var(--cs2-bg,#FFFFFF);border:1px solid var(--cs2-border,#EAEAEA);border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,0.1);max-height:200px;overflow-y:auto;z-index:10010}
.sm-ac-product{min-width:220px}
.sm-ac-item{padding:8px 12px;font-size:13px;cursor:pointer;transition:background .1s;color:var(--cs2-ink,#1A1A1A)}
.sm-ac-item:hover{background:var(--cs2-accent-softer,#FFFBF0)}
.sm-ac-spec{font-size:11px;color:var(--cs2-muted,#9A9A9A);margin-left:6px}

/* 삭제 버튼 */
.sm-td-del{text-align:center;width:36px;padding:4px!important}
.sm-item-del{background:none;border:none;color:var(--cs2-muted,#9A9A9A);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .1s}
.sm-item-del:hover{color:var(--cs2-danger,#D14343);background:var(--cs2-danger-bg,#FDECEC)}

/* 미리보기 오버레이 */
.sm-preview-ov{position:fixed;inset:0;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;z-index:10020}
.sm-preview-card{background:var(--cs2-bg,#FFFFFF);border-radius:12px;width:860px;max-width:95vw;height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 24px rgba(0,0,0,0.15)}
.sm-preview-head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--cs2-border,#EAEAEA)}
.sm-preview-head h3{margin:0;font-size:15px;font-weight:600;color:var(--cs2-ink,#1A1A1A)}
.sm-preview-actions{display:flex;gap:8px}
.sm-preview-body{flex:1;overflow:hidden;padding:0}
.sm-preview-iframe{width:100%;height:100%;border:none}

/* 돋보기 피커 버튼 */
.sm-ac-row{display:flex;gap:4px;align-items:center}
.sm-ac-input{flex:1}
.sm-picker-btn{width:34px;height:34px;border:1px solid var(--cs2-border,#EAEAEA);border-radius:6px;background:var(--cs2-bg,#FFFFFF);cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;transition:all .1s;flex-shrink:0}
.sm-picker-btn:hover{background:var(--cs2-accent-softer,#FFFBF0);border-color:var(--cs2-accent,#D97706)}
.sm-picker-btn-sm{width:28px;height:28px;font-size:13px}

/* 제품 피커 모달 */
.sm-picker-ov{position:fixed;inset:0;background:rgba(0,0,0,0.4);display:flex;align-items:center;justify-content:center;z-index:10020}
.sm-picker-card{background:var(--cs2-bg,#FFFFFF);border-radius:12px;width:560px;max-width:95vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 24px rgba(0,0,0,0.12)}
.sm-pk-head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--cs2-border,#EAEAEA)}
.sm-pk-head h3{margin:0;font-size:15px;font-weight:600}
.sm-pk-search{padding:12px 20px 8px}
.sm-pk-chosung{display:flex;flex-wrap:wrap;gap:4px;padding:4px 20px 10px}
.sm-pk-ch{padding:4px 8px;border:1px solid var(--cs2-border,#EAEAEA);border-radius:4px;background:var(--cs2-bg,#FFFFFF);font-size:12px;cursor:pointer;transition:all .1s}
.sm-pk-ch:hover{background:var(--cs2-bg-2,#F5F5F5)}
.sm-pk-ch-active{background:var(--cs2-accent,#D97706)!important;color:#FFFFFF;border-color:var(--cs2-accent,#D97706)}
.sm-pk-list{flex:1;overflow-y:auto;padding:0 20px 16px;max-height:400px}
.sm-pk-item{padding:10px 12px;border-bottom:1px solid var(--cs2-border,#EAEAEA);cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .1s}
.sm-pk-item:hover{background:var(--cs2-accent-softer,#FFFBF0)}
.sm-pk-name{font-size:13px;font-weight:500;color:var(--cs2-ink,#1A1A1A)}
.sm-pk-spec{font-size:11px;color:var(--cs2-muted,#9A9A9A)}
.sm-pk-code{font-size:11px;color:var(--cs2-accent,#D97706);font-family:monospace}
.sm-pk-empty{text-align:center;padding:30px;color:var(--cs2-muted,#9A9A9A);font-size:13px}
.sm-pk-more{text-align:center;padding:10px;color:var(--cs2-muted,#9A9A9A);font-size:11px}
