:root {
    --blue: #0d6efd;
    --dark-blue: #0b3d91;
    --light-blue: #eaf3ff;
}
body { background: #f4f8fd; font-family: 'Segoe UI', system-ui, sans-serif; }

/* ---------- Логин ---------- */
.login-body {
    min-height: 100vh;
    background: linear-gradient(135deg, #0b3d91 0%, #0d6efd 60%, #4da3ff 100%);
    display: flex; align-items: center;
}
.login-card { border: none; border-radius: 1.2rem; box-shadow: 0 10px 40px rgba(0,0,0,.25); }
.login-icon {
    width: 64px; height: 64px; margin: 0 auto; border-radius: 50%;
    background: var(--light-blue); color: var(--blue);
    display: flex; align-items: center; justify-content: center; font-size: 1.8rem;
}

/* ---------- Sidebar ---------- */
.sidebar {
    width: 250px; min-height: 100vh;
    background: linear-gradient(180deg, #0b3d91, #0d6efd);
    color: #fff; position: fixed; top: 0; left: 0; z-index: 1040;
    display: flex; flex-direction: column; transition: transform .3s;
}
.sidebar .brand { padding: 1.1rem 1rem; font-weight: 700; border-bottom: 1px solid rgba(255,255,255,.15); }
.sidebar .nav-link { color: #dbe9ff; border-radius: .6rem; margin: .1rem .6rem; padding: .55rem .9rem; }
.sidebar .nav-link:hover, .sidebar .nav-link.active { background: rgba(255,255,255,.16); color: #fff; }

/* ---------- Асосӣ ---------- */
.main { margin-left: 250px; padding: 1.5rem; }
.topbar {
    background: #fff; border-radius: 1rem;
    box-shadow: 0 2px 12px rgba(13,110,253,.08);
    padding: .8rem 1.2rem; margin-bottom: 1.5rem;
    display: flex; justify-content: space-between; align-items: center; gap: 1rem;
}
.stat-card { border: none; border-radius: 1.1rem; color: #fff; box-shadow: 0 4px 18px rgba(13,110,253,.18); }
.stat-card .icon { font-size: 2rem; opacity: .85; }
.card { border: none; border-radius: 1.1rem; box-shadow: 0 2px 12px rgba(15,45,95,.07); }
.table thead th { background: var(--light-blue); color: var(--dark-blue); border: none; white-space: nowrap; }
.btn { border-radius: .7rem; }
.form-control, .form-select { border-radius: .7rem; }
.page-link { border-radius: .5rem !important; margin: 0 2px; }
.alert-auto { border-radius: .8rem; }

@media (max-width: 991.98px) {
    .sidebar { transform: translateX(-100%); }
    .sidebar.show { transform: none; }
    .main { margin-left: 0; }
}
