/* 예약·운행 현황 개선 */
.schedule-controls{grid-template-columns:auto minmax(110px,1fr) auto auto;align-items:center}
.schedule-controls label{white-space:nowrap}.schedule-controls input{min-width:0}.schedule-controls button{font-size:12px;padding:8px 10px;white-space:nowrap}
.vehicle-ident{display:flex;flex-direction:column;gap:2px}.vehicle-ident .plate{font-weight:800;color:#172033;margin:0}.vehicle-ident .vehicle-name{font-size:12px;color:#64748b;font-weight:600}
.schedule-booking.completed{background:#eef0f3;border-left-color:#94a3b8;color:#64748b;opacity:.72}.schedule-booking.completed .who,.schedule-booking.completed .purpose{color:#64748b}
.schedule-booking.overdue{background:#fff0f0;border-left-color:#dc2626;color:#991b1b;box-shadow:inset 0 0 0 1px #fecaca}.schedule-booking.overdue .who,.schedule-booking.overdue .purpose{color:#991b1b}.booking-state{font-size:10px;font-weight:800;margin-top:3px;letter-spacing:-.02em}
.schedule-legend .legend-dot.completed{background:#94a3b8}.schedule-legend .legend-dot.overdue{background:#dc2626}
.my-reservation-detail{margin-top:14px;padding:14px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc}.my-reservation-detail h3{margin:0}.my-reservation-detail .form-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.my-reservation-detail .form-actions button{margin:0}.my-reservation-detail #myReservationEditFields{padding-top:10px}.my-matrix-booking{cursor:pointer}.my-matrix-booking:focus{outline:3px solid #2563eb55}
.my-matrix-booking{color:#172033!important;background:#eaf1ff!important;border-left-color:#2563eb!important}.my-matrix-booking .time{color:#173b78!important;font-weight:900}.my-matrix-booking .purpose{color:#334155!important}.my-matrix-booking.in-use{background:#e8f7ee!important;border-left-color:#16a34a!important;color:#14532d!important}.my-matrix-booking.in-use .time,.my-matrix-booking.in-use .purpose{color:#14532d!important}.my-matrix-booking.completed{background:#eef0f3!important;border-left-color:#94a3b8!important;color:#64748b!important;opacity:.82}.my-matrix-booking.completed .time,.my-matrix-booking.completed .purpose{color:#64748b!important}.my-matrix-booking.overdue{background:#fff0f0!important;border-left-color:#dc2626!important;color:#991b1b!important}.my-matrix-booking.overdue .time,.my-matrix-booking.overdue .purpose{color:#991b1b!important}
.my-reservation-legend{margin:8px 0 12px}.my-edit-time-row{grid-template-columns:1fr 1fr;gap:10px}.my-edit-time-row label{margin-top:8px}
.triplog-matrix{min-width:980px;table-layout:fixed}.triplog-matrix th,.triplog-matrix td{overflow-wrap:anywhere;word-break:normal;white-space:normal;line-height:1.45}.triplog-matrix th:nth-child(1),.triplog-matrix td:nth-child(1){width:82px}.triplog-matrix th:nth-child(2),.triplog-matrix td:nth-child(2){width:105px}.triplog-matrix th:nth-child(3),.triplog-matrix td:nth-child(3){width:125px}.triplog-matrix th:nth-child(4),.triplog-matrix td:nth-child(4){width:105px}.triplog-matrix th:nth-child(5),.triplog-matrix td:nth-child(5){width:150px}.triplog-matrix th:nth-child(6),.triplog-matrix td:nth-child(6){width:125px}.triplog-matrix th:nth-child(7),.triplog-matrix td:nth-child(7){width:155px}.triplog-matrix th:nth-child(8),.triplog-matrix td:nth-child(8){width:145px}.triplog-matrix td:nth-child(2){font-weight:800;white-space:normal;overflow-wrap:anywhere}.triplog-matrix .num{text-align:left;white-space:normal;}.triplog-matrix .purpose-cell{min-width:0;white-space:pre-line}
.triplog-matrix{border-collapse:separate;border-spacing:0;width:100%;min-width:920px;}.triplog-matrix th,.triplog-matrix td{border-right:1px solid #e5eaf2;border-bottom:1px solid #e5eaf2;padding:9px;text-align:left;vertical-align:top;font-size:12px}.triplog-matrix th{background:#f3f6fb;position:sticky;top:0;z-index:2}.triplog-matrix td:first-child{font-weight:800;white-space:nowrap;background:#f8fafc}.triplog-matrix tr:last-child td{border-bottom:0}.triplog-matrix td:last-child,.triplog-matrix th:last-child{border-right:0}.triplog-matrix .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.triplog-matrix .purpose-cell{min-width:170px;white-space:normal}.triplog-matrix .muted-cell{color:#64748b}
@media(max-width:680px){.schedule-controls{grid-template-columns:minmax(75px,.7fr) minmax(105px,1fr) auto auto;gap:5px}.schedule-controls label{font-size:11px}.schedule-controls button{font-size:10px;padding:7px 6px;}.schedule-controls input{font-size:14px;padding:8px 5px;min-height:40px}.my-reservation-detail .form-actions{grid-template-columns:1fr 1fr}.triplog-week-controls{grid-template-columns:75px minmax(100px,1fr) auto auto}.my-edit-time-row{grid-template-columns:1fr 1fr;gap:7px}.triplog-matrix{min-width:930px}.triplog-matrix th,.triplog-matrix td{padding:7px;font-size:11px}}



/* Table identity and row tracking without changing column widths or wrapping. */
.triplog-matrix tbody tr:nth-child(even) td{background:#fafbfd}
.triplog-matrix tbody tr:hover td{background:#f1f6ff}
.triplog-matrix tbody tr td:first-child{background:#f8fafc}
#myReservationsSection .my-reservation-detail{border-color:#cbd5e1;box-shadow:var(--ui-shadow)}

/* Candidate: 운행일지 표 */

.triplog-matrix{border-radius:10px}
.triplog-matrix th{background:#eef2f8;color:#1f2937}
.triplog-matrix tbody tr:nth-child(even) td{background:#fafbfd}
.triplog-matrix tbody tr:hover td{background:#f1f6ff}
.triplog-matrix td:first-child{background:#f8fafc}
.triplog-period-controls{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:12px}
