
:root{
  --bg:#f5f7ff;--card:#fff;--text:#182036;--muted:#6d7487;--line:#e7eaf4;
  --blue:#5b6cff;--blue2:#7787ff;--purple:#8b5cf6;--orange:#ff9f43;--green:#25b779;
  --shadow:0 12px 34px rgba(70,82,140,.10);--radius:22px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text)}
a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}textarea{resize:vertical}.muted{color:var(--muted)}
.app-shell{display:flex;min-height:100vh}.sidebar{width:252px;background:#fff;border-right:1px solid var(--line);padding:24px 18px;position:fixed;left:0;top:0;bottom:0;z-index:30}
.logo-wrap{display:flex;align-items:center;gap:12px;padding:0 8px 22px}.logo-badge,.logo-large{display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff;font-weight:900;box-shadow:0 9px 22px rgba(91,108,255,.3)}
.logo-badge{width:44px;height:44px;border-radius:14px}.logo-large{width:72px;height:72px;border-radius:22px;font-size:26px}.logo-wrap b{font-size:18px}.logo-wrap small{display:block;color:var(--muted);margin-top:2px}
.sidebar nav{display:grid;gap:8px}.nav-item{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:14px;color:#525a70;font-weight:650}.nav-item span{width:26px;text-align:center;font-size:20px}.nav-item:hover{background:#f3f5ff}.nav-item.active{background:linear-gradient(135deg,#eef0ff,#f2ebff);color:#4f5ee8}
.side-help{position:absolute;bottom:22px;left:18px;right:18px;background:#fff7e9;border:1px solid #ffe1ad;border-radius:18px;padding:14px}.side-help span{font-size:24px}.side-help b{display:block;margin:5px 0}.side-help p{font-size:12px;color:#77664a;line-height:1.45;margin:0}
.main-area{margin-left:252px;width:calc(100% - 252px);min-height:100vh;display:flex;flex-direction:column}.topbar{height:78px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;position:sticky;top:0;z-index:20}.top-title{flex:1}.top-title h2{font-size:18px;margin:0}.top-title small{color:var(--muted)}
.top-actions{display:flex;align-items:center;gap:14px}.notify{font-size:21px;position:relative}.notify span{position:absolute;top:-8px;right:-10px;background:#ff4d6d;color:#fff;width:18px;height:18px;border-radius:50%;font-size:10px;display:grid;place-items:center}.user-chip{display:flex;align-items:center;gap:9px}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ffd166,#ff8f70);font-weight:800}.avatar.huge{width:86px;height:86px;font-size:30px;margin:auto}.user-chip b{font-size:13px;display:block}.user-chip small{color:var(--muted)}.logout{font-size:22px;color:#7a8090}.content{padding:28px;max-width:1480px;width:100%;margin:0 auto;flex:1}.footer{text-align:center;color:#9aa0b1;font-size:12px;padding:16px}
.mobile-only{display:none}.icon-btn{border:0;background:transparent;font-size:24px}
.welcome-banner{background:linear-gradient(135deg,#6274ff,#8e66f4);color:#fff;border-radius:28px;padding:30px 34px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow);margin-bottom:24px;overflow:hidden;position:relative}.welcome-banner.student{background:linear-gradient(135deg,#426df2,#6e8efb)}.welcome-banner:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.10);right:-40px;top:-70px}.welcome-banner h1{font-size:34px;margin:5px 0 7px}.welcome-banner p{margin:0;color:#eef0ff}.eyebrow,.kicker{font-size:11px;font-weight:850;letter-spacing:.14em}.eyebrow{color:#e8ebff}.kicker{color:#7b84a1}.banner-art{font-size:60px;z-index:2}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat{background:#fff;border-radius:20px;padding:18px 20px;display:flex;align-items:center;gap:14px;border:1px solid var(--line);box-shadow:0 8px 20px rgba(70,82,140,.05)}.stat>span{font-size:28px}.stat b{font-size:24px;display:block}.stat small{color:var(--muted)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 8px 25px rgba(70,82,140,.055)}.card-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.card-head h2,.card-head h3{margin:3px 0 0}.hint{font-size:12px;color:var(--muted);background:#f6f7fb;padding:8px 12px;border-radius:12px}
.btn{border:0;border-radius:12px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:750;cursor:pointer;font-size:13px}.btn.primary{background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff}.btn.soft{background:#eef0ff;color:#5261dc}.btn.ghost{background:#f6f7fb;color:#5d657b}.btn.success{background:#e5f8ef;color:#168a5a}.btn.full{width:100%}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project-card{border:1px solid var(--line);border-radius:20px;padding:18px;transition:.2s}.project-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.project-icon{width:48px;height:48px;border-radius:15px;background:#eef0ff;display:grid;place-items:center;font-size:24px}.project-card h3{margin:14px 0 8px}.project-card p{color:var(--muted);font-size:13px;min-height:38px}.mini-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.progress{height:8px;border-radius:999px;background:#edf0f7;overflow:hidden;margin-top:9px}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--purple));border-radius:inherit}.progress.large{height:12px;margin:18px 0}
.student-dashboard,.grid-main,.resource-layout,.teacher-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:20px}.stack{display:grid;gap:18px;align-content:start}.quick-card{background:linear-gradient(180deg,#ffffff,#f6f4ff)}.stepper{display:grid;gap:10px;margin-top:20px}.step{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:16px}.step .dot{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#f1f3f8;font-weight:850}.step.done .dot{background:#dff7ea;color:#15885a}.step.in_progress{border-color:#bec5ff;background:#f8f8ff}.step.in_progress .dot{background:#e9ebff;color:#5563df}.step b{margin-right:10px}.score-pill{background:#eef0ff;color:#5463e0;padding:8px 12px;border-radius:14px;font-weight:850}
.resource-mini,.resource-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.resource-mini span,.resource-icon{font-size:24px}.resource-mini small,.resource-row small{display:block;color:var(--muted);margin-top:4px}
.project-hero{background:linear-gradient(135deg,#fff,#f2f0ff);border:1px solid #dedfff;border-radius:26px;padding:26px 28px;display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.project-hero h1{margin:5px 0 8px}.project-hero p{margin:0;color:var(--muted);max-width:760px}.project-hero .eyebrow{color:#6671d7}.progress-ring{--p:0;width:98px;height:98px;border-radius:50%;background:conic-gradient(var(--blue) calc(var(--p)*1%),#e8eaf5 0);display:grid;place-items:center;position:relative}.progress-ring:before{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}.progress-ring b,.progress-ring small{z-index:2;position:absolute}.progress-ring b{font-size:22px;top:27px}.progress-ring small{font-size:10px;top:54px;color:var(--muted)}
.module-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:10px;margin-bottom:16px}.module-tabs a{white-space:nowrap;padding:10px 12px;border-radius:13px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:700}.module-tabs a.active{background:#e9ecff;border-color:#cfd5ff;color:#5060dc}.module-tabs span{margin-right:6px}
.module-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.module-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px}.module-card:hover{box-shadow:var(--shadow)}.module-no{font-size:12px;color:#9ba1b2;font-weight:800}.module-card h3{margin:10px 0}
.badge{font-size:10px;font-weight:800;padding:5px 8px;border-radius:999px;display:inline-block}.badge.done{background:#def7e9;color:#18875a}.badge.progress{background:#fff1d7;color:#a76400}.badge.muted{background:#f0f2f6;color:#858b9b}
.form-stack{display:grid;gap:16px}.form-stack.compact{gap:12px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{font-size:13px;font-weight:700;color:#4c556d}input,textarea,select{width:100%;border:1px solid #dfe3ef;border-radius:13px;padding:11px 12px;margin-top:7px;background:#fff;color:var(--text);outline:none}input:focus,textarea:focus,select:focus{border-color:#9ca7ff;box-shadow:0 0 0 3px #eef0ff}.form-actions{display:flex;justify-content:flex-end;gap:10px}
.upload-form{display:grid;grid-template-columns:1fr 1.2fr 1.1fr auto;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.file-list{display:grid;gap:8px}.file-row{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:14px}.file-icon{font-size:24px}.grow{flex:1}.file-row small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.empty{padding:28px;text-align:center;color:#8a91a4;background:#f8f9fc;border:1px dashed #dfe3ee;border-radius:16px}.empty.big{margin-top:40px;padding:60px}
.timeline-card,.interview-card,.prototype-card{border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:14px}.timeline-head{display:flex;align-items:center;gap:10px}.timeline-head small{display:block;color:var(--muted);margin-top:3px}.ai-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#ece9ff;color:#6d4be0;font-weight:900}.timeline-grid,.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.timeline-grid>div,.answer-grid>div{background:#f8f9fc;border-radius:14px;padding:12px}.timeline-grid span{font-size:10px;color:#8d93a6;font-weight:850;letter-spacing:.08em}.timeline-grid p,.answer-grid p{font-size:12.5px;line-height:1.5;margin:5px 0 0}.sticky{position:sticky;top:98px}.num-badge,.version{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 10px;border-radius:12px;background:#e9ecff;color:#5362dc;font-weight:850}.interview-card{display:flex;gap:14px}.interview-card h3{margin:0}.interview-card small{color:var(--muted)}.prototype-card h3{margin:12px 0 7px}.prototype-card p{color:#555e73}
.canvas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.canvas-box{background:#fafbfe;border:1px solid var(--line);border-radius:16px;padding:12px}.canvas-box:nth-child(3){background:#f5f1ff}.canvas-box textarea{background:transparent;border:0;padding:8px 0 0;box-shadow:none}
.grade-card{margin-top:18px}.score-box{display:flex;align-items:baseline;gap:4px}.score-box strong{font-size:44px;color:#5968e6}.score-box span{color:var(--muted)}
.week-title{margin:22px 0 6px;color:#596274}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:13px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}th{color:#798095;font-size:11px}td small{display:block;color:var(--muted);margin-top:4px}.teacher-grid{grid-template-columns:minmax(0,2fr) minmax(300px,.8fr)}
.notice-row{display:flex;gap:12px;padding:14px;border-bottom:1px solid var(--line)}.notice-row.unread{background:#f7f7ff}.notice-row p{margin:5px 0;color:#5f677b}.notice-row small{color:#9aa0b0}.profile-grid{display:grid;grid-template-columns:320px 1fr;gap:20px}.profile-card{text-align:center}.profile-meta{display:flex;justify-content:center;gap:8px}.profile-meta span{background:#f0f2f7;padding:7px 10px;border-radius:999px;font-size:12px}
.flash{padding:12px 15px;border-radius:14px;margin-bottom:16px;font-size:13px;font-weight:650}.flash.success{background:#e3f8ec;color:#167a52}.flash.error{background:#ffe7ec;color:#b2314c}
.auth-bg{min-height:100vh;background:radial-gradient(circle at 20% 20%,#eef0ff 0,#f8f8fd 38%,#fff 100%)}.auth-layout{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;max-width:1120px;margin:auto;padding:40px}.auth-intro{padding:40px}.auth-intro h1{font-size:58px;line-height:1.02;margin:20px 0}.auth-intro h1 em{font-style:normal;color:#5c6bf2}.auth-intro p{font-size:18px;line-height:1.6;color:#65708a;max-width:620px}.pill{display:inline-block;background:#eceeff;color:#5967e8;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.08em;margin-top:24px}.feature-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}.feature-chips span{background:#fff;border:1px solid var(--line);padding:10px 13px;border-radius:999px;font-size:13px}.auth-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:var(--shadow);max-width:440px;width:100%;margin:auto}.auth-card h1,.auth-card h2{margin-top:0}.auth-card form{display:grid;gap:14px}.demo-box{margin-top:20px;background:#f6f7fb;border-radius:15px;padding:13px;color:#626a7f;font-size:12px;line-height:1.6}
.viewer{background:#1f2430;color:#fff}.viewer header{height:64px;padding:0 18px;display:flex;align-items:center;gap:15px;background:#151923}.viewer header b{flex:1}.viewer main{height:calc(100vh - 64px);display:grid;place-items:center}.viewer iframe{width:100%;height:100%;border:0;background:#fff}.viewer img,.viewer video{max-width:96%;max-height:94%}.viewer audio{width:min(700px,90%)}
.portfolio-page{background:#eef0f5}.portfolio-top{max-width:900px;margin:20px auto;display:flex;justify-content:space-between}.portfolio{max-width:900px;margin:0 auto 50px;background:#fff;padding:50px 65px;box-shadow:var(--shadow)}.portfolio .cover{padding:90px 0 110px;border-bottom:4px solid #6573f1}.portfolio .cover h1{font-size:48px;margin:12px 0}.portfolio section{padding:28px 0;border-bottom:1px solid #ddd}.portfolio h2{color:#5362dc}.portfolio p{line-height:1.65;color:#3f475a}
@media print{body{background:#fff}.no-print{display:none}.portfolio{box-shadow:none;margin:0;max-width:none}}
@media(max-width:1100px){.project-grid{grid-template-columns:repeat(2,1fr)}.module-overview{grid-template-columns:repeat(3,1fr)}.canvas-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.sidebar{transform:translateX(-105%);transition:.2s}.sidebar.open{transform:none;box-shadow:0 0 35px rgba(0,0,0,.15)}.main-area{margin-left:0;width:100%}.mobile-only{display:block}.topbar{padding:0 16px}.content{padding:18px}.user-chip div:last-child{display:none}.student-dashboard,.grid-main,.resource-layout,.teacher-grid{grid-template-columns:1fr}.sticky{position:static}.module-overview{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:1fr 1fr}.auth-layout{grid-template-columns:1fr;padding:20px}.auth-intro{display:none}.upload-form{grid-template-columns:1fr}.profile-grid{grid-template-columns:1fr}.project-hero{align-items:flex-start}.project-hero .progress-ring{flex:0 0 90px}}
@media(max-width:600px){.top-title small{display:none}.content{padding:12px}.welcome-banner{padding:22px}.welcome-banner h1{font-size:26px}.banner-art{font-size:38px}.stats{grid-template-columns:1fr}.project-grid,.module-overview,.canvas-grid,.grid-2,.timeline-grid,.answer-grid{grid-template-columns:1fr}.card{padding:16px}.project-hero{padding:18px}.project-hero .progress-ring{display:none}.module-tabs{margin-left:-12px;margin-right:-12px;padding-left:12px}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.portfolio{padding:25px}.portfolio .cover h1{font-size:34px}}

/* ===== V2: Minh chứng học tập ===== */
.evidence-head{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#fff,#f2f0ff);border:1px solid #dedfff;border-radius:26px;padding:26px 28px;margin-bottom:18px}
.evidence-head h1{margin:5px 0 6px}.evidence-head p{margin:0;color:var(--muted)}
.evidence-stat{min-width:110px;height:90px;border-radius:22px;background:linear-gradient(135deg,#5b6cff,#8b5cf6);color:#fff;display:grid;place-items:center;align-content:center}
.evidence-stat b{font-size:30px;line-height:1}.evidence-stat small{margin-top:5px}
.filter-card,.submit-evidence{margin-bottom:18px}
.filter-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:12px;align-items:end}
.filter-actions{display:flex;gap:8px}
.submit-evidence{background:linear-gradient(180deg,#fff,#fbfaff)}
.evidence-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.upload-note{align-self:end;background:#fff7e9;border:1px solid #ffe1ad;padding:11px 12px;border-radius:13px;font-size:12px;color:#75664d}
.evidence-upload-grid>button{grid-column:1/-1;justify-self:start}
.evidence-list{display:grid;gap:10px}
.evidence-item{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:17px;padding:14px;transition:.15s}
.evidence-item:hover{border-color:#ccd2ff;background:#fcfcff}
.file-icon.big{width:48px;height:48px;border-radius:15px;background:#f1f3ff;display:grid;place-items:center;font-size:25px}
.evidence-title{font-weight:800;margin-bottom:5px}
.evidence-meta{display:flex;flex-wrap:wrap;gap:10px;color:#778096;font-size:11px}
.evidence-item small{display:block;color:#9aa0b0;margin-top:5px}
.evidence-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.btn.danger{background:#fff0f2;color:#bd3650}
.recent-submissions{margin-top:20px}
.recent-list{display:grid}
.recent-row{display:flex;align-items:center;gap:12px;padding:11px;border-bottom:1px solid var(--line)}
.recent-row:hover{background:#fafbff}
.recent-row small{display:block;color:var(--muted);margin-top:3px}
.recent-row>span{font-size:11px;color:#9ba1b1}
@media(max-width:900px){
  .filter-grid{grid-template-columns:1fr 1fr}
  .evidence-upload-grid{grid-template-columns:1fr}
  .evidence-upload-grid>button{grid-column:1}
  .evidence-item{flex-wrap:wrap}
  .evidence-actions{width:100%;justify-content:flex-start}
}
@media(max-width:600px){
  .filter-grid{grid-template-columns:1fr}
  .evidence-head{padding:20px}
  .evidence-stat{min-width:82px;height:72px}
  .evidence-stat b{font-size:24px}
  .evidence-actions .btn{flex:1}
  .recent-row>span{display:none}
}

/* V2.1 - sửa trạng thái bị cắt */
.step{display:flex!important;align-items:center;gap:12px;min-height:72px;overflow:visible}
.step>div:last-child{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}
.step b{margin:0!important;line-height:1.3;white-space:normal}
.badge{display:inline-flex!important;align-items:center;justify-content:center;line-height:1.2!important;min-height:24px;padding:5px 9px!important;white-space:nowrap;overflow:visible!important;vertical-align:middle}
.module-card{overflow:visible}.module-card .badge{margin-top:4px}
.module-tabs a{display:inline-flex;align-items:center;gap:4px}.module-tabs a span{margin-right:2px}

/* Chấm điểm */
.grading-head{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#fff,#f1efff);border:1px solid #dedfff;border-radius:26px;padding:26px 28px;margin-bottom:18px}
.grading-head h1{margin:5px 0 6px}.grading-head p{margin:0;color:var(--muted)}
.grade-total{width:100px;height:100px;border-radius:50%;background:#eef0ff;display:grid;place-items:center;align-content:center}.grade-total b{font-size:26px;color:#5664dc}.grade-total small{color:var(--muted)}
.grade-project-picker{max-width:560px}.grading-table{display:grid}.grading-row{display:grid;grid-template-columns:1.1fr .35fr .4fr 2fr;gap:12px;align-items:center;padding:12px;border-bottom:1px solid var(--line)}.grading-row-head{font-size:11px;font-weight:850;color:#7c8499;background:#fafbfe;border-radius:12px}.weight-pill{background:#eef0ff;color:#5362dc;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800}.score-input{max-width:90px;margin:0}.grading-row textarea{margin:0}
.student-grade-list{display:grid}.student-grade-row{display:grid;grid-template-columns:1fr 100px 2fr;gap:16px;align-items:center;padding:15px;border-bottom:1px solid var(--line)}.student-grade-row small{display:block;color:var(--muted);margin-top:4px}.student-score{font-size:23px;font-weight:900;color:#5766e2}.student-feedback{color:#566075;line-height:1.5}
@media(max-width:800px){.grading-row{grid-template-columns:1fr 90px}.grading-row-head{display:none}.grading-row>div:nth-child(4){grid-column:1/-1}.student-grade-row{grid-template-columns:1fr 70px}.student-feedback{grid-column:1/-1}}
@media(max-width:600px){.step>div:last-child{gap:7px}.badge{font-size:10px}}

/* V2.2 - Lớp & tài khoản */
.class-head{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#fff,#eef2ff);border:1px solid #dfe3ff;border-radius:26px;padding:26px 28px;margin-bottom:18px}
.class-head h1{margin:5px 0 6px}.class-head p{margin:0;color:var(--muted)}
.class-count{min-width:95px;height:80px;border-radius:20px;background:linear-gradient(135deg,#5b6cff,#8b5cf6);color:#fff;display:grid;place-items:center;align-content:center}.class-count b{font-size:28px}.class-count small{margin-top:3px}
.classes-layout{display:grid;grid-template-columns:330px 1fr;gap:20px}
.class-list{display:grid;gap:8px}.class-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:14px;padding:12px}.class-item:hover,.class-item.active{background:#f2f3ff;border-color:#cfd4ff}.class-item b,.class-item small{display:block}.class-item small{color:var(--muted);margin-top:3px}.class-item>span{font-size:11px;background:#eef0ff;padding:6px 8px;border-radius:999px;color:#5966d9}
.credential-box{background:#fff8e8;border:1px solid #ffd994;border-radius:20px;padding:16px 18px;margin-bottom:18px}.credential-box p{margin:4px 0 10px;color:#755f38;font-size:12px}.credential-grid{display:flex;gap:10px;flex-wrap:wrap}.credential-grid span{background:#fff;border:1px solid #f1dfb9;border-radius:12px;padding:9px 11px;font-size:12px}.credential-grid b{margin-left:4px}.temp-pass{font-size:15px;color:#b65f00}
.class-actions-tabs{display:flex;gap:8px;margin-bottom:14px}.class-actions-tabs a{font-size:12px;font-weight:750;background:#eef0ff;color:#5261dc;padding:8px 10px;border-radius:999px}
.row-actions{display:flex;gap:6px;flex-wrap:wrap}.row-actions form{margin:0}
.stats{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.classes-layout{grid-template-columns:1fr}.classes-layout>aside{grid-template-columns:1fr 1fr}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.classes-layout>aside{grid-template-columns:1fr}.credential-grid{display:grid}.stats{grid-template-columns:1fr 1fr}}

/* V2.3 - nhiều giảng viên */
.teacher-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px}.brand-orb{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#5b6cff,#8b5cf6);display:grid;place-items:center;color:#fff;font-size:24px;margin-bottom:18px}@media(max-width:900px){.teacher-admin-layout{grid-template-columns:1fr}}

.side-help{display:none!important}.teacher-grid{align-items:start}.content{min-height:auto}.main-area{min-height:100vh}.inline-form{display:inline-flex;gap:5px;align-items:center}
