/* Keep the original Gentelella theme and its sidebar/topbar dimensions. */
.login-page { background-color: #b2cddc; }
.login-card { background: #fff; padding: 20px; border: 1px solid #b2cddc; border-radius: 5px; }
.login-card .login-logo { width: 100px; }
.login-card .manual-link { font-weight: 700; text-decoration: underline; }
.side-menu .menu-disabled { opacity: .55; cursor: not-allowed; }
.dropdown-usermenu form .dropdown-item { cursor: pointer; }
.select2-container .select2-selection--single { height: calc(1.5em + .75rem + 2px); }
.legacy-report .x_title { padding: 5px 0 8px; }
.legacy-filter-box { margin: 10px 0; padding: 14px 10px 0; border: 1px solid #ccc; border-radius: 5px; background: rgba(236,236,236,.3); }
.legacy-filter-box .form-group { margin-bottom: 14px; min-width: 0; }
.legacy-filter-box label { display: block; margin-bottom: 5px; font-weight: 700; }
.legacy-filter-box .form-control, .legacy-filter-box .select2-container { width: 100% !important; }
.legacy-filter-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding-top: 25px; }
.legacy-filter-actions .btn { margin: 0; }
.legacy-report .report-message { min-height: 20px; margin: 8px 0 12px; color: #73879c; }
.legacy-report .report-message.text-danger { color: #a94442 !important; }
.legacy-report table { width: 100% !important; }
.legacy-report table th { vertical-align: middle; }
.legacy-report table td { vertical-align: middle; }
.legacy-report table .report-number { text-align: center; white-space: nowrap; }
.legacy-report .report-detail { min-width: 180px; max-width: 360px; white-space: normal; overflow-wrap: anywhere; }
.legacy-report .report-actions { white-space: nowrap; text-align: center; }
.legacy-report .report-actions .btn { margin-bottom: 0; }
.legacy-daily .nav-tabs { margin: 8px 0 16px; flex-wrap: wrap; }
.legacy-daily .nav-tabs .nav-link { background: transparent; color: #5a738e; border-radius: 4px 4px 0 0; }
.legacy-daily .nav-tabs .nav-link.active { background: #fff; color: #1abb9c; font-weight: 700; }
.legacy-daily .daily-date { display: flex; align-items: baseline; gap: 12px; margin: 8px 0; }
.legacy-daily .daily-date strong { color: #2b51fa; font-size: 20px; }
.legacy-daily .daily-legend { display: flex; flex-wrap: wrap; gap: 15px; margin: 6px 0 12px; }
.legacy-daily .daily-legend .fa { margin-right: 4px; }
.legacy-daily .daily-summary-table { min-width: 1350px; border-collapse: collapse; font-size: 12px; }
.legacy-daily .daily-summary-table th, .legacy-daily .daily-summary-table td { border: 1px solid #000; text-align: center; }
.legacy-daily .daily-summary-table th { background: #fff; white-space: normal; min-width: 65px; }
.legacy-daily .daily-summary-table th.daily-time { background: #fff; font-size: 12px; }
.legacy-daily .daily-summary-table td.daily-route { text-align:left; width:200px; min-width:180px; max-width:220px; white-space:normal; overflow-wrap:anywhere; word-break:normal; }
.legacy-daily .daily-summary-table .daily-actual { background: transparent; font-weight: 400; }
.legacy-daily .daily-summary-table tfoot { background: #e9edef; font-weight: 700; }
.legacy-report [aria-busy="true"] table { opacity: .55; }
#feedback-detail { white-space: pre-wrap; overflow-wrap: anywhere; }
#feedback-attachment { display: inline-block; margin-top: 12px; }
#feedback-attachment[hidden] { display: none; }
@media (max-width: 767px) {
    .legacy-filter-actions { padding-top: 0; padding-bottom: 12px; }
    .legacy-filter-actions .btn { flex: 1 1 auto; }
    .legacy-report .dataTables_filter { text-align: left; }
    .legacy-report .page-title { height: auto; min-height: 58px; }
    .legacy-daily .nav-tabs .nav-item { flex: 1 1 50%; }
    .legacy-daily .nav-tabs .nav-link { width: 100%; }
}

/* Bootstrap 4 has no Glyphicons; use the original bundled Font Awesome for sorting. */
.legacy-report table.dataTable thead .sorting:after { font-family: FontAwesome; content: "\f0dc"; }
.legacy-report table.dataTable thead .sorting_asc:after { font-family: FontAwesome; content: "\f0de"; }
.legacy-report table.dataTable thead .sorting_desc:after { font-family: FontAwesome; content: "\f0dd"; }
.legacy-report table td:not(.report-detail) { white-space: nowrap; }

.legacy-report .page-title .title_left { width: 100%; }
.legacy-filter-actions .btn-default { color: #5a738e; border: 1px solid #ccc; background: #fff; }
.legacy-filter-actions .btn-default:hover, .legacy-filter-actions .btn-default:focus { background: #e9edef; }
.legacy-report .table-responsive { position: relative; width: 100%; max-width: 100%; overflow-x: auto; }

.legacy-vehicle-icon { display: inline-block; width: 75%; max-width: 70px; height: auto; vertical-align: middle; }
.legacy-shift-tools { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.legacy-shift-tools .btn-app { margin: 0; min-width: 110px; height: auto; min-height: 60px; cursor: pointer; }
@media (max-width: 767px) { .legacy-shift-tools { justify-content: flex-start; margin-bottom: 12px; } .legacy-shift-tools .btn-app { flex: 1 1 auto; } }

.legacy-original-actions .btn-app, .panel_toolbox .btn-app { width: 120px; }
.legacy-original-actions { padding-top: 0; }
.legacy-route-panel { min-height: 500px; }
.legacy-action-bottom { padding-top: 28px; }
.legacy-reserve-legend { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-bottom: 10px; }
#modal_md .modal-footer .btn { width: 100px; }
#modal_emp_pw .modal-body > .form-group { max-width: 66.666667%; margin-left: auto; margin-right: auto; }
@media (max-width: 767px) { .legacy-original-actions { text-align: left !important; } .legacy-action-bottom { padding-top: 0; } #modal_emp_pw .modal-body > .form-group { max-width: 100%; } }

/* Original list actions remain on one line. */
#tbEmployee td:last-child, #tbMasterData td:last-child { white-space: nowrap; }
#tbEmployee th:last-child { min-width: 120px; }
#tbMasterData th:first-child { width: 10%; }
#tbMasterData th:last-child { width: 25%; }
.right_col table.dataTable thead .sorting:after { font-family: FontAwesome; content: "\f0dc"; }
.right_col table.dataTable thead .sorting_asc:after { font-family: FontAwesome; content: "\f0de"; }
.right_col table.dataTable thead .sorting_desc:after { font-family: FontAwesome; content: "\f0dd"; }
#modalTripIn .modal-footer .btn, #modalTripOut .modal-footer .btn { width: 100px; }

/* Keep calendar event labels legible on their colored backgrounds. */
#calendar .fc-event, #calendar .fc-event:hover, #calendar .fc-event:focus, #calendar .fc-event .fc-title, #calendar .fc-event .fc-time { color: #fff; }

#modal_shift_upload .legacy-upload-actions { padding-top:28px; }
#modal_shift_upload .legacy-upload-buttons .btn { width:100px; }
#modal_shift_upload .alert p:last-child { margin-bottom:0; }
@media (max-width:991px) { #modal_shift_upload .legacy-upload-actions { padding-top:0; } }

.route-map { height:420px; width:100%; background:#eef2f5; }
@media (max-width:575px) { .route-map { height:300px; } }

#reorder-points { max-height:55vh; overflow-y:auto; }
.point-order-row { display:flex; align-items:center; gap:10px; padding:10px; margin:6px 0; border:1px solid #ddd; border-radius:4px; background:#fff; }
.point-order-name { flex:1; overflow-wrap:anywhere; }
.point-drag-handle { cursor:grab; touch-action:none; margin:0; }
.point-dragging { background:#e8f8f3; border-color:#1abb9c; }

#reorder-points .point-order-row { cursor:grab; touch-action:none; user-select:none; }
#reorder-points .point-order-row:focus { outline:2px solid #1abb9c; outline-offset:1px; }
#reorder-points .point-dragging { opacity:.35; border:2px dashed #1abb9c; }
.point-drag-preview { position:fixed; z-index:1100; pointer-events:none; margin:0; opacity:.95; box-shadow:0 8px 24px #0003; border-color:#1abb9c; list-style:none; }

.route-map-count { border:0; padding:0; background:transparent; color:#fff; font:inherit; text-decoration:underline; cursor:pointer; }
.route-map-count:focus { outline:2px solid #fff; }
.route-employees-tip { position:fixed; z-index:1200; width:max-content; min-width:280px; max-width:calc(100vw - 16px); padding:12px; background:#fff; color:#34495e; border:1px solid #ccc; border-radius:6px; box-shadow:0 5px 20px #0003; }
.route-employees-tip[hidden] { display:none; }
.route-employees-scroll { max-height:260px; overflow:auto; margin-top:8px; }
.route-employees-tip th, .route-employees-tip td { white-space:nowrap; }

/* Red stop markers are anchored at each stop's stored coordinates. */


.route-stop-marker { display:block; position:relative; width:88px; height:68px; }
.route-map-pin { display:block; position:absolute; top:0; left:0; width:88px; height:30px; box-sizing:border-box; line-height:26px; padding:0 6px; text-align:center; white-space:nowrap; border:2px solid #fff; border-radius:15px; background:#1abb9c; color:#fff; font-weight:bold; box-shadow:0 2px 5px #555; }
.route-stop-pin { position:absolute; top:32px; left:32px; width:24px; height:36px; line-height:36px; font-size:36px; text-align:center; color:#dc2626; text-shadow:1px 1px 0 #fff,-1px -1px 0 #fff; }
#calendar.personal-shift-calendar .fc-event, #calendar.personal-shift-calendar .fc-event:hover, #calendar.personal-shift-calendar .fc-event:focus, #calendar.personal-shift-calendar .fc-event .fc-title, #calendar.personal-shift-calendar .fc-event .fc-time { color:#000; }
