:root {
    --agenda-navy: #0b1f3a;
    --agenda-blue: #123d6a;
    --agenda-gold: #d7a934;
    --agenda-soft: #eef4fb;
}

body { color: #24364b; }
.agenda-navbar { background: linear-gradient(110deg, var(--agenda-navy), var(--agenda-blue)); }
.brand-logo { width: 42px; height: 42px; object-fit: contain; background: #fff; border-radius: 50%; padding: 3px; }
.navbar-brand small { font-size: .68rem; opacity: .8; letter-spacing: .03em; }
.nav-monitor { color: #fff !important; background: rgba(215,169,52,.2); border-radius: .4rem; margin: 0 .2rem; }
.agenda-main { min-height: calc(100vh - 150px); }
.agenda-footer { background: var(--agenda-navy); color: rgba(255,255,255,.82); }
.agenda-hero { background: linear-gradient(120deg, var(--agenda-navy), #1b5b96); color: white; border: 0; overflow: hidden; }
.agenda-hero:after { content: ''; position: absolute; width: 260px; height: 260px; border-radius: 50%; background: rgba(255,255,255,.07); right: -70px; top: -110px; }
.stat-card { border: 0; border-radius: .8rem; box-shadow: 0 .35rem 1.25rem rgba(22,46,75,.08); }
.stat-icon { width: 48px; height: 48px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; font-size: 1.3rem; background: var(--agenda-soft); color: var(--agenda-blue); }
.card { border-radius: .75rem; border-color: #e4ebf3; }
.card-header { border-radius: .75rem .75rem 0 0 !important; }
.progress { height: .72rem; border-radius: 1rem; background: #e8eef5; }
.progress-bar { background: linear-gradient(90deg, #1976d2, #42a5f5); }
.progress-bar.approved { background: linear-gradient(90deg, #1b8f55, #36b76d); }
.drive-frame { width: 100%; min-height: 560px; border: 1px solid #dbe4ef; border-radius: .7rem; background: white; }
.device-card { transition: transform .15s ease, box-shadow .15s ease; }
.device-card:hover { transform: translateY(-2px); box-shadow: 0 .45rem 1.2rem rgba(22,46,75,.10); }
.badge-status { padding: .45rem .65rem; font-size: .75rem; }
.table thead th { white-space: nowrap; vertical-align: middle; }
.teacher-name { font-weight: 700; color: var(--agenda-navy); }
.review-note { background: #fff8df; border-left: 4px solid var(--agenda-gold); border-radius: .35rem; padding: .75rem; }
.sticky-summary { position: sticky; top: 88px; z-index: 5; }
.form-control:focus { border-color: #4b82ba; box-shadow: 0 0 0 .2rem rgba(24,91,150,.14); }
.btn-agenda { background: var(--agenda-blue); color: #fff; border-color: var(--agenda-blue); }
.btn-agenda:hover { background: var(--agenda-navy); color: #fff; }
@media (max-width: 1199.98px) { .nav-monitor { margin: .2rem 0; } }
