/* ============================================================
   ALCOLOCK ONLINE — MODERN DASHBOARD v2 OVERRIDES
   2026-09-23
   Loads after modern-dashboard.css.
   ============================================================ */

/* ========================= BRAND LEFT ========================= */

#topbar {
    justify-content: flex-start !important;
}

#aoBrand {
    flex: 0 0 auto;

    display: flex;
    align-items: center;
    justify-content: flex-start;

    height: 44px;

    margin-right: 12px;
    padding-right: 14px;

    border-right: 1px solid rgba(148, 163, 184, 0.14);
}

#aoBrand #topLogo {
    display: block !important;

    width: auto !important;
    height: 31px !important;
    max-width: 152px;

    margin: 0 !important;

    object-fit: contain;
    object-position: left center;
}

/* right side still stays pushed to the right */
#rightLogo {
    margin-left: auto !important;
}

/* centered old decorative mark should not compete with the brand */
#centerLogo {
    display: none !important;
}

/* ========================= VEHICLE SEARCH ========================= */

#vehicleSearchWrap {
    position: sticky;
    top: 43px;
    z-index: 19;

    padding: 10px 10px 9px;

    background: rgba(17, 24, 39, 0.98);

    border-bottom: 1px solid rgba(148, 163, 184, 0.12);

    backdrop-filter: blur(8px);
}

.aoSearchBox {
    position: relative;

    display: flex;
    align-items: center;

    width: 100%;
}

.aoSearchIcon {
    position: absolute;
    left: 12px;

    width: 17px;
    height: 17px;

    fill: none;
    stroke: #94a3b8;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;

    pointer-events: none;
}

#vehicleSearch {
    width: 100%;
    height: 38px;

    padding: 0 12px 0 38px;

    border: 1px solid #334155;
    border-radius: 8px;

    outline: none;

    background: #142035;
    color: #f8fafc;

    font: inherit;
    font-size: 13px;
    font-weight: 500;

    appearance: none;
    -webkit-appearance: none;

    transition:
        border-color 120ms ease,
        background-color 120ms ease,
        box-shadow 120ms ease;
}

#vehicleSearch::placeholder {
    color: #8190a6;
    opacity: 1;
}

#vehicleSearch:hover {
    background: #17243a;
    border-color: #40516a;
}

#vehicleSearch:focus {
    background: #17243a;
    border-color: #4f83ee;

    box-shadow:
        0 0 0 3px rgba(37, 99, 235, 0.15);
}

#vehicleSearch::-webkit-search-cancel-button {
    filter: invert(1);
    opacity: 0.55;
    cursor: pointer;
}

#vehicleList .vehicle.aoSearchHidden {
    display: none !important;
}

/* ========================= LIST SPACING ========================= */

#vehicleList {
    padding-top: 9px !important;
}

#vehicleList .vehicle {
    min-height: 62px !important;

    padding:
        11px 12px
        11px 17px !important;

    margin-bottom: 8px !important;
}

#vehicleList .vehicle::before {
    top: 8px !important;
    bottom: 8px !important;

    width: 4px !important;
}

/* Make status color unmistakable but still restrained */
#vehicleList .vehicle.ui-alarm {
    border-color: rgba(239, 68, 68, 0.46) !important;
}

#vehicleList .vehicle.ui-alarm::before {
    background: #ef4444 !important;
}

#vehicleList .vehicle.ui-warning {
    border-color: rgba(245, 158, 11, 0.38) !important;
}

#vehicleList .vehicle.ui-warning::before {
    background: #f59e0b !important;
}

#vehicleList .vehicle.ui-online::before {
    background: #22c55e !important;
}

#vehicleList .vehicle.ui-offline::before {
    background: #64748b !important;
}

/* Name hierarchy */
#vehicleList .vehicle b {
    font-size: 15.5px !important;
    font-weight: 740 !important;
}

#vehicleList .vehicle .aoVehicleMain {
    color: #94a3b8 !important;
    font-size: 12.5px;
}

/* history stays deliberately quiet */
#vehicleList .historyBtn {
    color: #cbd5e1 !important;
}

/* ========================= TOPBAR BREATHING ROOM ========================= */

#leftControls {
    gap: 3px !important;
}

#topbar button {
    padding-left: 11px !important;
    padding-right: 11px !important;
}

/* ========================= RESPONSIVE ========================= */

@media (max-width: 1450px) {
    #aoBrand {
        margin-right: 7px;
        padding-right: 9px;
    }

    #aoBrand #topLogo {
        height: 27px !important;
        max-width: 132px;
    }

    #topbar button {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
}

@media (max-width: 1120px) {
    #aoBrand {
        border-right: 0;
        padding-right: 4px;
    }

    #aoBrand #topLogo {
        height: 25px !important;
        max-width: 118px;
    }
}
