@charset "UTF-8";

/* ===== 운수 관리 > 운수사 관리 (기본 정보 · 운행 사이트 · 차량 탭) =====
   패널 · 목록 · 모달은 install.css 의 .in-*, 탭 · 상세는 supply_type.css 의 .st-* 를 그대로 쓴다. 여기에는 더한 것만 둔다 (접두어 tr-). */

/* 높이를 정한 입력칸 · 셀렉트 : 공통 .form-control 의 위아래 여백 때문에 글자가 잘리지 않게 (maint.css 와 같은 처리) */
.tr-page select.form-control, .tr-page input.form-control {
    padding-top: 0;
    padding-bottom: 0;
    line-height: normal;
}
.tr-page select.form-control {
    padding-left: 10px;
    padding-right: 28px;
    text-overflow: ellipsis;
}

/* 검색줄 : 사이트 · 상태 select + 검색창 */
.tr-search .in-search__sel { flex: 0 0 90px; }
.tr-search .tr-search__site { flex-basis: 130px; }

/* 상세 탭 : 탭 줄은 위 여백만 줄이고, 패널이 남은 높이를 채운다 */
.tr-tabs { margin-top: 0; }
.tr-tab-cnt { margin-left: 3px; font-size: 13px; color: #8e97a4; font-weight: 600; }
.supply-type-tab.active .tr-tab-cnt { color: #047bb6; }
.tr-tab-panel[hidden] { display: none !important; }
.tr-tab-panel > .st-list-scroll { flex: 1 1 auto; min-height: 0; max-height: none; }
.tr-act-sel { width: 96px; height: 30px; font-size: 14px; }
.tr-act-input { width: 170px; height: 30px; font-size: 14px; padding: 0 10px; }
.st-tab-act select.st-tab-act__filter { min-width: 150px; }

/* 기본 정보 : 숫자 카드 */
.tr-stats { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.tr-stat {
    display: flex; flex-direction: column; gap: 2px;
    padding: 12px 14px; border: 1px solid #e3e8ef; border-radius: 8px; background: #f8fafc;
}
.tr-stat[role="button"] { cursor: pointer; }
.tr-stat[role="button"]:hover, .tr-stat[role="button"]:focus-visible { border-color: #7cb9de; background: #eef6fc; outline: none; }
.tr-stat span { font-size: 13px; color: #6b7684; }
.tr-stat b { font-size: 20px; font-weight: 700; color: #1d1d1d; }
.tr-stat i { font-style: normal; font-size: 12.5px; color: #8e97a4; }
.tr-info-wide { grid-column: 1 / -1; }

/* 운행 사이트 표 */
.tr-sites th.tr-num, .tr-sites td.tr-num { text-align: right; width: 96px; }
.tr-sites .tr-act { width: 70px; text-align: right; }
.tr-used { color: #b25600; }
.tr-inline-btn { height: 28px; padding: 0 10px; font-size: 13.5px; }

/* 차량 표 : 탭 패널 높이를 채운다 */
.tr-tab-panel > .tr-tbl { margin-top: 0; }
/* 차량 표 : 차량번호가 길어도 칸을 패널 밖으로 넓히지 않도록 고정 레이아웃 + 번호 말줄임.
   (예전엔 auto 레이아웃이라 긴 차량번호가 표를 넓혀 오른쪽 '관리'(수정·삭제) 칸이 잘렸다) */
#tcTabVeh .tr-tbl table { table-layout: fixed; width: 100%; }
#tcTabVeh .tr-tbl td.left { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* 운수사 계정 : 따르는 롤 · 로그인 사이트 */
.tr-acct-head { display: grid; gap: 6px; margin-bottom: 10px; padding: 10px 12px; border: 1px solid #e3e8ef; border-radius: 8px; background: #f8fafc; }
.tr-acct-head:empty { display: none; }
.tr-acct-head .in-warn { margin: 0; }
.tr-acct-row { display: flex; gap: 10px; align-items: baseline; font-size: 14.5px; }
.tr-acct-row > span { flex: 0 0 84px; color: #6b7684; }
.tr-acct-row > b { font-weight: 500; display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }

/* 위치 지도 (운수사 등록 · 수정 모달, 기본 정보 탭) */
.tr-form-dialog.tr-form-dialog--map { width: min(1000px, calc(100vw - 32px)); }
.tr-form-cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 20px; align-items: start; }
@media (max-width: 860px) { .tr-form-cols { grid-template-columns: 1fr; } }
.tr-loc__row { display: flex; gap: 6px; align-items: center; }
.tr-loc__row .form-control { flex: 1 1 0; min-width: 0; }
.tr-loc__row .tr-loc__level { flex: 0 0 76px; }
.tr-loc__row .tr-inline-btn { flex: none; height: 38px; }
.tr-map { height: 340px; border: 1px solid #d8e0ea; border-radius: 8px; overflow: hidden; background: #eef2f6; cursor: crosshair; }
.tr-map--view { height: 260px; cursor: grab; }

/* 등록 · 수정 모달 */
.tr-form-dialog { width: min(520px, calc(100vw - 32px)); }
.tr-form { display: grid; gap: 6px; }
.tr-form[hidden] { display: none; }
.tr-form .in-field__label { margin: 8px 0 0; }
.tr-form .in-field__label:first-of-type { margin-top: 0; }
.tr-form--sub .in-field__label:first-of-type { margin-top: 8px; }
.tr-form .form-control { height: 38px; padding-top: 0; padding-bottom: 0; line-height: normal; }
.tr-form input[readonly] { background: #f3f5f8; color: #5b6672; }
.tr-form .in-hint { margin: 0; }
.tr-yn { display: flex; gap: 18px; margin-top: 10px; font-size: 14.5px; }
.tr-yn label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
