/* General Body & Login Page Styles */
.login-body {
    background: url('../img/login-bg.jpg') no-repeat center center fixed;
    background-size: cover;
    position: relative;
}

.login-body::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(10, 25, 41, 0.75);
    backdrop-filter: blur(5px);
}

.login-card {
    background-color: rgba(255, 255, 255, 0.98);
    border-radius: 15px;
    transition: all 0.3s ease-in-out;
}

.login-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 1rem 3rem rgba(0,0,0,.25)!important;
}

.form-control, .btn { border-radius: 8px; }
.form-floating label { padding-left: 1.5rem; }

.btn-primary {
    background-color: #0d6efd;
    border-color: #0d6efd;
    padding: 0.85rem;
    transition: background-color 0.2s ease;
}
.btn-primary:hover {
    background-color: #0b5ed7;
    border-color: #0a58ca;
}

/* --- Dashboard & PWA Shared Styles --- */
.dashboard-body {
    background-color: #f0f2f5;
}

.main-header {
    background-color: #ffffff;
    border-bottom: 1px solid #dee2e6;
    box-shadow: 0 2px 4px rgba(0,0,0,.08);
}

/* --- Admin Dashboard Specific Styles --- */
.sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
    padding: 48px 0 0;
    box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
    background-color: #212529;
}
.sidebar-sticky { position: relative; top: 0; height: calc(100vh - 48px); padding-top: .5rem; overflow-x: hidden; overflow-y: auto; }
.sidebar .nav-link { font-weight: 500; color: #c2c7d0; }
.sidebar .nav-link .feather { margin-right: 4px; color: #929292; }
.sidebar .nav-link.active { color: #fff; background-color: #0d6efd; }
.sidebar .nav-link:hover .feather, .sidebar .nav-link.active .feather { color: inherit; }

/* --- AGENT PWA SPECIFIC STYLES --- */
body.pwa-body {
    padding-bottom: 80px; /* Space for the bottom nav */
}

.mobile-nav {
    background-color: #ffffff;
    border-top: 1px solid #dee2e6;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
}
.mobile-nav .nav-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 0.75rem;
    color: #6c757d;
    padding: 0.5rem 0;
}
.mobile-nav .nav-link.active { color: #0d6efd; font-weight: bold; }
.mobile-nav .nav-link i { font-size: 1.5rem; margin-bottom: 4px; }

/* Hide install button when in standalone PWA mode */
@media all and (display-mode: standalone) {
    #pwa-install-button { display: none; }
}