:root {
    --lms-primary: #2f5d50;
    --lms-primary-dark: #234a3f;
    --lms-accent: #d98e04;
    --lms-bg: #f4f6f5;
}

body {
    background-color: var(--lms-bg);
}

.navbar-brand {
    font-weight: 600;
}

.bg-lms-primary {
    background-color: var(--lms-primary) !important;
}

.text-lms-primary {
    color: var(--lms-primary) !important;
}

.btn-lms-primary {
    background-color: var(--lms-primary);
    border-color: var(--lms-primary);
    color: #fff;
}

.btn-lms-primary:hover {
    background-color: var(--lms-primary-dark);
    border-color: var(--lms-primary-dark);
    color: #fff;
}

.sidebar {
    min-height: calc(100vh - 56px);
    background: #fff;
    border-right: 1px solid #e5e7eb;
}

.sidebar .nav-link {
    color: #374151;
    border-radius: .375rem;
    margin-bottom: .125rem;
}

.sidebar .nav-link.active,
.sidebar .nav-link:hover {
    background-color: rgba(47, 93, 80, .1);
    color: var(--lms-primary);
}

.stat-card {
    border: none;
    border-radius: .75rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
}

.badge-available { background-color: #198754; }
.badge-borrowed { background-color: #6c757d; }
.badge-overdue { background-color: #dc3545; }

.auth-shell {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--lms-primary) 0%, var(--lms-primary-dark) 100%);
}

.auth-card {
    border: none;
    border-radius: 1rem;
    box-shadow: 0 20px 40px rgba(0, 0, 0, .2);
}

.table-responsive-card {
    background: #fff;
    border-radius: .75rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
}
