:root {
    --primary: #155eef;
    --primary-dark: #0b4fd4;
    --bg: #f4f7fb;
    --text: #182230;
    --muted: #667085;
    --border: #e4e7ec;
}
* { box-sizing: border-box; }
body {
    margin: 0;
    font-family: Inter, Arial, sans-serif;
    background: var(--bg);
    color: var(--text);
}
.login-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 20px;
    background: linear-gradient(135deg, #0b4fd4, #155eef 55%, #5b8cff);
}
.login-card {
    width: min(100%, 430px);
    background: #fff;
    border-radius: 20px;
    padding: 36px;
    box-shadow: 0 25px 60px rgba(0,0,0,.18);
}
.brand { text-align: center; margin-bottom: 28px; }
.brand h1 { margin: 0; font-size: 24px; }
.brand p { color: var(--muted); margin: 8px 0 0; }
.form-group { margin-bottom: 16px; }
label { display: block; margin-bottom: 7px; font-weight: 600; font-size: 14px; }
input {
    width: 100%;
    padding: 13px 14px;
    border: 1px solid var(--border);
    border-radius: 10px;
    font-size: 15px;
}
input:focus { outline: 3px solid rgba(21,94,239,.12); border-color: var(--primary); }
.btn {
    border: 0;
    border-radius: 10px;
    padding: 13px 18px;
    cursor: pointer;
    font-weight: 700;
}
.btn-primary { width: 100%; background: var(--primary); color: #fff; }
.btn-primary:hover { background: var(--primary-dark); }
.alert { padding: 12px 14px; border-radius: 10px; margin-bottom: 18px; font-size: 14px; }
.alert-error { background: #fff1f1; color: #b42318; }
.alert-success { background: #ecfdf3; color: #027a48; }
.alert-warning { background: #fffaeb; color: #92400e; border: 1px solid #f5d48a; padding: 12px 14px; border-radius: 8px; margin: 10px 0 14px; }

.app { display: flex; min-height: 100vh; }
.sidebar {
    width: 260px; background: #101828; color: #fff; padding: 24px 16px;
}
.sidebar h2 { font-size: 18px; padding: 0 10px; margin-bottom: 30px; }
.sidebar a {
    display: block; color: #d0d5dd; text-decoration: none;
    padding: 12px 14px; border-radius: 9px; margin: 4px 0;
}
.sidebar a:hover, .sidebar a.active { background: #1d2939; color: #fff; }
.main { flex: 1; padding: 28px; }
.topbar {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 28px;
}
.user-box { color: var(--muted); }
.cards {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 18px;
}
.card {
    background: #fff; border: 1px solid var(--border);
    border-radius: 16px; padding: 22px;
}
.card .label { color: var(--muted); font-size: 14px; }
.card .value { font-size: 30px; font-weight: 800; margin-top: 8px; }
.content-card {
    margin-top: 24px; background: #fff; border: 1px solid var(--border);
    border-radius: 16px; padding: 24px;
}
.logout-link { color: #b42318 !important; }
@media (max-width: 800px) {
    .app { display: block; }
    .sidebar { width: 100%; }
    .main { padding: 18px; }
}

.password-card {
    max-width: 650px;
}
.help-text {
    display: block;
    margin-top: 7px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.5;
}

.btn-inline { width: auto; text-decoration: none; display: inline-block; }
.btn-secondary { background:#344054; color:#fff; }
.btn-light { background:#fff; color:#344054; border:1px solid var(--border); text-decoration:none; }
.filter-bar { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:20px; }
.filter-bar input, .filter-bar select { width:auto; min-width:170px; }
select { padding:13px 14px; border:1px solid var(--border); border-radius:10px; background:#fff; font-size:15px; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; }
th,td { text-align:left; padding:13px 12px; border-bottom:1px solid var(--border); vertical-align:top; }
th { color:var(--muted); font-size:12px; text-transform:uppercase; }
.actions { min-width:250px; }
.actions a, .actions button { display:inline-block; margin:2px 3px 2px 0; padding:7px 9px; border:1px solid var(--border); background:#fff; border-radius:7px; color:#155eef; font-size:12px; text-decoration:none; cursor:pointer; }
.inline-form { display:inline; }
.badge { display:inline-block; padding:5px 8px; border-radius:999px; font-size:12px; font-weight:700; }
.badge-active { background:#ecfdf3; color:#027a48; }
.badge-inactive { background:#fef3f2; color:#b42318; }
.badge-role { background:#eff4ff; color:#3538cd; }
.form-card { max-width:900px; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; }
.pagination-wrap{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.pagination-info{color:var(--muted);font-size:13px}.pagination{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.pagination a,.pagination span{min-width:34px;height:34px;box-sizing:border-box;padding:0 9px;border:1px solid var(--border);border-radius:7px;text-decoration:none;color:var(--text);display:inline-flex;align-items:center;justify-content:center;background:#fff;font-size:13px}.pagination a:hover{background:#f5f7fa}.pagination .current{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:700}.pagination .disabled{color:#98a2b3;background:#f8fafc}.pagination .ellipsis{border-color:transparent;background:transparent;min-width:20px;padding:0}.pagination a.current{background:var(--primary);color:#fff;border-color:var(--primary)}
.empty { text-align:center; color:var(--muted); padding:30px; }
@media(max-width:700px){ .form-grid{grid-template-columns:1fr;} .filter-bar input,.filter-bar select{width:100%;} }

.section-title{margin:0 0 18px;font-size:18px}
.account-box{margin:22px 0;padding:18px;border:1px solid var(--border);border-radius:12px;background:#fafbfc}
.check-label{font-weight:700;display:flex;gap:8px;align-items:center;margin-bottom:14px}
.student-mini{display:flex;gap:10px;align-items:center;min-width:210px}
.student-mini img,.avatar-placeholder{width:42px;height:42px;border-radius:50%;object-fit:cover}
.avatar-placeholder,.profile-avatar{display:flex;align-items:center;justify-content:center;background:#eff4ff;color:#3538cd;font-weight:800}
.profile-card{max-width:900px}
.profile-head{display:flex;gap:20px;align-items:center;padding-bottom:24px;border-bottom:1px solid var(--border);margin-bottom:24px}
.profile-photo,.profile-avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;font-size:34px}
.details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:25px}
.details-grid div{padding:14px;border:1px solid var(--border);border-radius:10px}
.details-grid strong{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}
.details-grid span{display:block;font-weight:600}
@media(max-width:700px){.details-grid{grid-template-columns:1fr}.profile-head{align-items:flex-start}}

/* Version 3.0 Question Bank */
.option-box{margin:18px 0;padding:18px;border:1px solid var(--border);border-radius:12px;background:#fafbfc}.option-row{display:grid;grid-template-columns:28px 24px 1fr;gap:8px;align-items:center;margin:10px 0}.option-row input[type=radio]{width:auto}.option-row input:not([type=radio]){margin:0}.question-cell{min-width:260px}.question-text{white-space:normal;padding:18px;border:1px solid var(--border);border-radius:10px;background:#fafbfc;margin:10px 0 22px}.answer-list{display:grid;gap:10px}.answer-item{padding:13px 15px;border:1px solid var(--border);border-radius:10px}.correct-answer{border-color:#12b76a;background:#ecfdf3}.answer-item .badge{float:right}.question-view{max-width:1000px}


/* Version 5.0 Online Examination Interface */
.exam-shell,.result-shell{max-width:1000px;margin:28px auto;padding:0 20px}.exam-page{margin:0;background:#f4f6f9}.exam-header{position:sticky;top:0;z-index:20;background:#172235;color:#fff;padding:16px 28px;display:flex;justify-content:space-between;align-items:center}.exam-header small{display:block;opacity:.8;margin-top:4px}.exam-timer{font-size:24px;font-weight:800;background:#263b5a;padding:8px 14px;border-radius:8px}.exam-layout{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 76px)}.question-palette{background:#fff;padding:22px;border-right:1px solid #ddd}.palette-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.palette-grid a{display:flex;align-items:center;justify-content:center;height:38px;border:1px solid #ccd3dc;border-radius:6px;text-decoration:none;color:#26323f;font-weight:700}.palette-grid a.active{outline:3px solid #2f65c5}.palette-grid a.answered{background:#dff4e5}.palette-grid a.review{background:#fff0bf}.legend{font-size:12px;color:#687385;margin-top:18px}.exam-content{padding:28px;max-width:900px}.question-card{background:#fff;border:1px solid #dce2e9;border-radius:12px;padding:28px;box-shadow:0 4px 16px rgba(0,0,0,.04)}.question-meta{display:flex;justify-content:space-between;color:#667085;font-size:14px;margin-bottom:20px}.question-text{font-size:20px;line-height:1.6;margin-bottom:24px}.option{display:block;padding:14px 16px;border:1px solid #dce2e9;border-radius:8px;margin:10px 0;cursor:pointer}.option:hover{background:#f7f9fc}.answer-input,.answer-textarea{width:100%;box-sizing:border-box;padding:14px;border:1px solid #cfd7e2;border-radius:8px;font:inherit}.exam-actions,.exam-nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.exam-nav{justify-content:space-between}.btn-danger{background:#c23b32;color:#fff}.btn-secondary{background:#65748b;color:#fff}.result-score{text-align:center;padding:25px}.result-score strong{font-size:48px;display:block;color:#2f65c5}.result-score span{color:#667085}.muted{color:#7c8795}@media(max-width:800px){.exam-layout{grid-template-columns:1fr}.question-palette{border-right:0;border-bottom:1px solid #ddd}.palette-grid{grid-template-columns:repeat(8,1fr)}.exam-header{padding:12px 16px}.exam-content{padding:16px}}
/* Version 5.1 Results & Evaluation */
.review-question{margin:24px 0;padding:22px;border:1px solid var(--border);border-radius:14px;background:#fff}.student-answer{padding:14px 16px;background:#f8fafc;border:1px solid var(--border);border-radius:10px;margin:14px 0}.student-answer p{white-space:pre-wrap}.evaluation-form{margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}textarea{width:100%;padding:13px 14px;border:1px solid var(--border);border-radius:10px;font:inherit;resize:vertical}.student-selected{outline:2px solid rgba(21,94,239,.25);background:#eff4ff}.review-question .question-meta{align-items:center}.stats-grid{margin-top:20px}


/* Version 5.1.1 - Examination Availability Status */
.exam-status-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;font-size:13px;font-weight:700;line-height:1.2;white-space:nowrap}
.exam-status-badge .status-dot{width:12px;height:12px;border-radius:50%;display:inline-block;flex:0 0 12px}
.exam-status-badge.available{color:#166534;background:#dcfce7}.exam-status-badge.available .status-dot{background:#22c55e}
.exam-status-badge.upcoming{color:#854d0e;background:#fef9c3}.exam-status-badge.upcoming .status-dot{background:#eab308}
.exam-status-badge.ended{color:#991b1b;background:#fee2e2}.exam-status-badge.ended .status-dot{background:#ef4444}
.exam-status-badge.not-activated{color:#4b5563;background:#f3f4f6}.exam-status-badge.not-activated .status-dot{background:#d1d5db}
.exam-status-badge.started{color:#1d4ed8;background:#dbeafe}.exam-status-badge.started .status-dot{background:#2563eb}
.exam-status-badge.submitted{color:#065f46;background:#d1fae5}.exam-status-badge.submitted .status-dot{background:#10b981}
.exam-action-btn{width:auto;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.exam-action-muted{color:#7c8795;font-weight:600}.exam-action-ended{color:#b42318;font-weight:700}
@media(max-width:800px){.exam-status-badge{white-space:normal}.exam-action-btn{width:100%}}

/* Activity Logs */
.activity-filter-bar input[type="date"]{min-width:150px;width:auto}.activity-table th{white-space:nowrap}.activity-time{white-space:nowrap}.activity-description{min-width:240px;max-width:420px;white-space:normal}.activity-badge{white-space:nowrap}.activity-info{background:#eff4ff;color:#3538cd}.activity-success{background:#ecfdf3;color:#027a48}.activity-warning{background:#fffaeb;color:#b54708}.activity-danger{background:#fef3f2;color:#b42318}.activity-details summary{cursor:pointer;color:#2f67c7;font-weight:600}.activity-details>div{margin-top:8px;min-width:260px;max-width:420px;white-space:normal;word-break:break-word;padding:10px;border:1px solid var(--border);border-radius:8px;background:#fafbfc}.muted{color:#667085}

/* Version 7.0 - Question Bank Bulk Operations */
.bulk-toolbar{box-sizing:border-box}.bulk-toolbar strong{font-size:15px}.bulk-controls select{min-height:38px}

/* Security Event Summary */
.activity-summary-title{margin-top:4px}.activity-summary-title .muted{font-size:13px;font-weight:500}
.security-summary-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:12px;margin-bottom:28px}
.security-summary-card{border:1px solid var(--border);border-radius:12px;background:#fff;padding:15px 14px;min-height:96px;box-sizing:border-box}
.security-summary-card strong{display:block;font-size:28px;line-height:1.1;margin:8px 0 5px;color:#101828}
.security-summary-label{display:block;font-size:12px;font-weight:700;color:#475467;line-height:1.3}
.security-summary-card small{display:block;color:#667085;font-size:11px;line-height:1.35}
.security-summary-total{background:#f8fafc}
.activity-summary-subtitle{margin-top:26px;margin-bottom:14px;font-size:16px}
.security-student-table th{white-space:normal;line-height:1.3}.security-student-table td:not(:first-child){text-align:center;white-space:nowrap}
.security-summary-empty{padding:18px;border:1px dashed var(--border);border-radius:10px;color:var(--muted);background:#fafbfc}
@media(max-width:1200px){.security-summary-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}}
@media(max-width:700px){.security-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Exam activity student drill-down */
.security-student-table .btn-sm { padding: 6px 10px; font-size: 12px; margin-left: 6px; white-space: nowrap; }
.activity-clear-student { margin-left: 10px; font-size: 12px; padding: 6px 10px; }
@media (max-width: 900px) { .security-student-table { min-width: 1100px; } }
/* Version 20.0 - Examination Dashboard */
.dashboard-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.system-overview-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.dashboard-overview{margin-bottom:20px}
.dashboard-overview-head{margin-bottom:12px}
.dashboard-overview .dashboard-card{min-height:118px}
.dashboard-exam-summary{margin-bottom:20px}
.dashboard-status-section{margin-bottom:20px}
.dashboard-status-head{margin-bottom:12px}
.dashboard-card{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--border);border-radius:16px;padding:19px;text-decoration:none;color:var(--text);min-height:125px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.dashboard-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(16,24,40,.08);border-color:#cfd7e2}
.dashboard-card-icon{width:42px;height:42px;border-radius:11px;background:#eff4ff;color:#3538cd;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex:0 0 42px}
.dashboard-card-live .dashboard-card-icon{background:#ecfdf3;color:#027a48}
.dashboard-card-label{color:var(--muted);font-size:13px;font-weight:600;line-height:1.35}
.dashboard-card-value{font-size:30px;font-weight:800;line-height:1.15;margin:7px 0 6px}
.dashboard-card-link{font-size:12px;color:var(--primary);font-weight:700}
.dashboard-updated{text-align:right;color:var(--muted);font-size:12px;line-height:1.7}
.dashboard-updated small{font-size:11px}
.live-dot{width:9px;height:9px;background:#12b76a;border-radius:50%;display:inline-block;vertical-align:middle;margin-right:5px;box-shadow:0 0 0 3px #dcfce7}
.live-examination-card{margin-top:22px}
.dashboard-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px}
.dashboard-section-head h2{margin:0 0 5px}
.dashboard-section-head p{margin:0;font-size:13px}
.dashboard-live-badge{background:#ecfdf3;color:#027a48;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;white-space:nowrap}
.live-exam-list{display:grid;gap:12px}
.live-exam-row{display:grid;grid-template-columns:minmax(200px,1.5fr) minmax(420px,2fr) minmax(260px,1.5fr) auto;gap:18px;align-items:center;border:1px solid var(--border);border-radius:13px;padding:17px;background:#fafbfc}
.live-exam-title strong{display:block;font-size:15px;line-height:1.4}.live-exam-title span{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.live-metrics{display:grid;grid-template-columns:repeat(5,minmax(58px,1fr));gap:10px}
.live-metrics div{padding-right:8px;border-right:1px solid var(--border)}.live-metrics div:last-child{border-right:0}
.live-metrics small{display:block;color:var(--muted);font-size:10px;line-height:1.25}.live-metrics strong{display:block;font-size:19px;margin-top:4px}.live-metrics .metric-live{color:#027a48}
.progress-head{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px;margin-bottom:7px}
.progress-track{height:9px;border-radius:999px;background:#e4e7ec;overflow:hidden}.progress-track span{display:block;height:100%;background:#12b76a;border-radius:999px}
.progress-legend{display:flex;justify-content:space-between;gap:7px;margin-top:7px;color:var(--muted);font-size:10px;white-space:nowrap}
.live-view-btn{white-space:nowrap;font-size:12px;padding:9px 11px}
.dashboard-empty{text-align:center;padding:38px 20px;border:1px dashed var(--border);border-radius:12px;background:#fafbfc}.dashboard-empty-icon{margin:0 auto 10px;width:44px;height:44px;border-radius:50%;background:#ecfdf3;color:#027a48;display:flex;align-items:center;justify-content:center;font-weight:800}.dashboard-empty p{margin:7px 0 16px}
.dashboard-footer-note{margin-top:14px;color:var(--muted);font-size:11px;text-align:right}
@media(max-width:1250px){.dashboard-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.system-overview-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.live-exam-row{grid-template-columns:1fr 2fr}.live-progress{grid-column:1 / 2}.live-view-btn{justify-self:start}}
@media(max-width:850px){.dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.system-overview-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-section-head{flex-direction:column}.live-exam-row{grid-template-columns:1fr}.live-metrics{grid-template-columns:repeat(5,minmax(60px,1fr))}.live-progress{grid-column:auto}}
@media(max-width:600px){.dashboard-cards{grid-template-columns:1fr}.system-overview-cards{grid-template-columns:1fr}.dashboard-updated{display:none}.live-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.live-metrics div{border-right:0}.progress-legend{white-space:normal;flex-wrap:wrap}.dashboard-footer-note{text-align:left}}


/* Version 30.0 - Public Student Learning Portal */
.login-register-link{text-align:center;margin-top:16px;color:var(--muted)}.login-register-link a{font-weight:700;color:var(--primary)}
.learning-portal-card{border-left:4px solid var(--primary)}.donation-card{display:flex;justify-content:space-between;align-items:center;gap:28px}.donation-qr-wrap{text-align:center;min-width:190px}.donation-qr-wrap small{display:block;margin-top:8px;color:var(--muted)}.portal-preview{display:grid;grid-template-columns:280px 1fr;gap:28px;margin:22px 0;padding:20px;border:1px solid var(--border);border-radius:12px;background:#fafbfc}.portal-preview #donation-qr{margin:10px 0}.support-copy{padding:15px;border:1px dashed var(--border);border-radius:10px;background:#fff}@media(max-width:700px){.donation-card,.portal-preview{grid-template-columns:1fr;display:grid}.donation-qr-wrap{justify-self:start}}

/* Public Learner Dashboard - Version 32.0 */
.learning-dashboard-intro{margin-top:20px;padding:24px 26px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(135deg,#ffffff,#f7faff);display:flex;justify-content:space-between;align-items:center;gap:22px}.learning-dashboard-intro h2{margin:5px 0 7px;font-size:24px}.learning-dashboard-intro p{margin:0;color:var(--muted);max-width:760px}.learning-kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--primary);background:#eff4ff;padding:6px 9px;border-radius:999px}.learning-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px}.learning-stat-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px 19px;min-height:126px}.learning-stat-card span{display:block;color:var(--muted);font-size:13px;font-weight:700}.learning-stat-card strong{display:block;font-size:30px;line-height:1.15;margin:11px 0 7px}.learning-stat-card strong em{font-style:normal;font-size:15px;font-weight:700}.learning-stat-card small{color:var(--muted);font-size:11px}.learning-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,1fr);gap:18px;margin-top:18px}.learning-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px}.learning-section-head h2{margin:0 0 5px}.learning-section-head p{margin:0}.learning-section-head>a{font-size:12px;font-weight:700;color:var(--primary);text-decoration:none;white-space:nowrap}.learning-topic-row{padding:14px 0;border-top:1px solid var(--border);display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.25fr);gap:20px;align-items:center}.learning-topic-title strong,.learning-topic-title span{display:block}.learning-topic-title strong{font-size:14px}.learning-topic-title span{margin-top:4px;color:var(--muted);font-size:12px}.learning-topic-progress{display:grid;grid-template-columns:1fr 82px;gap:12px;align-items:center}.learning-topic-progress .progress-track{height:9px}.learning-topic-progress small{color:var(--muted);font-size:11px;text-align:right}.learning-recommend-card{min-width:0}.recommendation-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:11px;align-items:center;padding:13px 0;border-top:1px solid var(--border)}.recommendation-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800}.recommendation-warn{background:#fff7e6;color:#b54708}.recommendation-good{background:#ecfdf3;color:#027a48}.recommendation-copy strong,.recommendation-copy span{display:block}.recommendation-copy strong{font-size:13px}.recommendation-copy span{font-size:11px;color:var(--muted);margin-top:3px}.btn-small{padding:7px 10px;font-size:11px}.learning-empty{padding:24px 16px;border:1px dashed var(--border);border-radius:12px;background:#fafbfc;text-align:center}.learning-empty.compact{padding:18px 12px}.learning-empty strong{display:block}.learning-empty p{color:var(--muted);font-size:12px;line-height:1.55;margin:7px 0 14px}.learning-summary-card{margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:22px}.learning-summary-card h2{margin:0 0 5px}.learning-summary-card p{margin:0;color:var(--muted);font-size:12px}.learning-mini-stats{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:10px;min-width:420px}.learning-mini-stats span{padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:#fafbfc;text-align:center;color:var(--muted);font-size:10px}.learning-mini-stats strong{display:block;color:var(--text);font-size:18px;margin-bottom:3px}.learning-dashboard-grid .content-card{margin-top:0}
@media(max-width:1000px){.learning-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-dashboard-grid{grid-template-columns:1fr}.learning-summary-card{display:block}.learning-mini-stats{margin-top:16px;min-width:0}}
@media(max-width:700px){.learning-dashboard-intro{display:block}.learning-dashboard-intro .btn{margin-top:16px}.learning-stats-grid{grid-template-columns:1fr}.learning-topic-row{grid-template-columns:1fr;gap:9px}.learning-topic-progress{grid-template-columns:1fr 75px}.learning-mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.recommendation-item{grid-template-columns:34px minmax(0,1fr)}.recommendation-item .btn{grid-column:2;justify-self:start}}

/* Public Learner Practice Mode - Version 33.0 */
.practice-intro-card{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#fff,#f7faff)}.practice-intro-card h2{margin:0 0 6px}.practice-intro-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.practice-intro-icon,.practice-result-icon{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ecfdf3;color:#027a48;font-weight:900;flex:0 0 46px}.practice-section-head{margin-bottom:20px}.practice-section-head h2{margin:0 0 5px}.practice-section-head p{margin:0;font-size:12px}.practice-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.practice-start-row{margin-top:8px;padding-top:18px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:18px}.practice-start-row strong,.practice-start-row span{display:block}.practice-start-row span{color:var(--muted);font-size:12px;margin-top:4px}.practice-start-btn{min-width:170px}.practice-note-card{font-size:13px;color:var(--muted)}.practice-note-card strong{color:var(--text)}.practice-note-card ul{margin:12px 0 0;padding-left:20px;line-height:1.8}.practice-page{min-height:100vh;background:#f4f6f9}.practice-header{position:sticky;top:0;z-index:20;background:#172235;color:#fff;padding:17px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.practice-header strong{display:block;font-size:18px}.practice-header small{display:block;opacity:.75;margin-top:4px}.practice-header-progress{display:flex;gap:18px;font-size:12px;opacity:.9}.practice-shell{max-width:920px;margin:0 auto;padding:30px 20px}.practice-progress{background:#fff;border:1px solid var(--border);border-radius:12px;padding:15px 18px;margin-bottom:18px}.practice-progress>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);margin-bottom:8px}.practice-progress strong{color:var(--text)}.practice-progress .progress-track{height:8px}.practice-question-card{background:#fff;border:1px solid #dce2e9;border-radius:16px;padding:30px;box-shadow:0 4px 18px rgba(0,0,0,.04)}.practice-question-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:20px}.practice-question-card h1{font-size:21px;line-height:1.6;margin:0 0 24px;white-space:pre-wrap}.practice-option{display:flex;align-items:flex-start;gap:12px;padding:15px 16px;border:1px solid #dce2e9;border-radius:10px;margin:10px 0;cursor:pointer;line-height:1.5}.practice-option:hover{background:#f7f9fc;border-color:#b9c7dc}.practice-option input{width:auto;margin-top:4px;flex:0 0 auto}.practice-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.practice-feedback{padding:15px 16px;border-radius:10px;margin:0 0 18px;display:flex;flex-direction:column;gap:5px;line-height:1.5}.practice-feedback.success{background:#ecfdf3;color:#027a48;border:1px solid #abefc6}.practice-feedback.error{background:#fff1f1;color:#b42318;border:1px solid #fecdca}.practice-feedback.warning{background:#fffaeb;color:#92400e;border:1px solid #fedf89}.practice-answer-list{display:grid;gap:10px}.practice-answer-item{padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:#fafbfc;line-height:1.5}.practice-answer-item.correct{border-color:#12b76a;background:#ecfdf3}.practice-answer-item.incorrect{border-color:#fecdca;background:#fff1f1}.practice-option-status{float:right;font-size:11px;font-weight:800;margin-left:12px}.correct-status{color:#027a48}.incorrect-status{color:#b42318}.practice-explanation{margin-top:18px;padding:16px 18px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#1e3a5f;line-height:1.65}.practice-explanation strong{display:block;margin-bottom:6px;color:#163b6d}.practice-answer-item.selected{border-color:#b9c7dc;background:#eff4ff}.practice-answer-item.selected.correct{border-color:#12b76a;background:#ecfdf3}.practice-result-card{max-width:850px;text-align:center;margin-left:auto;margin-right:auto}.practice-result-icon{margin:0 auto 14px}.practice-result-card h2{margin:0 0 5px}.practice-result-card>p{margin:0}.practice-result-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:25px 0}.practice-result-stats div{padding:18px 12px;border:1px solid var(--border);border-radius:12px;background:#fafbfc}.practice-result-stats span{display:block;color:var(--muted);font-size:11px}.practice-result-stats strong{display:block;font-size:25px;margin-top:7px}.practice-result-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.practice-result-actions .btn{min-width:150px}@media(max-width:700px){.practice-filter-grid{grid-template-columns:1fr}.practice-start-row{display:block}.practice-start-btn{margin-top:14px}.practice-header{padding:14px 16px}.practice-header-progress{display:block;text-align:right}.practice-header-progress span{display:block;margin:2px 0}.practice-shell{padding:18px 12px}.practice-question-card{padding:20px}.practice-question-card h1{font-size:18px}.practice-result-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-intro-card{align-items:flex-start}}
/* Practice links in Public Learner topic rows */
.learning-topic-progress{grid-template-columns:minmax(0,1fr) 82px auto}.learning-topic-practice{white-space:nowrap;align-self:center}.recommendation-item .btn-small{white-space:nowrap}
@media(max-width:700px){.learning-topic-progress{grid-template-columns:minmax(0,1fr) 75px}.learning-topic-practice{grid-column:1 / -1;justify-self:start}}

/* Public Learner practice history v35 */
.learning-history-dashboard-card{margin-top:18px}.learning-history-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.learning-history-mini{border:1px solid var(--border);border-radius:12px;background:#fafbfc;padding:16px}.learning-history-mini span{display:block;color:var(--muted);font-size:11px;font-weight:700}.learning-history-mini strong{display:block;font-size:26px;margin:8px 0}.learning-history-mini a{font-size:11px;font-weight:700;color:var(--primary);text-decoration:none}.learning-history-warn{background:#fffaf0;border-color:#f6d88a}.learning-history-card{margin-top:18px}.learning-history-summary{display:flex;gap:14px;margin-bottom:18px}.learning-history-summary>div{border:1px solid var(--border);border-radius:12px;background:#fafbfc;padding:14px 18px;min-width:190px}.learning-history-summary strong{display:block;font-size:24px}.learning-history-summary span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.learning-history-card table td:first-child{max-width:420px}.learning-history-card table td:first-child strong{display:block;line-height:1.45}.learning-history-card table small{color:var(--muted)}
@media(max-width:900px){.learning-history-dashboard-grid{grid-template-columns:1fr}.learning-history-summary{flex-wrap:wrap}}
.practice-bookmark-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-6px 0 18px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.bookmark-form{margin:0}.bookmark-btn{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:8px;padding:8px 12px;font-weight:700;cursor:pointer}.bookmark-btn:hover{background:#f7f9fc;border-color:#b9c7dc}.bookmark-btn.bookmarked{background:#fff7d6;border-color:#f0c36d;color:#7a4d00}.bookmark-feedback{font-size:12px;font-weight:700}.bookmark-feedback.added{color:#027a48}.bookmark-feedback.removed{color:#667085}
@media(max-width:700px){.practice-bookmark-row{align-items:flex-start;flex-direction:column}}
/* Public Learner Performance Analytics v38 */
.performance-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px}.performance-stat-grid-secondary{margin-top:14px}.performance-stat-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px 19px;min-height:118px}.performance-stat-card span{display:block;color:var(--muted);font-size:12px;font-weight:700}.performance-stat-card strong{display:block;font-size:29px;line-height:1.15;margin:10px 0 7px}.performance-stat-card small{display:block;color:var(--muted);font-size:11px;line-height:1.45}.performance-highlight{background:#f7faff}.performance-highlight strong{font-size:22px}.performance-highlight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.performance-focus-card{margin-top:0}.performance-section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:18px}.performance-section-title h2{margin:0 0 5px}.performance-section-title p{margin:0}.performance-section-title>a{font-size:12px;font-weight:700;color:var(--primary);text-decoration:none;white-space:nowrap}
/* Fix primary action links inside performance section headers: the generic header-link rule must not override button text. */
.performance-section-title>a.btn-primary.btn-inline{width:auto;color:#fff;text-decoration:none;display:inline-block}
.performance-section-title>a.btn-primary.btn-inline:hover{color:#fff;background:var(--primary-dark)}.performance-focus-value strong,.performance-focus-value span{display:block}.performance-focus-value strong{font-size:18px}.performance-focus-value span{margin-top:5px;color:var(--muted);font-size:12px}.performance-bar{height:10px;border-radius:999px;background:#edf1f5;overflow:hidden;margin-top:16px}.performance-bar span{display:block;height:100%;border-radius:999px;background:var(--primary)}.performance-bar-warn span{background:#f59e0b}.performance-practice-link{margin-top:15px}.performance-empty{padding:20px;border:1px dashed var(--border);border-radius:10px;background:#fafbfc;color:var(--muted);font-size:12px;line-height:1.55}.performance-topic-card,.performance-subject-card,.performance-note-card{margin-top:18px}.performance-topic-list,.performance-subject-list{display:grid}.performance-topic-row{display:grid;grid-template-columns:minmax(180px,1.15fr) minmax(180px,1fr) 70px auto;gap:14px;align-items:center;padding:13px 0;border-top:1px solid var(--border)}.performance-topic-name strong,.performance-topic-name span,.performance-subject-row span{display:block}.performance-topic-name strong{font-size:13px}.performance-topic-name span,.performance-subject-row span{margin-top:4px;color:var(--muted);font-size:11px}.performance-topic-meter .progress-track{height:9px}.performance-topic-percent{text-align:right;font-size:13px}.performance-topic-row .btn-small{white-space:nowrap}.performance-subject-row{display:grid;grid-template-columns:minmax(200px,1.1fr) minmax(180px,1fr) 70px;gap:15px;align-items:center;padding:13px 0;border-top:1px solid var(--border)}.performance-subject-row>div:first-child strong{font-size:13px}.performance-subject-meter .progress-track{height:9px}.performance-subject-row>strong{text-align:right;font-size:13px}.performance-note-card{background:#fafbfc}.performance-note-card strong{display:block;margin-bottom:5px}.performance-note-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.65}
@media(max-width:1050px){.performance-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-topic-row{grid-template-columns:minmax(170px,1fr) minmax(160px,1fr) 65px auto}}
@media(max-width:800px){.performance-highlight-grid{grid-template-columns:1fr}.performance-topic-row{grid-template-columns:minmax(160px,1fr) 75px auto}.performance-topic-meter{grid-column:1 / -1}.performance-topic-row .btn-small{justify-self:start}.performance-subject-row{grid-template-columns:minmax(170px,1fr) 90px}.performance-subject-meter{grid-column:1 / -1}.performance-subject-row>strong{text-align:left}}
@media(max-width:600px){.performance-stat-grid{grid-template-columns:1fr}.performance-topic-row{grid-template-columns:1fr 65px}.performance-topic-meter{grid-column:1 / -1}.performance-topic-row .btn-small{grid-column:1 / -1}.performance-subject-row{grid-template-columns:1fr 65px}.performance-subject-meter{grid-column:1 / -1}}
/* Public Learner Personalized Weak Areas v39 */
.performance-weak-card{margin-top:18px}.performance-weak-list{display:grid}.performance-weak-row{display:grid;grid-template-columns:minmax(190px,1.15fr) minmax(180px,1fr) 70px auto;gap:14px;align-items:center;padding:13px 0;border-top:1px solid var(--border)}.performance-weak-name strong,.performance-weak-name span{display:block}.performance-weak-name strong{font-size:13px}.performance-weak-name span{margin-top:4px;color:var(--muted);font-size:11px}.performance-weak-meter .progress-track{height:9px}.performance-weak-percent{text-align:right;font-size:13px}.performance-weak-row .btn-small{white-space:nowrap}
@media(max-width:800px){.performance-weak-row{grid-template-columns:minmax(160px,1fr) 75px auto}.performance-weak-meter{grid-column:1 / -1}.performance-weak-row .btn-small{justify-self:start}}
@media(max-width:600px){.performance-weak-row{grid-template-columns:1fr 65px}.performance-weak-meter{grid-column:1 / -1}.performance-weak-row .btn-small{grid-column:1 / -1}}
/* Public Learner v40 - Learning Streak */
.learning-streak-card{margin-top:18px}.learning-streak-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-top:4px}.learning-streak-day{border:1px solid var(--border);border-radius:12px;background:#fafbfc;text-align:center;padding:10px 8px}.learning-streak-day span{display:block;color:var(--muted);font-size:11px;font-weight:700}.learning-streak-day strong{display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin:7px auto 0;border-radius:50%;font-size:17px;background:#edf1f5;color:#98a2b3}.learning-streak-day.active{background:#fffaf0;border-color:#f6d88a}.learning-streak-day.active strong{background:#fff0c2;color:#b54708}.learning-streak-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.learning-streak-summary>div{border:1px solid var(--border);border-radius:10px;background:#fafbfc;padding:12px 14px}.learning-streak-summary span{display:block;color:var(--muted);font-size:10px;font-weight:700}.learning-streak-summary strong{display:block;font-size:20px;margin-top:5px}.learning-streak-card .learning-section-head{margin-bottom:12px}
@media(max-width:700px){.learning-streak-grid{gap:6px}.learning-streak-day{padding:8px 4px}.learning-streak-summary{grid-template-columns:1fr}.learning-streak-day strong{width:30px;height:30px}}

/* Public Learner Achievements v41 */
.learning-achievements-card{margin-top:18px}.learning-achievement-mini-list{display:flex;gap:10px;flex-wrap:wrap}.learning-achievement-mini{display:flex;align-items:center;gap:8px;border:1px solid var(--border);background:#fafbfc;border-radius:10px;padding:9px 12px}.learning-achievement-mini span{font-size:18px}.learning-achievement-mini strong{font-size:12px}.achievements-summary{margin-top:18px;display:grid;grid-template-columns:240px 1fr;gap:20px;align-items:center}.achievements-summary>div:first-child span{display:block;color:var(--muted);font-size:11px;font-weight:700}.achievements-summary>div:first-child strong{display:block;font-size:26px;margin-top:6px}.achievement-summary-progress{display:grid;grid-template-columns:1fr 90px;gap:12px;align-items:center}.achievement-summary-progress .progress-track{height:10px}.achievement-summary-progress small{color:var(--muted);font-size:11px;text-align:right}.achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.achievement-card{display:flex;gap:15px;align-items:flex-start;border:1px solid var(--border);border-radius:14px;background:#fff;padding:18px}.achievement-card.earned{border-color:#f0d58a;background:#fffdf6}.achievement-card.locked{background:#fafbfc}.achievement-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:25px;background:#f2f4f7;flex:0 0 48px}.achievement-card.earned .achievement-icon{background:#fff0c2}.achievement-copy h2{margin:0 0 6px;font-size:16px}.achievement-copy p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.achievement-status{display:inline-block;margin-top:10px;font-size:10px;font-weight:800;padding:5px 8px;border-radius:999px}.earned-status{background:#ecfdf3;color:#027a48}.locked-status{background:#eef1f5;color:#667085}.achievement-note{margin-top:18px;background:#fafbfc}.achievement-note strong{display:block;margin-bottom:5px}.achievement-note p{margin:0;color:var(--muted);font-size:12px;line-height:1.65}@media(max-width:800px){.achievement-grid{grid-template-columns:1fr}.achievements-summary{grid-template-columns:1fr}.achievement-summary-progress{grid-template-columns:1fr 80px}}@media(max-width:600px){.achievement-card{padding:14px}.learning-achievement-mini-list{display:grid;grid-template-columns:1fr}}

/* Public Learner Profile - v42 */
.profile-page-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1fr);gap:18px;margin-top:18px}.profile-account-card,.profile-stats-card{margin-top:0}.profile-section-head{margin-bottom:20px}.profile-section-head h2{margin:5px 0 5px}.profile-section-head p{margin:0;font-size:12px}.profile-kicker{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--primary);background:#eff4ff;padding:5px 8px;border-radius:999px}.profile-fields{display:grid;gap:0}.profile-field{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0;border-top:1px solid var(--border)}.profile-field:first-child{border-top:0;padding-top:0}.profile-field span{color:var(--muted);font-size:12px;font-weight:700}.profile-field strong{font-size:14px;text-align:right;word-break:break-word}.profile-security-note{display:grid;grid-template-columns:1fr auto;gap:5px 15px;align-items:center;margin-top:18px;padding:14px 15px;border:1px solid var(--border);border-radius:12px;background:#fafbfc}.profile-security-note strong{font-size:12px}.profile-security-note span{font-size:11px;color:var(--muted)}.profile-security-note .btn{grid-column:2;grid-row:1 / span 2;align-self:center}.profile-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-stat{border:1px solid var(--border);border-radius:12px;background:#fafbfc;padding:15px 14px;min-height:100px}.profile-stat span{display:block;color:var(--muted);font-size:11px;font-weight:700}.profile-stat strong{display:block;font-size:24px;margin:8px 0 5px}.profile-stat small{display:block;color:var(--muted);font-size:10px}.profile-stat-wide{grid-column:1 / -1}.profile-note-card{margin-top:18px;background:#fafbfc}.profile-note-card strong{display:block;margin-bottom:5px}.profile-note-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.65}
@media(max-width:1000px){.profile-page-grid{grid-template-columns:1fr}.profile-stats-card{margin-top:0}}
@media(max-width:600px){.profile-stat-grid{grid-template-columns:1fr}.profile-stat-wide{grid-column:auto}.profile-field{display:block}.profile-field strong{display:block;text-align:left;margin-top:5px}.profile-security-note{grid-template-columns:1fr}.profile-security-note .btn{grid-column:auto;grid-row:auto;justify-self:start;margin-top:7px}}

/* Public Learner v46 - in-app notifications */
.notification-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--border);border-radius:12px;background:#fff;text-decoration:none;font-size:21px;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.notification-bell span{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid #fff}
.notification-nav-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:8px;border-radius:999px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;vertical-align:middle}
.dashboard-notifications-card{margin:16px 0}
.dashboard-notification-list{display:grid;gap:8px}
.dashboard-notification{display:grid;grid-template-columns:34px 1fr 20px;gap:10px;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:12px;text-decoration:none;color:inherit;background:#fff;transition:.15s ease}
.dashboard-notification:hover{transform:translateY(-1px);border-color:var(--primary)}
.dashboard-notification.is-unread{background:#f7faff;border-color:#cbdcff}
.dashboard-notification .notification-icon{width:34px;height:34px;border-radius:10px;background:#eef4ff;display:flex;align-items:center;justify-content:center}
.dashboard-notification strong{display:block;font-size:14px}.dashboard-notification small{display:block;margin-top:3px;color:var(--muted);font-size:13px}.notification-arrow{font-size:22px;color:var(--muted);text-align:right}
.notification-empty{padding:36px 20px;text-align:center}.notification-empty.compact{display:flex;align-items:center;gap:14px;padding:16px 0;text-align:left}.notification-empty-icon{font-size:30px}.notification-empty h3{margin:8px 0 4px}.notification-empty p{margin:4px 0;color:var(--muted)}
.notification-page-card{max-width:1000px}.notification-page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.notification-page-head h2{margin:0}.notification-list{display:grid;gap:10px}.notification-item{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:15px;border:1px solid var(--border);border-radius:14px;background:#fff}.notification-item.is-unread{background:#f7faff;border-color:#cbdcff}.notification-item>.notification-icon{width:42px;height:42px;border-radius:12px;background:#eef4ff;display:flex;align-items:center;justify-content:center}.notification-title-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.notification-title-row strong{font-size:15px}.notification-title-row span{font-size:12px;color:var(--muted);white-space:nowrap}.notification-content p{margin:6px 0 10px;color:var(--muted)}.notification-actions{display:flex;gap:8px;flex-wrap:wrap}.notification-actions form{margin:0}
@media(max-width:700px){.notification-title-row{align-items:flex-start;flex-direction:column;gap:3px}.dashboard-notification{grid-template-columns:32px 1fr 16px}.notification-bell{margin-left:auto}}

/* Public Learner navigation */
.public-learner-sidebar { padding-top: 22px; }
.public-sidebar-brand { padding: 0 10px; font-size: 19px; font-weight: 800; color: #fff; }
.public-sidebar-caption { padding: 4px 10px 18px; color: #98a2b3; font-size: 12px; }
.public-learner-sidebar > a { display:flex; align-items:center; gap:9px; }
.public-learner-sidebar > a > span { flex:1; }
.public-learner-sidebar .nav-group { margin: 7px 0; }
.public-learner-sidebar .nav-group-title { padding: 9px 10px 5px; color:#98a2b3; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.public-learner-sidebar a.nav-sub { margin: 2px 0 2px 13px; padding: 9px 12px 9px 16px; font-size: 13px; border-left: 2px solid #344054; border-radius: 0 8px 8px 0; }
.public-learner-sidebar a.nav-sub:hover,
.public-learner-sidebar a.nav-sub.active { background:#1d2939; color:#fff; border-left-color:var(--primary); }
.public-learner-sidebar .logout-link { color:#f97066; margin-top:10px; }
.public-learner-sidebar .logout-link:hover { color:#fff; background:#3b1b1b; }
@media(max-width:900px){
    .public-sidebar-brand { display:inline-block; }
    .public-sidebar-caption { display:none; }
    .public-learner-sidebar .nav-group-title { display:none; }
    .public-learner-sidebar a.nav-sub { margin-left:0; border-left:0; }
}
