:root {font-family:system-ui,"Segoe UI",Arial,sans-serif;color:#17213d;background:#f7faff}
* {box-sizing:border-box}
body {margin:0;min-width:0}
button,a {font:inherit}
a {color:inherit}
[hidden] {display:none!important}
.sd-header {background:#fff;border-bottom:1px solid #e0e9f7}
.sd-header-inner {max-width:1160px;margin:auto;min-height:68px;padding:12px 24px;display:flex;align-items:center;gap:34px}
.sd-brand {display:flex;align-items:center;gap:9px;min-width:135px;text-decoration:none}
.sd-brand strong,.sd-brand small {display:block}
.sd-brand strong {font-size:17px;line-height:1.1}
.sd-brand small {font-size:11px;color:#5f6f88}
.sd-nav {display:flex;flex:1;gap:24px}
.sd-nav a {text-decoration:none;color:#445674;font-size:14px;font-weight:600;white-space:nowrap}
.sd-nav a[aria-current] {color:#205ee4}
.sd-link {color:#205ee4;text-decoration:none;font-size:14px;font-weight:700;white-space:nowrap}
.sd-layout {max-width:1160px;margin:auto;padding:36px 24px 68px}
.sd-intro {display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}
.sd-intro h1,.sd-gate h1 {font-size:clamp(26px,4vw,38px);line-height:1.2;letter-spacing:-.025em;margin:8px 0}
.sd-intro p,.sd-gate p {color:#52647d;margin:0;line-height:1.5}
.sd-eyebrow {color:#205ee4;letter-spacing:.12em;font-size:12px;font-weight:800}
.sd-button {display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 17px;border-radius:11px;text-decoration:none;font-size:14px;font-weight:700;min-height:44px;white-space:nowrap}
.sd-button-primary {background:#205ee4;color:#fff}
.sd-button-outline {background:#fff;border:1px solid #cdddf4;color:#184dbd}
.sd-button:focus-visible,.sd-nav a:focus-visible,.sd-list a:focus-visible,.sd-classes a:focus-visible,button:focus-visible {outline:3px solid #ecaa20;outline-offset:3px}
.sd-grid {display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:34px}
.sd-section {margin-top:38px}
.sd-section-title {display:flex;align-items:center;gap:10px;margin-bottom:12px}
.sd-section-title h2,.sd-classes h2 {font-size:21px;margin:0}
.sd-count {font-size:12px;color:#2453a4;background:#e9f1ff;padding:3px 9px;border-radius:20px;font-weight:700}
.sd-list {display:grid;gap:11px}
.sd-card {background:#fff;border:1px solid #dce6f4;border-radius:15px;padding:17px 19px;box-shadow:0 2px 8px #12295a08;display:flex;align-items:center;justify-content:space-between;gap:15px}
.sd-card-main {min-width:0}
.sd-card h3 {font-size:17px;margin:6px 0 5px;line-height:1.35}
.sd-card p {font-size:13px;color:#52647d;margin:4px 0;line-height:1.45}
.sd-pill {font-size:12px;font-weight:700;color:#1953bf;background:#ecf3ff;border-radius:18px;padding:4px 9px;display:inline-block}
.sd-pill-done {color:#0d6d42;background:#e8f8ef}
.sd-pill-urgent {color:#956000;background:#fff4d9}
.sd-pill-pending {color:#855400;background:#fff1cf}
.sd-pill-expired {color:#69758a;background:#edf0f5}
.sd-card-action {color:#fff;background:#205ee4;text-decoration:none;border-radius:9px;padding:11px 13px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-size:13px;font-weight:700}
.sd-card-action-secondary {color:#2053af;background:#eef4ff}
.sd-classes {background:#fff;border:1px solid #dce6f4;border-radius:15px;padding:20px;align-self:start}
.sd-class {padding:17px 0;border-bottom:1px solid #e6edf7}
.sd-class h3 {font-size:16px;margin:0 0 5px}
.sd-class p {font-size:13px;color:#52647d;line-height:1.5;margin:0 0 8px}
.sd-class a,.sd-class-join {font-size:13px;font-weight:700;text-decoration:none;color:#205ee4}
.sd-class-join {display:block;margin-top:19px}
.sd-empty {color:#52647d;background:#fff;border:1px dashed #c8d6eb;border-radius:14px;padding:20px;line-height:1.5}
.sd-gate {max-width:570px;margin:70px auto;padding:30px;border:1px solid #dce6f4;border-radius:18px;background:#fff;text-align:center}
.sd-gate .sd-button {margin-top:23px}
.sd-notice {display:flex;align-items:center;justify-content:space-between;gap:15px;color:#6e4e02;background:#fff4d9;border:1px solid #f4d887;padding:14px 16px;border-radius:12px;margin-bottom:23px;line-height:1.45}
.sd-notice button {border:0;background:#fff;padding:9px 14px;color:#6e4e02;border-radius:8px;font-weight:700;white-space:nowrap;min-height:40px;cursor:pointer}
.sd-footnote {font-size:12px;color:#5b6f86;margin:36px 0 0;line-height:1.5}
@media(max-width:800px){.sd-grid {grid-template-columns:1fr}.sd-nav {display:none}}
@media(max-width:560px){.sd-header-inner {padding:10px 16px;justify-content:space-between;gap:8px}.sd-layout {padding:27px 16px 48px}.sd-intro {align-items:flex-start;flex-direction:column}.sd-card {align-items:flex-start;flex-direction:column}.sd-card-action {width:100%}.sd-notice {align-items:flex-start;flex-direction:column}.sd-link {display:none}.sd-gate {margin:30px auto;padding:25px 18px}}
@media(max-width:340px){.sd-brand {min-width:0}.sd-brand strong {font-size:15px}.sd-link {white-space:normal;text-align:right;max-width:105px}}

/* Student dashboard shell: visual contract based on the signed-in proposal. */
body{background:linear-gradient(180deg,#fff 0,#f7fbff 72%,#fff 100%);color:#0b2455}
.sd-header{position:relative;z-index:2}
.sd-header-inner{max-width:1280px;min-height:78px;padding:10px 28px;gap:48px}
.sd-brand{min-width:152px}.sd-brand img{display:block;width:42px;height:42px}.sd-brand>span{display:grid}.sd-brand strong{font-size:22px;color:#087950;letter-spacing:-.04em}.sd-brand strong b{color:#174ba6}.sd-brand small{font-size:9px;color:#607391}
.sd-nav{align-self:stretch;justify-content:center;gap:46px}.sd-nav a{position:relative;display:flex;align-items:center;font-size:16px}.sd-nav a[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:3px;border-radius:3px;background:#1769f3}
.sd-account{display:flex;align-items:center;gap:11px;min-width:max-content}.sd-avatar{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;color:#fff;background:linear-gradient(145deg,#16a664,#087a49);font-weight:800}.sd-account-copy{display:grid;color:#17315f}.sd-account-copy small{font-size:11px;color:#637593}.sd-account-copy strong{font-size:14px}
.sd-hero{min-height:286px;background:linear-gradient(90deg,rgba(245,252,255,.98) 0%,rgba(246,252,255,.94) 34%,rgba(246,252,255,.08) 57%),url('/assets/student/hero-v1.webp') center/cover no-repeat;border-bottom:1px solid #dbeafd}
.sd-intro{display:block;max-width:1280px;margin:auto;padding:38px 28px 24px}.sd-intro h1{font-size:clamp(31px,4vw,48px);line-height:1.05;letter-spacing:-.035em;margin:9px 0;color:#09265b}.sd-intro p{max-width:510px;font-size:17px}.sd-quick-actions{display:grid;grid-template-columns:minmax(220px,380px) minmax(220px,380px);gap:14px;margin-top:25px}.sd-quick-actions>a,.sd-quick-disabled{min-height:76px;display:flex;align-items:center;gap:14px;padding:13px 16px;border:1px solid #cae3fa;border-radius:17px;background:rgba(255,255,255,.92);box-shadow:0 8px 22px #316aa80b;text-decoration:none}.sd-quick-actions>a{border-color:#bfead1}.sd-quick-actions span>span:not(.sd-quick-icon),.sd-quick-actions a>span:not(.sd-quick-icon){display:grid;flex:1}.sd-quick-actions strong{font-size:17px}.sd-quick-actions small{color:#66799a;font-size:12px}.sd-quick-actions b{font-size:25px;color:#15965c}.sd-quick-icon{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:50%;color:#fff;font-size:12px;font-weight:900;letter-spacing:-3px}.sd-quick-green{background:linear-gradient(145deg,#2bd57d,#0d9a59)}.sd-quick-blue{background:linear-gradient(145deg,#4b91ff,#1e62e8);font-size:26px;letter-spacing:0}.sd-quick-disabled{opacity:.82}
.sd-layout{max-width:1280px;padding:28px 28px 62px}.sd-grid{grid-template-columns:minmax(0,1.6fr) minmax(300px,.9fr);gap:20px}.sd-panel,.sd-classes{background:#fff;border:1px solid #dce8f8;border-radius:20px;padding:20px;box-shadow:0 8px 28px #263b5b08}.sd-section{margin-top:20px}.sd-section-title h2,.sd-classes h2,.sd-suggestion h2{font-size:23px;letter-spacing:-.02em}.sd-section-title{gap:11px;margin-bottom:16px}.sd-title-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#fff;background:linear-gradient(145deg,#5798ff,#2168e9);font-weight:900}.sd-title-icon-green{background:linear-gradient(145deg,#47d995,#12a460)}.sd-title-icon-gray{background:#8794aa}.sd-today{margin-left:auto;color:#677995;font-size:12px}
.sd-card{background:#fbfdff;border-color:#dde8f7;padding:13px 15px}.sd-card-main{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}.sd-card-main .sd-pill{grid-row:1/4;width:48px;height:48px;border-radius:13px;display:grid;place-items:center;text-align:center;padding:5px}.sd-card h3{font-size:16px;margin:0}.sd-card p{font-size:12px;margin:2px 0}.sd-pill{font-size:9px;font-weight:900}.sd-card-action{border-radius:999px;padding:9px 13px;min-height:38px;font-size:12px}.sd-card-action:not(.sd-card-action-secondary){background:linear-gradient(135deg,#3b82f6,#1765e8)}
.sd-side-title{display:flex;align-items:center;gap:11px}.sd-bars{font-size:23px;color:#14ac69;font-weight:900}.sd-progress-summary{display:grid;grid-template-columns:145px 1fr;align-items:center;gap:12px;margin:20px 0 12px}.sd-progress-ring{--progress:0;display:grid;place-items:center;width:140px;height:140px;border-radius:50%;background:conic-gradient(#2bc781 calc(var(--progress)*1%),#e5edf7 0)}.sd-progress-ring::before{content:"";grid-area:1/1;width:108px;height:108px;border-radius:50%;background:#fff}.sd-progress-ring>div{grid-area:1/1;z-index:1;display:grid;text-align:center}.sd-progress-ring strong{font-size:29px;line-height:1}.sd-progress-ring span{font-size:11px;color:#607393;margin-top:6px}.sd-progress-summary p{color:#236bcf;font-size:13px;font-weight:700;line-height:1.55}.sd-class-list{display:grid;gap:5px}.sd-class{padding:12px 0}.sd-class-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.sd-class h3{font-size:14px;margin:0}.sd-class p{font-size:11px;margin:2px 0 7px}.sd-class a{font-size:11px}.sd-class-meter{height:7px;background:#e8eef6;border-radius:10px;overflow:hidden}.sd-class-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2ec985,#17aa64)}
.sd-suggestion{position:relative;overflow:hidden;display:flex;align-items:center;gap:17px;margin-top:20px;min-height:110px;padding:21px 25px;border:1px solid #ccebd9;border-radius:20px;background:linear-gradient(110deg,#edfff5,#f7fffa 64%,#e6f8ff)}.sd-suggestion::after{content:"";position:absolute;right:-30px;bottom:-80px;width:210px;height:210px;border-radius:50%;background:#bdf1d466}.sd-suggestion-icon{display:grid;place-items:center;flex:0 0 52px;height:52px;border-radius:50%;background:#c9f7db;color:#0b9856;font-size:27px}.sd-suggestion div{flex:1}.sd-suggestion h2{font-size:19px;margin:0}.sd-suggestion p{margin:4px 0 0;color:#586e8d;font-size:13px}.sd-suggestion a{position:relative;z-index:1;text-decoration:none;border:1px solid #9ee0ba;border-radius:12px;padding:11px 16px;color:#087e49;background:#f5fff9;font-size:13px;font-weight:800;white-space:nowrap}.sd-loader{display:block;width:34px;height:34px;margin:0 auto 18px;border:4px solid #dce8fa;border-top-color:#1768ee;border-radius:50%;animation:sd-spin .8s linear infinite}@keyframes sd-spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.sd-header-inner{gap:24px}.sd-nav{gap:22px}.sd-account-copy{display:none}.sd-hero{background-position:42% center}.sd-grid{grid-template-columns:1fr}.sd-classes{order:-1}.sd-progress-summary{grid-template-columns:120px 1fr}.sd-progress-ring{width:116px;height:116px}.sd-progress-ring::before{width:88px;height:88px}.sd-class-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}}
@media(max-width:650px){.sd-header-inner{min-height:64px;padding:8px 16px;gap:10px}.sd-brand{min-width:0}.sd-brand img{width:37px;height:37px}.sd-brand strong{font-size:18px}.sd-brand small{display:none}.sd-nav{display:none}.sd-account{margin-left:auto}.sd-avatar{width:38px;height:38px;font-size:12px}.sd-hero{min-height:auto;background:linear-gradient(180deg,rgba(244,251,255,.9),rgba(249,253,255,.96)),url('/assets/student/hero-v1.webp') center/cover no-repeat}.sd-intro{padding:29px 16px 20px}.sd-intro h1{font-size:34px}.sd-intro p{font-size:14px}.sd-quick-actions{grid-template-columns:1fr;margin-top:20px}.sd-quick-actions>a,.sd-quick-disabled{min-height:66px;padding:10px 12px}.sd-quick-icon{flex-basis:42px;height:42px}.sd-layout{padding:16px 12px 42px}.sd-panel,.sd-classes{border-radius:17px;padding:15px}.sd-section-title h2,.sd-classes h2{font-size:20px}.sd-section-title{flex-wrap:wrap}.sd-today{order:4;width:100%;margin:0 0 -4px 45px}.sd-card{align-items:stretch;flex-direction:column}.sd-card-action{width:100%}.sd-progress-summary{grid-template-columns:105px 1fr}.sd-progress-ring{width:100px;height:100px}.sd-progress-ring::before{width:76px;height:76px}.sd-progress-ring strong{font-size:23px}.sd-class-list{grid-template-columns:1fr}.sd-suggestion{align-items:flex-start;padding:18px;flex-wrap:wrap}.sd-suggestion a{width:100%;text-align:center}.sd-suggestion::after{display:none}}
@media(max-width:340px){.sd-brand img{width:34px;height:34px}.sd-brand strong{font-size:16px}.sd-account{gap:6px}.sd-avatar{width:34px;height:34px}.sd-layout{padding-left:10px;padding-right:10px}.sd-panel,.sd-classes{padding:13px}.sd-progress-summary{grid-template-columns:88px 1fr;gap:9px}.sd-progress-ring{width:84px;height:84px}.sd-progress-ring::before{width:64px;height:64px}.sd-progress-ring strong{font-size:19px}.sd-progress-summary p{font-size:11px}}

/* Clarity pass v2 — tăng phân cấp và điểm hành động theo dashboard tham chiếu. */
:root{--sd-navy:#06275e;--sd-blue:#216af2;--sd-green:#0aad68;--sd-soft:#f6faff;--sd-line:#d9e7f7}
body{background:#f8fbff;color:var(--sd-navy)}
.sd-header{border-bottom-color:#dfe9f5;box-shadow:0 4px 18px rgba(26,68,126,.045)}
.sd-header-inner{min-height:84px;max-width:1360px;padding-inline:38px}
.sd-brand{min-width:190px}.sd-brand img{width:48px;height:48px}.sd-brand strong{font-size:25px}.sd-brand small{font-size:10px;margin-top:3px}
.sd-nav{gap:64px}.sd-nav a{font-size:16px;font-weight:700;color:#294570}.sd-nav a[aria-current]{color:#1765e8}.sd-nav a[aria-current]::after{bottom:-13px;height:4px}
.sd-account{padding-left:22px;border-left:1px solid #d7e2ef}.sd-avatar{width:48px;height:48px;font-size:15px}.sd-account-copy small{font-size:12px}.sd-account-copy strong{font-size:15px}
.sd-hero{position:relative;min-height:330px;overflow:hidden;background-image:linear-gradient(90deg,rgba(245,252,255,.98) 0%,rgba(245,252,255,.91) 39%,rgba(245,252,255,.2) 58%,rgba(245,252,255,0) 74%),url('/assets/student/dashboard-hero-v2.webp');background-position:center;background-size:cover}
.sd-hero::after{content:"";position:absolute;z-index:0;left:-4%;right:-4%;bottom:-52px;height:82px;border-radius:50% 50% 0 0/45% 45% 0 0;background:#f8fbff}
.sd-intro{position:relative;z-index:1;max-width:1360px;padding:42px 38px 38px}.sd-eyebrow{font-size:12px;letter-spacing:.14em}.sd-intro h1{max-width:610px;margin:12px 0 8px;font-size:clamp(44px,5vw,64px);font-weight:850;letter-spacing:-.055em}.sd-intro p{max-width:610px;color:#4f668c;font-size:19px;font-weight:500}.sd-hero-note{position:absolute;left:53%;top:42px;color:#1670ec;font:700 17px/1.35 "Segoe Print","Comic Sans MS",cursive;transform:rotate(-7deg)}
.sd-quick-actions{grid-template-columns:minmax(260px,410px) minmax(260px,410px);gap:18px;margin-top:26px}.sd-quick-actions>a,.sd-quick-disabled{min-height:84px;padding:14px 19px;border-width:1.5px;border-radius:17px;box-shadow:0 12px 30px rgba(22,79,143,.08)}.sd-quick-actions>a:hover{transform:translateY(-2px);box-shadow:0 15px 32px rgba(18,90,145,.13)}.sd-quick-actions strong{font-size:18px}.sd-quick-actions small{margin-top:3px;font-size:13px}.sd-quick-icon{flex-basis:54px;height:54px}.sd-quick-disabled{opacity:.94;background:rgba(248,251,255,.94)}
.sd-layout{max-width:1360px;padding:8px 38px 66px}.sd-grid{grid-template-columns:minmax(0,1.62fr) minmax(350px,.9fr);gap:22px}.sd-panel,.sd-classes{border-color:#d6e5f7;border-radius:22px;padding:24px;box-shadow:0 12px 34px rgba(33,71,121,.07)}.sd-section-title{min-height:40px;margin-bottom:18px}.sd-section-title h2,.sd-classes h2{font-size:27px;font-weight:850;letter-spacing:-.035em}.sd-title-icon{width:40px;height:40px;border-radius:11px;font-size:19px}.sd-today{font-size:13px}.sd-count{min-width:28px;text-align:center;font-size:13px}
.sd-list{gap:12px}.sd-card{min-height:84px;padding:13px 15px;border-color:#d9e5f5;border-radius:15px;background:#fff;box-shadow:0 3px 12px rgba(24,63,116,.035)}.sd-card-main{column-gap:15px}.sd-card-main .sd-pill{width:56px;height:56px;border-radius:15px}.sd-card h3{color:#0b2a60;font-size:17px;font-weight:800}.sd-card p{color:#5c7091;font-size:13px}.sd-pill{font-size:10px;line-height:1.2}.sd-pill-urgent{color:#c22b3a;background:#ffe8eb}.sd-pill-pending{color:#1768dc;background:#e8f2ff}.sd-pill-done{color:#087d4d;background:#e1f8eb}.sd-card-action{min-height:42px;padding:10px 16px;font-size:13px;font-weight:800}.sd-primary-task{min-height:58px;margin-top:16px;padding:14px 20px;display:grid;grid-template-columns:26px 1fr 26px;align-items:center;gap:10px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#3985ff,#2267ec);box-shadow:0 12px 25px rgba(33,105,239,.22);text-decoration:none;text-align:center}.sd-primary-task[hidden]{display:none}.sd-primary-task span{font-size:20px}.sd-primary-task strong{font-size:17px}.sd-primary-task b{font-size:24px}.sd-primary-task:hover{filter:brightness(.97);transform:translateY(-1px)}
.sd-classes{padding:25px}.sd-side-title{gap:13px}.sd-bars{font-size:28px}.sd-progress-summary{grid-template-columns:170px 1fr;gap:16px;margin:24px 0 18px}.sd-progress-ring{width:164px;height:164px;background:conic-gradient(#2ccb83 calc(var(--progress)*1%),#e5edf7 0)}.sd-progress-ring::before{width:125px;height:125px}.sd-progress-ring strong{font-size:34px}.sd-progress-ring span{font-size:12px}.sd-progress-summary p{font-size:14px;line-height:1.6}.sd-class{padding:14px 0}.sd-class h3{font-size:15px}.sd-class p,.sd-class a{font-size:12px}.sd-class-meter{height:8px}
.sd-suggestion{min-height:126px;margin-top:22px;padding:24px 28px;border-radius:22px;background:linear-gradient(105deg,#effff6 0,#f8fffb 62%,#e9f9f2 100%);box-shadow:0 8px 24px rgba(35,111,75,.045)}.sd-suggestion-icon{flex-basis:60px;height:60px;font-size:30px}.sd-suggestion h2{font-size:22px}.sd-suggestion p{font-size:14px}.sd-suggestion a{min-height:48px;display:grid;place-items:center;padding-inline:20px;font-size:14px}.sd-footnote{margin-top:30px;text-align:center}
@media(max-width:1050px){.sd-header-inner{padding-inline:24px}.sd-nav{gap:30px}.sd-hero{background-position:58% center}.sd-intro{padding-inline:25px}.sd-hero-note{display:none}.sd-layout{padding-inline:24px}.sd-grid{grid-template-columns:minmax(0,1.45fr) minmax(310px,.9fr)}.sd-progress-summary{grid-template-columns:135px 1fr}.sd-progress-ring{width:130px;height:130px}.sd-progress-ring::before{width:99px;height:99px}}
@media(max-width:900px){.sd-hero{background-position:68% center}.sd-grid{grid-template-columns:1fr}.sd-classes{order:0}.sd-class-list{grid-template-columns:repeat(2,minmax(0,1fr))}.sd-progress-summary{grid-template-columns:145px 1fr}.sd-progress-ring{width:140px;height:140px}.sd-progress-ring::before{width:106px;height:106px}}
@media(max-width:650px){.sd-header-inner{padding-inline:15px}.sd-brand{min-width:0}.sd-account{border:0;padding:0}.sd-hero{min-height:auto;background-image:linear-gradient(180deg,rgba(245,252,255,.9),rgba(248,252,255,.97)),url('/assets/student/dashboard-hero-v2.webp');background-position:70% center}.sd-hero::after{display:none}.sd-intro{padding:31px 16px 24px}.sd-intro h1{font-size:40px}.sd-intro p{font-size:15px}.sd-quick-actions{grid-template-columns:1fr;gap:11px}.sd-quick-actions>a,.sd-quick-disabled{min-height:72px}.sd-layout{padding:16px 12px 44px}.sd-panel,.sd-classes{padding:17px;border-radius:18px}.sd-section-title h2,.sd-classes h2{font-size:22px}.sd-card{min-height:0}.sd-card-main .sd-pill{width:48px;height:48px}.sd-primary-task{min-height:54px}.sd-progress-summary{grid-template-columns:112px 1fr}.sd-progress-ring{width:108px;height:108px}.sd-progress-ring::before{width:82px;height:82px}.sd-progress-ring strong{font-size:24px}.sd-class-list{grid-template-columns:1fr}.sd-suggestion{padding:19px}.sd-suggestion-icon{flex-basis:52px;height:52px}.sd-suggestion h2{font-size:19px}}
.sd-quick-actions>a.sd-quick-study{border-color:#c9ddff;background:rgba(248,251,255,.94)}.sd-quick-actions>a.sd-quick-study b{color:#1768eb}
/* Thẻ thư viện chỉ hiện khi menu trên đầu bị ẩn (từ 800px trở xuống); màn lớn vào bằng menu và giữ lưới 2 cột. */
.sd-quick-actions>a.sd-quick-library{display:none}
/* Menu có 4 mục: màn vừa thu khoảng cách và cắt tên dài, để đầu trang không tràn ngang. */
@media(max-width:1280px){.sd-nav{gap:32px}.sd-account-copy{min-width:0;max-width:140px}.sd-account-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:1050px){.sd-nav{gap:20px}.sd-account-copy{display:none}}
@media(max-width:800px){.sd-quick-actions>a.sd-quick-library{display:flex;grid-column:1/-1}}
/* Dòng đang tải trong từng ô, trong lúc khung trang đã hiện. */
.sd-loading-row{display:flex;align-items:center;gap:10px;margin:0;padding:14px 4px;color:#607493;font-size:14px}
.sd-loading-row::before{content:"";flex:none;width:16px;height:16px;border-radius:50%;border:2px solid #d9e7f7;border-top-color:#216af2;animation:sd-row-spin .9s linear infinite}
@keyframes sd-row-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.sd-loading-row::before{animation-duration:2.4s}}

/* Gia sư AI (student/gia-su/student-entry.js) */
.gs-entry-scope{margin:16px auto 0;width:min(1180px,calc(100% - 32px))}.gs-entry{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:18px 20px;border:1px solid #cfe3ff;border-radius:18px;background:linear-gradient(135deg,#eef6ff,#fff)}.gs-entry h2{margin:0 0 4px;font-size:18px}.gs-entry p{margin:0;color:#4d6385;font-size:14px}.gs-entry-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#3682ff,#2165e8);font-weight:800;text-decoration:none}
/* PB-F53: lớp đã kết thúc năm học (giáo viên lưu trữ) — xếp sau lớp đang học, kèm nhãn. */
.sd-class-archived h3 { color:#52647d; }
.sd-class-archived-note { display:inline-block; margin:2px 0 6px; padding:2px 8px; border-radius:999px; background:#eef1f6; color:#4a5a72 !important; font-size:11px; font-weight:600; }
