
.admin-modern { --admin-primary:#3f51b5; --admin-ink:#242a40; --admin-muted:#74798c; --admin-line:#e7e9f0; --admin-surface:#f5f6fa; }
.admin-modern body { max-width:none; margin:0; padding:76px 0 0; background:var(--admin-surface); color:var(--admin-ink); font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:14px; }
.admin-modern a { color:var(--admin-primary); }
.admin-modern .admin-topbar { height:76px; min-height:76px; max-width:none; width:auto; left:238px; right:0; transform:none; background:#fff; color:var(--admin-ink); border:0; border-bottom:1px solid var(--admin-line); box-shadow:none; display:flex; align-items:center; padding:0 36px; margin:0; }
.admin-breadcrumb { color:var(--admin-muted); font-size:13px; }.admin-breadcrumb span { padding:0 14px; color:#bbb; }.admin-breadcrumb strong { color:var(--admin-ink); font-weight:500; }
.admin-account { margin-left:auto; display:flex; align-items:center; gap:12px; }.admin-account strong { display:block; font-size:13px; font-weight:600; }.admin-account small { display:block; color:var(--admin-muted); font-size:11px; margin-top:2px; }.admin-avatar { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#eef0fb; color:var(--admin-primary); font-weight:600; }.admin-signout { margin-left:14px; padding:8px; }
.admin-modern #menu_toggle_btn { display:none; border:0; background:transparent; color:var(--admin-primary); padding:12px; margin-right:10px; transform:none; }
.admin-modern #dashboard { display:block; margin:0; }
.admin-modern #dashboard_menu { position:fixed; top:0; left:0; bottom:0; width:238px; max-width:238px; height:100vh; margin:0; padding:30px 16px; background:#fff; box-shadow:none; border-right:1px solid var(--admin-line); z-index:1040; display:flex; flex-direction:column; overflow-y:auto; }
.admin-brand { display:flex; align-items:center; gap:12px; padding:0 12px 40px; text-decoration:none!important; }.brand-symbol { width:39px; height:43px; border-radius:12px 4px 12px 4px; display:grid; place-items:center; background:var(--admin-primary); color:white; font-size:25px; font-weight:700; }.admin-brand strong { display:block; font-size:23px; letter-spacing:2px; color:var(--admin-ink); }.admin-brand small { display:block; font-size:8px; letter-spacing:1.6px; color:var(--admin-muted); }
.admin-nav-label { padding:0 16px; font-size:9px; font-weight:600; letter-spacing:1.5px; color:var(--admin-muted); }
.admin-modern #dashboard_menu .menu { margin:14px 0; padding:0; list-style:none; }.admin-modern #dashboard_menu .menu li { margin-bottom:6px; }.admin-modern #dashboard_menu .menu a { display:flex; align-items:center; gap:14px; border-radius:8px; padding:14px 16px; color:#666c80; font-weight:500; text-decoration:none; }.admin-modern #dashboard_menu .menu a i { width:18px; font-size:16px; text-align:center; }.admin-modern #dashboard_menu .menu .active a,.admin-modern #dashboard_menu .menu a:hover { color:var(--admin-primary); background:#eef0fb; }.nav-current-dot { margin-left:auto; width:5px; height:5px; border-radius:50%; background:var(--admin-primary); }
.admin-sidebar-footer { margin-top:auto; padding:28px 10px 0; border-top:1px solid var(--admin-line); }.admin-sidebar-footer .admin-nav-label { padding:0; font-size:8px; }.admin-sidebar-footer p { font-size:11px; color:var(--admin-muted); margin:8px 0 20px; }.admin-sidebar-footer a { font-size:12px; }.admin-sidebar-footer i { margin-left:8px; }
.admin-modern #dashboard_body { margin-left:238px; padding:36px; min-width:0; }.admin-modern h1,.admin-modern h2,.admin-modern h3 { color:var(--admin-ink); font-weight:600; letter-spacing:-.6px; }.admin-modern h1 { font-size:29px; margin:0 0 10px; }.admin-modern h2 { font-size:18px; margin:0 0 8px; }.admin-modern h3 { font-size:22px; }
.admin-page-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:30px; }.admin-page-heading p { color:var(--admin-muted); margin:0; line-height:1.6; }.admin-page-heading .admin-eyebrow,.admin-eyebrow { font-size:10px; color:var(--admin-primary); font-weight:600; letter-spacing:1.6px; margin:0 0 12px; }
.admin-modern .panel { border:1px solid var(--admin-line); border-radius:12px; box-shadow:0 3px 12px rgba(36,42,64,.025); background:#fff; margin-bottom:24px; }.admin-modern .panel-body { padding:28px; }.admin-modern .panel-heading { background:#fff; border-bottom:1px solid var(--admin-line); padding:20px 26px; border-radius:12px 12px 0 0; }.admin-modern .panel-heading-content { display:none; }
.admin-modern .btn { border-radius:7px; padding:11px 17px; font-size:12px; font-weight:600; letter-spacing:.1px; text-transform:none; box-shadow:none; }.admin-modern .btn.btn-primary,.admin-modern .btn.btn-warning,.admin-modern .course-save { background:var(--admin-primary); color:#fff; }.admin-modern .btn.btn-raised:hover { background:#33449c; color:#fff; }.admin-modern .btn-xs { padding:8px 12px; margin-left:12px; }.admin-modern .btn i { margin-right:7px; }
.admin-stat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-bottom:28px; }.admin-stat { display:block; position:relative; padding:25px; background:#fff; border:1px solid var(--admin-line); border-radius:12px; text-decoration:none!important; color:var(--admin-ink)!important; }.stat-label { color:var(--admin-muted); font-size:13px; }.admin-stat>strong { display:block; font-size:35px; letter-spacing:-1px; font-weight:600; margin:13px 0 23px; }.stat-icon { position:absolute; top:23px; right:23px; background:#eef0fb; color:var(--admin-primary); width:40px; height:40px; border-radius:10px; display:grid; place-items:center; font-size:17px; }.stat-footer { border-top:1px solid var(--admin-line); padding-top:15px; display:block; color:var(--admin-muted); font-size:11px; }.stat-footer i { float:right; color:var(--admin-primary); }
.admin-overview-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(260px,1fr); gap:24px; }.admin-section-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:25px; }.admin-section-heading p { margin:0; color:var(--admin-muted); font-size:12px; }.admin-section-heading>a { white-space:nowrap; font-size:12px; }.admin-quick-actions { padding:26px; }.admin-quick-actions>a { display:flex; gap:12px; align-items:center; padding:21px 0; border-bottom:1px solid var(--admin-line); text-decoration:none; }.admin-quick-actions>a:last-child { border-bottom:0; }.admin-quick-actions>a>i:last-child { margin-left:auto; }.admin-quick-actions strong { display:block; font-size:12px; color:var(--admin-ink); }.admin-quick-actions small { display:block; color:var(--admin-muted); margin-top:4px; font-size:11px; }
.admin-modern .table { font-size:13px; border:0; margin-bottom:0; }.admin-modern .table>thead>tr>th,.admin-modern .table tr>th { background:#f8f9fc; color:var(--admin-muted); font-size:10px; letter-spacing:.6px; text-transform:uppercase; font-weight:600; padding:15px 18px; border:0; border-bottom:1px solid var(--admin-line); }.admin-modern .table tr>td { padding:18px; vertical-align:middle; border:0; border-bottom:1px solid var(--admin-line); color:#53596d; }.admin-modern .table tr:hover>td { background:#fafbfe; }.admin-modern .table tr:last-child>td { border-bottom:0; }.admin-modern .table-responsive { border:0; width:100%; }.admin-modern .table td a { font-weight:500; white-space:nowrap; }
.admin-table-toolbar { display:flex; align-items:center; justify-content:space-between; gap:15px; margin:0 0 20px; }.admin-table-search { display:flex; align-items:center; gap:10px; background:#f8f9fc; border:1px solid var(--admin-line); border-radius:7px; padding:9px 13px; max-width:380px; width:100%; color:var(--admin-muted); }.admin-table-search input { width:100%; border:0; background:transparent; outline:none; color:var(--admin-ink); font-size:13px; }.admin-table-count { font-size:11px; color:var(--admin-muted); white-space:nowrap; }
.admin-modern #dashboard_body .panel-body>.col-md-5 { float:none; width:100%; max-width:880px; padding:0; }.admin-modern #dashboard_body form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 26px; }.admin-modern #dashboard_body form>legend { grid-column:1/-1; font-size:23px; font-weight:600; color:var(--admin-ink); padding-bottom:22px; margin-bottom:24px; border-color:var(--admin-line); }.admin-modern #dashboard_body form>.media-group { display:contents; }.admin-modern #dashboard_body form>.form-group:last-child { grid-column:1/-1; padding-top:15px; border-top:1px solid var(--admin-line); }
.admin-modern .form-group,.admin-modern .form-group.label-floating { margin:0 0 22px; padding:0; }.admin-modern .form-group label,.admin-modern .form-group.label-floating label.control-label { position:static; display:block; color:#565d72; font-size:12px; line-height:1.5; margin:0 0 8px; font-weight:500; transform:none; }.admin-modern .form-control { height:43px; padding:10px 12px; background:#fff; background-image:none!important; border:1px solid #dfe2ed; border-radius:6px; box-shadow:none; font-size:14px; color:var(--admin-ink); }.admin-modern .form-control:focus { border-color:var(--admin-primary); box-shadow:0 0 0 3px rgba(63,81,181,.08); }.admin-modern textarea.form-control { height:auto; min-height:110px; }.admin-modern .help-block,.admin-modern small.text-muted { font-size:11px; line-height:1.6; }.admin-modern .checkbox label,.admin-modern .radio label { padding-left:25px; }
.admin-modern .modal-content { border:0; border-radius:12px; overflow:hidden; box-shadow:0 20px 70px rgba(36,42,64,.2); }.admin-modern .modal-header { padding:22px 26px; }.admin-modern .modal-title { font-size:19px; font-weight:500; }.admin-modern .modal-body { padding:24px 26px; }.admin-modern .modal-footer { padding:16px 26px; border-top:1px solid var(--admin-line); }.admin-modern .course-semester { padding:17px; border:1px solid var(--admin-line); border-radius:8px; }.admin-modern .course-semester legend { width:auto; border:0; padding:0 8px!important; font-size:13px!important; }.admin-modern .course-suggestions { border-radius:8px; }.admin-modern .course-suggestions [role=option] { font-size:13px; }
.admin-nav-backdrop { display:none; }.admin-modern :focus-visible { outline:2px solid var(--admin-primary); outline-offset:3px; }
@media(max-width:1150px){.admin-overview-grid{grid-template-columns:1fr}.admin-modern #dashboard_body{padding:25px}.admin-modern .admin-topbar{padding:0 25px}}
@media(max-width:800px){.admin-modern .admin-topbar{left:0;padding:0 16px;height:64px;min-height:64px}.admin-modern body{padding-top:64px}.admin-modern #menu_toggle_btn{display:block}.admin-modern #dashboard_menu{transform:translateX(-100%);transition:transform .2s}.admin-modern #dashboard_menu.is-open{transform:translateX(0)}.admin-modern #dashboard_body{margin-left:0;padding:22px 16px}.admin-nav-backdrop:not([hidden]){display:block;position:fixed;inset:0;background:rgba(36,42,64,.35);border:0;z-index:1035}.admin-stat-grid{gap:10px}.admin-stat{padding:18px}.stat-icon{display:none}.admin-stat>strong{font-size:28px}.admin-breadcrumb{font-size:12px}.admin-account>div{display:none}.admin-modern h1{font-size:25px}}
@media(max-width:540px){.admin-stat-grid{grid-template-columns:1fr}.admin-stat>strong{margin:8px 0 16px}.stat-icon{display:grid}.admin-page-heading{align-items:flex-start;flex-direction:column;gap:12px}.admin-modern #dashboard_body form{grid-template-columns:1fr}.admin-modern .panel-body{padding:20px}.admin-table-toolbar{flex-wrap:wrap}.admin-section-heading{padding:20px}.admin-account{gap:6px}.admin-account .admin-signout{margin:0}.admin-breadcrumb{max-width:160px}.admin-modern .table{min-width:580px}}
@media(prefers-reduced-motion:reduce){.admin-modern *{transition:none!important;scroll-behavior:auto!important}}

.admin-modern body.admin-login { padding:30px 16px; min-height:100vh; display:grid; place-items:center; background:#f5f6fa; }
.admin-login>.container { width:100%; max-width:430px; padding:0; }.admin-login>.container>br { display:none; }.admin-login>.container>div { float:none; width:100%; margin:0; padding:0; }.admin-login .panel { padding:16px; box-shadow:0 14px 50px rgba(36,42,64,.06); }.admin-modern .admin-login .panel-heading { text-align:center; border:0; padding:25px 15px 10px; }.admin-login .panel-title { text-transform:none!important; }.admin-login h1 { font-size:26px; margin:18px 0 8px; }.admin-login .panel-title p { color:#74798c; font-weight:400; font-size:13px; }.login-monogram { display:grid;place-items:center;margin:0 auto;width:48px;height:48px;background:#3f51b5;color:#fff;border-radius:12px 4px;font-size:29px;font-weight:600; }.admin-modern .admin-login .panel-body { padding:25px; }.admin-login input[type=submit] { width:100%; margin:8px 0 25px; background:#3f51b5!important; color:#fff; }.admin-login .h5 { display:block; text-align:center; color:#74798c; font-size:11px; }
.admin-modern #dashboard_body .card { padding:25px; background:#eef0fb; border-radius:10px; color:#3f51b5; font-weight:600; margin:15px 0; }

.admin-modern #dashboard_body form.admin-inline-action { display:inline; }
.admin-delete-link { border:0; padding:0; background:transparent; color:#3f51b5; font:inherit; font-weight:500; }
.admin-save-message { margin:0 0 20px; padding:14px 18px; background:#fff; border-left:3px solid #3f51b5; }

/* Account controls remain visible on desktop and mobile. */
.admin-profile-menu { position:relative; }
.admin-profile-menu summary { display:flex; align-items:center; gap:10px; cursor:pointer; list-style:none; padding:6px; border-radius:8px; }
.admin-profile-menu summary::-webkit-details-marker { display:none; }
.admin-profile-menu summary:hover,.admin-profile-menu[open] summary { background:#f5f6fa; }
.admin-profile-options { position:absolute; right:0; top:100%; width:210px; background:white; border:1px solid var(--admin-line); border-radius:10px; padding:8px; box-shadow:0 10px 30px rgba(36,42,64,.12); }
.admin-profile-options a { display:block; padding:12px; border-radius:6px; text-decoration:none; }
.admin-profile-options a:hover { background:#eef0fb; }
.admin-profile-options i { width:20px; }
.admin-logout-form { margin:0; }
.admin-account .admin-signout { display:flex; align-items:center; gap:8px; margin:0 0 0 8px; padding:10px 14px; border:1px solid #dce0f4; background:#eef0fb; color:var(--admin-primary); border-radius:7px; font:inherit; font-weight:600; }
.admin-account .admin-signout:hover { background:var(--admin-primary); color:white; }
.admin-account-panel { max-width:800px; }
.admin-modern #dashboard_body .admin-settings-form { display:block; max-width:520px; }
.admin-settings-form .account-divider { border-top:1px solid var(--admin-line); margin:24px 0; padding-top:24px; }
.admin-account-success { padding:14px 18px; border:1px solid #dce0f4; border-radius:8px; color:var(--admin-primary); background:#eef0fb; }
@media(max-width:800px) { .admin-profile-name { display:none; } .admin-account { gap:4px; } }
@media(max-width:540px) { .admin-topbar .admin-breadcrumb { display:none; } }
