:root {
    --page: #eef4ff;
    --surface: rgba(255,255,255,.94);
    --surface-strong: #ffffff;
    --line: rgba(30,41,59,.10);
    --accent: #2563eb;
    --accent-2: #7c3aed;
    --cyan: #06b6d4;
    --text: #0f172a;
    --muted: #64748b;
    --soft: #f8fafc;
}
* { letter-spacing: -.01em; }
body { min-height: 100vh; background: radial-gradient(circle at 10% 0%, rgba(37,99,235,.18), transparent 28%), radial-gradient(circle at 90% 5%, rgba(124,58,237,.14), transparent 28%), linear-gradient(180deg, #f8fbff 0%, var(--page) 100%); color: var(--text); }
a { color: var(--accent); text-decoration: none; }
a:hover { color: #1d4ed8; }
main.container-fluid { max-width: 1440px; }
.glass { background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(248,250,252,.90)); border: 1px solid var(--line); box-shadow: 0 18px 55px rgba(30,41,59,.08); backdrop-filter: blur(14px); border-radius: 24px; color: var(--text); }
.nav-shell { background: rgba(255,255,255,.94); border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); box-shadow: 0 10px 30px rgba(30,41,59,.07); }
.navbar-brand { color: #0f172a; }
.nav-link { color: #475569; font-weight: 600; }
.nav-link:hover { color: var(--accent); }
.btn { font-weight: 700; }
.btn-gradient { border: 0; color: white; background: linear-gradient(135deg, var(--accent), var(--accent-2) 55%, var(--cyan)); box-shadow: 0 14px 30px rgba(37,99,235,.24); transition: transform .2s ease, box-shadow .2s ease; }
.btn-gradient:hover { color: white; transform: translateY(-2px); box-shadow: 0 20px 40px rgba(37,99,235,.28); }
.text-muted { color: var(--muted) !important; }
.text-info { color: #0891b2 !important; }
.border-secondary { border-color: var(--line) !important; }
.badge-soft { background: rgba(37,99,235,.08); border: 1px solid rgba(37,99,235,.16); color: #1d4ed8; }
.hero-title { font-size: clamp(2.45rem, 6vw, 5.25rem); line-height: .96; color: var(--text); font-weight: 900; }
.page-heading { gap: 1rem; padding: .25rem 0; }
.page-heading h1 { font-weight: 850; }
.stat-card { position: relative; overflow: hidden; min-height: 132px; }
.stat-card::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(37,99,235,.09), transparent 55%); pointer-events: none; }
.stat-card::after { content: ''; position: absolute; inset: auto -30px -40px auto; width: 124px; height: 124px; border-radius: 50%; background: rgba(6,182,212,.14); }
.stat-card .display-6 { position: relative; z-index: 1; color: #0f172a; }
.table-responsive { border-radius: 18px; border: 1px solid rgba(30,41,59,.08); background: #fff; }
.table { margin-bottom: 0; color: var(--text); }
.table th { color: #475569; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; background: #f8fafc; }
.table td { color: var(--text); vertical-align: middle; }
.table td, .table th { padding: .9rem 1rem; }
.table-hover tbody tr:hover { background: rgba(37,99,235,.055); }
.table code { color: #1d4ed8; font-weight: 700; }
.form-control, .form-select { background-color: #fff; border-color: rgba(30,41,59,.16); color: var(--text); border-radius: 12px; }
.form-select option, .form-select optgroup { background-color: #fff; color: var(--text); }
.form-select option:checked { background: #dbeafe; color: var(--text); }
.form-control:focus, .form-select:focus { background-color: #fff; color: var(--text); border-color: #38bdf8; box-shadow: 0 0 0 .25rem rgba(14,165,233,.15); }
.form-control::placeholder { color: #94a3b8; }
.alert.glass { color: var(--text); border-color: rgba(30,41,59,.10); }
.alert.glass strong, .alert.glass li { color: var(--text); }
.alert.glass.alert-info { background: linear-gradient(145deg, rgba(14,165,233,.14), rgba(255,255,255,.94)); }
.alert.glass.alert-success { background: linear-gradient(145deg, rgba(34,197,94,.14), rgba(255,255,255,.94)); }
.alert.glass.alert-warning { background: linear-gradient(145deg, rgba(245,158,11,.16), rgba(255,255,255,.94)); }
.alert.glass.alert-danger { background: linear-gradient(145deg, rgba(239,68,68,.16), rgba(255,255,255,.94)); }
.admin-shell { display: grid; gap: 1.5rem; }
.admin-menu-card { position: sticky; top: 82px; z-index: 20; }
.admin-menu-head { gap: 1rem; }
.admin-menu { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .65rem; margin-top: 1rem; }
.admin-menu-link { display: flex; flex-direction: column; gap: .12rem; min-height: 70px; padding: .9rem 1rem; border: 1px solid rgba(30,41,59,.10); border-radius: 18px; background: rgba(248,250,252,.86); color: #334155; transition: .2s ease; }
.admin-menu-link span { font-weight: 800; color: #0f172a; }
.admin-menu-link small { color: var(--muted); font-weight: 650; }
.admin-menu-link:hover, .admin-menu-link.active { transform: translateY(-2px); border-color: rgba(37,99,235,.26); background: linear-gradient(145deg, rgba(37,99,235,.11), rgba(255,255,255,.96)); box-shadow: 0 12px 26px rgba(37,99,235,.11); }
.activity-list { display: grid; gap: .75rem; }
.activity-item { position: relative; padding: .9rem 1rem .9rem 2.6rem; border: 1px solid rgba(30,41,59,.08); border-radius: 18px; background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(248,250,252,.92)); box-shadow: 0 8px 22px rgba(30,41,59,.045); }
.activity-item::before { content: ''; position: absolute; left: .95rem; top: 1.08rem; width: .74rem; height: .74rem; border-radius: 50%; background: linear-gradient(135deg, var(--accent), var(--cyan)); box-shadow: 0 0 0 4px rgba(37,99,235,.10); }
.activity-item strong { display: block; color: #0f172a; margin-bottom: .15rem; }
.activity-meta { color: var(--muted); font-size: .875rem; line-height: 1.45; overflow-wrap: anywhere; }
.empty-state { padding: 1rem; color: var(--muted); text-align: center; border: 1px dashed rgba(30,41,59,.16); border-radius: 16px; background: rgba(248,250,252,.72); }
.sidebar { min-height: auto; border-right: 0; }

@media (max-width: 1200px) {
    .admin-menu { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
    main.container-fluid { padding-left: 1rem !important; padding-right: 1rem !important; }
    .admin-menu-card { position: static; }
    .admin-menu { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    body { background-size: auto; }
    .glass { border-radius: 18px; box-shadow: 0 12px 34px rgba(30,41,59,.08); }
    .glass.p-4 { padding: 1rem !important; }
    .glass.p-3 { padding: .85rem !important; }
    .hero-title { font-size: clamp(2.05rem, 12vw, 3.1rem); }
    .display-6 { font-size: 1.8rem; }
    .page-heading { align-items: stretch !important; }
    .page-heading > * { width: 100%; }
    .page-heading .btn { width: 100%; }
    .stat-card { min-height: 112px; }
    .stat-card::after { width: 88px; height: 88px; }
    .table { min-width: 720px; font-size: .92rem; }
    .table td, .table th { padding: .72rem .75rem; }
    .activity-item { padding: .82rem .85rem .82rem 2.25rem; border-radius: 14px; }
    .activity-item::before { left: .8rem; }
    .modal-dialog { margin: 1rem; }
}
@media (max-width: 520px) {
    .admin-menu { grid-template-columns: 1fr; }
    .admin-menu-link { min-height: auto; padding: .82rem .9rem; }
}
@media (max-width: 420px) {
    main.container-fluid { padding-left: .75rem !important; padding-right: .75rem !important; }
    .btn, .form-control, .form-select { min-height: 44px; }
}
.admin-menu.collapse:not(.show) { display: none; }
.admin-menu.collapse.show { display: grid; }