:root{--ink:#111c3a;--muted:#666d7f;--line:#dce2ef;--brand:#1d4ed8;--brand-2:#1d4ed8;--bs-primary:#1d4ed8;--paper:#f4f6fa;--yellow:#f0c85b;--coral:#cf6e55}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,'Segoe UI',Arial,sans-serif;font-size:14px;letter-spacing:0}a{color:var(--brand)}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid #e1b844;outline-offset:3px}h1,h2,h3,h4{color:var(--ink);letter-spacing:0;font-weight:700}h1.h3{font-size:26px}h2.h5{font-size:18px}.text-secondary{color:var(--muted)!important}.lucide{width:19px;height:19px;stroke-width:1.8;flex-shrink:0}
.app-shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:26px 18px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:30;overflow-y:auto}.brand-lockup{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);padding:0 9px 30px}.brand-lockup img{width:44px;height:44px;border-radius:0;object-fit:contain}.brand-lockup strong{font-size:23px;line-height:1.15}.brand-lockup span{display:block;font-size:10px;font-weight:600;color:var(--muted);margin-top:5px;text-transform:uppercase}.nav-caption{font-size:10px;font-weight:700;text-transform:uppercase;color:#8e96a8;padding:12px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{display:flex;align-items:center;gap:12px;min-height:46px;padding:10px 13px;color:#5d6577;text-decoration:none;border-radius:6px;font-weight:600}.sidebar nav a:hover{background:#f0f3fa;color:var(--brand)}.sidebar nav a.active{background:#e1e8fa;color:#042268}.sidebar nav a.active:after{content:'';width:5px;height:5px;background:var(--brand);border-radius:50%;margin-left:auto}.sidebar-footer{margin-top:auto;padding-top:28px}.sidebar-note{padding:16px 12px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.sidebar-note strong{display:block;color:var(--ink);margin-bottom:4px}.signout{background:none;border:0;width:100%;padding:12px;text-align:left;color:#60687b;display:flex;align-items:center;gap:12px}.workspace{min-width:0}.topbar{height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:16px}.breadcrumbs{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:12px}.breadcrumbs strong{color:var(--ink);font-weight:600}.topbar-actions{display:flex;align-items:center;gap:18px}.topbar-actions a{color:var(--muted);text-decoration:none}.account-chip{display:flex;gap:10px;align-items:center;border-left:1px solid var(--line);padding-left:20px}.avatar{display:grid;place-items:center;width:36px;height:36px;background:#e4e9f4;border-radius:50%;font-weight:700;color:var(--brand)}.account-chip strong{display:block;font-size:12px}.account-chip small{font-size:10px;color:var(--muted);text-transform:capitalize}.content{max-width:1600px;margin:0 auto;padding:30px 34px 50px;min-width:0}.icon-button{width:38px;height:38px;display:inline-grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--ink)}.menu-button{display:none}.nav-overlay{display:none}
.btn{font-size:13px;padding:10px 17px;border-radius:6px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:normal}.btn-sm{padding:7px 11px;font-size:12px}.btn-primary{--bs-btn-bg:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:#1e3a8a;--bs-btn-hover-border-color:#1e3a8a;--bs-btn-active-bg:#1e3a8a;--bs-btn-active-border-color:#1e3a8a;background:var(--brand);border-color:var(--brand);box-shadow:none}.btn-outline-primary{--bs-btn-color:var(--brand);--bs-btn-border-color:#b9c8f5;--bs-btn-hover-bg:var(--brand);--bs-btn-hover-border-color:var(--brand)}.btn-outline-secondary{--bs-btn-color:#586072;--bs-btn-border-color:#ced5e7}.form-control,.form-select{border:1px solid #d4dced;border-radius:6px;min-height:43px;font-size:13px;background-color:#fff}.form-control:focus,.form-select:focus{border-color:#5b7fe6;box-shadow:0 0 0 3px #1d4ed814}.form-label{font-size:12px;font-weight:600}.form-check-input:checked{background-color:var(--brand);border-color:var(--brand)}.card,.modal-content{border-radius:8px;border:1px solid var(--line)!important;min-width:0}.shadow-sm{box-shadow:0 3px 12px #111c3a04!important}.card-body{padding:22px}.card-header,.card-footer{border-color:var(--line);padding:16px 22px}.modal-header,.modal-footer{padding:19px 24px;border-color:var(--line)}.modal-body{padding:24px}.table{--bs-table-bg:#fff;border-color:#e8ecf4;font-size:13px}.table thead th{background:#f5f7fb;color:#737b8e;font-size:10px;font-weight:700;text-transform:uppercase;padding:15px 18px;white-space:nowrap}.table td{padding:17px 18px}.table tbody tr:hover{--bs-table-bg:#fafbfe}.table-responsive{max-width:100%}.badge{font-size:10px;font-weight:600;padding:6px 9px;border-radius:4px}.text-bg-primary,.text-bg-success{background:#e1e8fa!important;color:#1d4ed8!important}.card-footer nav{width:100%}.pagination{flex-wrap:wrap;gap:4px;margin:0}.page-link{font-size:12px;color:var(--brand);border-radius:4px}.active>.page-link{background:var(--brand);border-color:var(--brand)}.alert-success{background:#e7edfc;border-color:#c6d4f4;color:var(--brand)}
.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px}.page-heading h1{font-size:27px;margin:5px 0 8px}.eyebrow{color:var(--brand);font-size:10px;text-transform:uppercase;font-weight:700}.page-heading p{color:var(--muted);margin:0;font-size:13px}.date-tag{color:var(--muted);font-size:12px;display:flex;align-items:center;gap:8px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px}.metric-tile{display:block;padding:20px;background:#fff;border:1px solid var(--line);border-radius:8px;text-decoration:none;min-width:0}.metric-label{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12px;color:var(--muted)}.metric-label i,.metric-label svg{color:var(--accent,var(--brand))}.metric-number{display:block;font-size:30px;font-weight:700;color:var(--ink);margin-top:14px;line-height:1.2}.metric-note{font-size:10px;color:#858c9e;margin-top:5px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:26px 0 16px}.section-title h2{font-size:18px;margin:0}.section-title a{font-size:12px;text-decoration:none;font-weight:600}.workspace-columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:28px}.data-section{min-width:0}.activity-row{display:flex;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);min-width:0}.activity-row .row-copy{flex:1;min-width:0}.activity-row strong{font-size:13px;display:block;overflow-wrap:anywhere}.activity-row small{color:var(--muted);font-size:11px}.activity-row .row-icon{width:40px;height:40px;display:grid;place-items:center;background:#e9edf6;color:var(--brand);border-radius:6px;flex-shrink:0}.learning-banner{position:relative;background:#e3e8f3 url('../images/study-desk.jpg') center right/cover no-repeat;min-height:224px;padding:32px;margin-bottom:26px;isolation:isolate;overflow:hidden}.learning-banner:before{content:'';position:absolute;inset:0 48% 0 0;background:#eceff6ed;z-index:-1}.learning-banner h2{font-size:28px;max-width:290px;margin:10px 0}.learning-banner p{font-size:13px;max-width:260px;color:#5c6478;line-height:1.7}.learning-banner .btn{margin-top:6px}.learning-courses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.learning-course{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden;text-decoration:none;color:var(--ink)}.course-cover{height:100px;padding:20px;background:#dee5f6;display:flex;align-items:center;justify-content:space-between;color:#1e40af}.course-cover.yellow{background:#f7edcd;color:#8b691a}.course-cover svg{height:40px;width:40px;stroke-width:1.3}.course-cover b{font-size:32px;font-weight:700;opacity:.65}.course-body{padding:19px}.course-body h3{font-size:16px;margin:5px 0 10px}.course-body p{font-size:12px;color:var(--muted)}.course-footer{display:flex;justify-content:space-between;align-items:center;color:var(--brand);font-size:12px;font-weight:600}.quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.quick-action{display:flex;gap:12px;align-items:center;padding:18px 12px;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:12px;font-weight:600}.quick-action svg{color:var(--brand)}.empty-copy{padding:24px 0;color:var(--muted);font-size:13px}.weekly-stats{display:flex;flex-wrap:wrap;gap:28px;margin:20px 0}.weekly-stats strong{display:block;font-size:25px;line-height:1.3}.weekly-stats small{color:var(--muted);font-size:11px}.week-chart{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px;min-height:175px;margin:20px 0}.week-column{text-align:center;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.week-track{height:115px;width:100%;max-width:40px;background:#e4e9f4;position:relative;border-radius:5px 5px 0 0;overflow:hidden}.week-fill{position:absolute;bottom:0;width:100%;background:#a5b8f3}.week-column:last-child .week-fill{background:var(--brand)}.week-column span{font-size:10px;color:var(--muted);margin-top:8px}.week-column b{font-size:10px;color:var(--brand);margin-bottom:6px}.notice-status{font-size:10px;color:var(--brand);background:#dee7fa;padding:4px 7px;border-radius:4px;display:inline-block;margin-bottom:7px}
.public-nav{max-width:1280px;margin:auto;padding:20px 36px;display:flex;align-items:center;justify-content:space-between;gap:20px}.public-nav .brand-lockup{padding:0}.public-links{display:flex;gap:30px;align-items:center}.public-links a{color:var(--muted);text-decoration:none;font-size:13px}.public-hero{background:#e9edf5 url('../images/study-desk.jpg') center/cover no-repeat;min-height:560px;height:min(72vh,740px);position:relative;display:flex;align-items:center}.public-hero:before{content:'';position:absolute;inset:0 55% 0 0;background:#e9edf5df}.hero-inner{position:relative;max-width:1280px;width:100%;margin:auto;padding:55px 36px}.hero-inner h1{font-size:68px;line-height:1.05;max-width:480px;margin:16px 0;color:#172554}.hero-inner p{max-width:370px;font-size:17px;line-height:1.8;color:#3c4865}.hero-inner .hero-phrase{font-family:Georgia,serif;font-size:27px;color:#38486f;max-width:340px;margin-bottom:18px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.public-section{max-width:1200px;margin:auto;padding:68px 36px}.public-section h2{font-size:34px;margin:8px 0 14px}.public-section .intro{font-size:15px;color:var(--muted);max-width:550px;line-height:1.8}.public-band{background:#fff;border-block:1px solid var(--line)}.public-benefits{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:25px 36px;gap:20px}.public-benefits div{display:flex;gap:10px;align-items:center;font-size:12px;font-weight:600}.public-benefits svg{color:var(--brand)}.program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}.course-cover.violet{background:#ede9fe;color:#5b21b6}.exam-groups{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}.exam-groups article{background:#fff;border:1px solid var(--line);border-radius:8px;padding:26px 28px}.exam-groups h3{font-size:18px;display:flex;align-items:center;gap:10px;margin:0 0 18px}.exam-groups h3 svg{color:var(--brand);width:22px;height:22px}.exam-chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}.exam-chips li{padding:8px 14px;border-radius:999px;background:#e7edfc;color:#1e3a8a;font-size:13px;font-weight:600}@media(max-width:1100px){.program-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.exam-groups{grid-template-columns:1fr}}.public-program{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.public-program .course-cover{height:148px;padding:28px}.public-program .course-cover b{font-size:48px}.public-program .course-body{padding:28px}.public-program h3{font-size:24px}.public-program p{line-height:1.8;max-width:400px;font-size:14px}.learning-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;margin-top:32px}.learning-steps b{color:var(--brand);font-size:15px}.learning-steps h3{font-size:20px;margin:18px 0 12px}.learning-steps p{color:var(--muted);line-height:1.8}.public-footer{border-top:1px solid var(--line);padding:28px 36px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px;color:var(--muted);font-size:12px}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-scene{background:#e9edf6 url('../images/study-desk.jpg') center/cover;display:flex;align-items:flex-start;padding:48px;position:relative}.login-scene h2{font-family:Georgia,serif;font-size:38px;max-width:260px;line-height:1.3}.login-form-wrap{max-width:440px;width:100%;padding:44px 30px;align-self:center;justify-self:center}.login-form-wrap h1{font-size:28px;margin:28px 0 8px}.login-form-wrap p{color:var(--muted);line-height:1.7}.login-form-wrap .brand-lockup{padding:0}.login-form-wrap form{margin-top:28px}.login-form-wrap label{margin-bottom:7px}.login-form-wrap .demo-note{font-size:11px;border-top:1px solid var(--line);margin-top:28px;padding-top:18px}
@media(min-width:1500px){.metric-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.student-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.app-shell{grid-template-columns:205px minmax(0,1fr)}.content{padding:25px}.topbar{padding:0 25px}.workspace-columns{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-chip strong{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-hero:before{inset:0 40% 0 0}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;left:-260px;width:236px;transition:left .2s}.nav-open .sidebar{left:0}.nav-open .nav-overlay{display:block;position:fixed;inset:0;background:#111c3a80;z-index:25;border:0}.menu-button{display:inline-grid}.content{padding:23px 18px 35px}.topbar{height:65px;padding:0 18px;gap:10px}.breadcrumbs{gap:6px}.breadcrumbs>span{display:none}.topbar-actions{gap:10px}.account-chip{padding-left:10px}.account-chip>div:last-child{display:none}.topbar-home{display:none}.page-heading{align-items:flex-start}.page-heading h1{font-size:23px}.date-tag{display:none}.metric-grid{gap:10px}.metric-tile{padding:15px}.metric-number{font-size:27px}.metric-note{font-size:9px}.learning-banner{padding:23px;min-height:240px;background-position:55% center}.learning-banner:before{inset:0 30% 0 0;background:#e9edf8eb}.learning-banner h2{font-size:25px;max-width:210px}.learning-banner p{max-width:190px;font-size:12px}.learning-courses{gap:10px}.course-cover{height:85px;padding:15px}.course-cover b{font-size:26px}.course-body{padding:14px}.course-body h3{font-size:14px}.quick-actions{gap:6px}.quick-action{flex-direction:column;align-items:flex-start;font-size:11px;padding:14px 8px}.week-chart{gap:8px}.week-column span{font-size:9px}.public-nav{padding:18px 20px}.public-links>a{display:none}.public-hero{min-height:520px;height:72vh;background-position:58% center}.public-hero:before{inset:0 25% 0 0;background:#e9edf5da}.hero-inner{padding:36px 22px}.hero-inner h1{font-size:50px}.hero-inner p{font-size:14px;max-width:240px}.hero-inner .hero-phrase{font-size:23px;max-width:230px}.public-section{padding:46px 22px}.public-section h2{font-size:28px}.public-benefits{padding:22px;grid-template-columns:1fr 1fr;gap:22px 12px}.public-benefits div{font-size:11px}.program-grid,.learning-steps{grid-template-columns:1fr}.login-page{display:block}.login-scene{display:none}.login-form-wrap{margin:auto;padding:50px 28px}.card-body{padding:18px}.modal-body{padding:18px}.table td{padding:14px}.public-footer{padding:24px 22px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.performance-table th{font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:600;white-space:nowrap}.performance-table td{font-size:13px}.accuracy-meter{display:inline-block;vertical-align:middle;width:110px;height:8px;border-radius:999px;background:#e4e9f4;overflow:hidden;margin-right:8px}.accuracy-meter div{height:100%;border-radius:999px}.accuracy-meter .good{background:#15803d}.accuracy-meter .fair{background:#b18a29}.accuracy-meter .low{background:#cf6e55}
