:root{
  --sidebar:#084e96;
  --sidebar-hover:#115fae;
  --sidebar-active:#1f7ed8;
  --sidebar-w:250px;
  --sidebar-collapsed:82px;
  --primary:#1976d2;
  --primary-dark:#0f4e96;
  --primary-soft:#eaf4ff;
  --page:#f5f9fd;
  --surface:#fff;
  --border:#d7e4f1;
  --border-soft:#eaf0f6;
  --text:#173f70;
  --muted:#6b8198;
  --success:#1fa765;
  --success-soft:#e9f8f0;
  --warning:#d9940b;
  --warning-soft:#fff7e3;
  --danger:#df4b57;
  --danger-soft:#fff0f2;
  --purple:#7554ca;
  --purple-soft:#f5f0ff;
  --shadow:0 5px 18px rgba(25,72,110,.055);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:"Segoe UI",Arial,sans-serif;background:var(--page);color:var(--text)}
body{font-size:14px}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%}
.teacher-shell{display:flex;min-height:100vh}
.teacher-sidebar{
  width:var(--sidebar-w);height:100vh;position:fixed;left:0;top:0;bottom:0;z-index:70;
  background:var(--sidebar);color:#fff;display:flex;flex-direction:column;overflow:visible;
  transition:width .2s ease;box-shadow:none
}
.teacher-brand{height:80px;flex:0 0 80px;display:flex;align-items:center;gap:11px;padding:0 42px 0 16px;border-bottom:1px solid rgba(255,255,255,.12);position:relative}
.teacher-brand-logo{width:40px;height:40px;flex:0 0 40px}.teacher-brand-logo svg{width:100%;height:100%;display:block}
.teacher-brand-title{font-size:14px;font-weight:900;line-height:1.08;letter-spacing:.015em;white-space:nowrap}.teacher-brand-title span{display:block}.teacher-brand-title span+span{margin-top:3px}
.teacher-collapse{position:absolute;right:-17px;top:23px;width:34px;height:34px;border-radius:50%;border:1px solid #b9d2e5;background:#fff;color:#0b5eae;display:flex;align-items:center;justify-content:center;padding:8px;z-index:999;box-shadow:0 3px 10px rgba(25,74,115,.14)}
.teacher-collapse:hover{background:#f3f9fe;border-color:#8fbad9}.teacher-collapse svg{width:16px;height:16px;transition:transform .2s ease}
.teacher-nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:10px 10px 8px;scrollbar-width:thin}
.teacher-nav-item,.teacher-nav-group,.teacher-nav-sub{border:0;color:#fff;background:transparent;display:flex;align-items:center;width:100%;text-align:left;border-radius:8px;font-weight:700}
.teacher-nav-item,.teacher-nav-group{min-height:42px;padding:0 12px;gap:10px;font-size:13px;margin:1px 0}
.teacher-nav-sub{min-height:32px;padding:0 12px 0 44px;font-size:12px;margin:1px 0;color:#dcecff}
.teacher-nav-item:hover,.teacher-nav-group:hover,.teacher-nav-sub:hover{background:var(--sidebar-hover)}
.teacher-nav-item.active,.teacher-nav-sub.active{background:var(--sidebar-active);color:#fff}
.nav-icon{width:22px;flex:0 0 22px;text-align:center;font-size:18px;line-height:1}.nav-text{min-width:0;white-space:nowrap}.nav-chevron{margin-left:auto;font-size:10px;transition:transform .18s}.teacher-nav-group.open .nav-chevron{transform:rotate(90deg)}
.teacher-submenu{display:none}.teacher-submenu.open{display:block}
.teacher-sidebar-footer{flex:0 0 auto;padding:12px 14px 14px;border-top:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.035)}
.teacher-mini-profile{display:flex;align-items:center;gap:9px;margin-bottom:10px}.teacher-mini-avatar,.topbar-avatar{border-radius:50%;background:#eaf4ff;color:#1266b5;font-weight:900;display:grid;place-items:center}.teacher-mini-avatar{width:38px;height:38px;flex:0 0 38px}.teacher-mini-copy{min-width:0}.teacher-mini-copy strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-mini-copy span{display:block;color:#c7dcf0;font-size:10px;margin-top:2px}
.teacher-logout{height:42px;border:1px solid #ff727b;border-radius:8px;color:#ff8a91;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:800}.teacher-logout:hover{background:rgba(255,255,255,.07)}
.teacher-main{margin-left:var(--sidebar-w);width:calc(100% - var(--sidebar-w));min-height:100vh;transition:margin-left .2s ease,width .2s ease;background:var(--page)}
.teacher-topbar{height:66px;position:sticky;top:0;z-index:35;background:#fff;border-bottom:1px solid #e7eef6;display:flex;align-items:center;padding:0 22px;gap:14px}
.mobile-menu{display:none;width:38px;height:38px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--primary-dark);font-size:19px}
.topbar-page-title{display:flex;flex-direction:column;min-width:0}.topbar-page-title strong{font-size:17px;color:#0e467f}.topbar-page-title span{font-size:10.5px;color:var(--muted);margin-top:2px}.topbar-spacer{flex:1}
.teacher-bell{position:relative;width:40px;height:40px;border-radius:9px;display:grid;place-items:center;background:#fff;font-size:18px}.teacher-bell:hover{background:#f1f7fd}.teacher-bell span{position:absolute;right:0;top:0;min-width:17px;height:17px;padding:0 4px;border-radius:10px;background:#ef4c56;color:#fff;font-size:9px;font-weight:900;display:grid;place-items:center}
.topbar-profile{display:flex;align-items:center;gap:9px;padding:5px 6px;border-radius:10px}.topbar-profile:hover{background:#f6faff}.topbar-avatar{width:39px;height:39px;font-size:11px}.topbar-profile>div:nth-child(2){min-width:0}.topbar-profile strong{display:block;color:#0f407d;font-size:12px;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-profile span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.topbar-profile b{color:#1a6bbb;font-size:12px}
.teacher-content{padding:20px 22px 28px;max-width:1640px;margin:0 auto}
.sidebar-overlay{display:none}
body.teacher-sidebar-collapsed .teacher-sidebar{width:var(--sidebar-collapsed)}
body.teacher-sidebar-collapsed .teacher-main{margin-left:var(--sidebar-collapsed);width:calc(100% - var(--sidebar-collapsed))}
body.teacher-sidebar-collapsed .teacher-brand{justify-content:center;padding:0}
body.teacher-sidebar-collapsed .teacher-brand-title{display:none}
body.teacher-sidebar-collapsed .teacher-brand-logo{width:46px;height:46px;flex-basis:46px}
body.teacher-sidebar-collapsed .teacher-collapse svg{transform:rotate(180deg)}
body.teacher-sidebar-collapsed .teacher-nav{padding-left:10px;padding-right:10px}
body.teacher-sidebar-collapsed .teacher-nav-item,body.teacher-sidebar-collapsed .teacher-nav-group{justify-content:center;padding:0}
body.teacher-sidebar-collapsed .teacher-nav .nav-text,body.teacher-sidebar-collapsed .teacher-nav .nav-chevron,body.teacher-sidebar-collapsed .teacher-submenu{display:none!important}
body.teacher-sidebar-collapsed .teacher-mini-copy{display:none}body.teacher-sidebar-collapsed .teacher-mini-profile{justify-content:center}
body.teacher-sidebar-collapsed .teacher-logout .nav-text{display:none}body.teacher-sidebar-collapsed .teacher-logout{padding:0}
@media(min-width:901px){body.teacher-sidebar-collapsed .teacher-nav-item,body.teacher-sidebar-collapsed .teacher-nav-group{position:relative}body.teacher-sidebar-collapsed .teacher-nav-item:after,body.teacher-sidebar-collapsed .teacher-nav-group:after{content:attr(data-label);position:fixed;margin-left:138px;padding:7px 10px;border:1px solid #d3e1ec;border-radius:8px;background:#fff;color:#315d80;font-size:11px;font-weight:700;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;box-shadow:0 6px 18px rgba(31,73,107,.12);z-index:200}body.teacher-sidebar-collapsed .teacher-nav-item:hover:after,body.teacher-sidebar-collapsed .teacher-nav-group:hover:after{opacity:1;visibility:visible}}

/* General UI */
.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.page-heading h1{margin:0;color:#0c498c;font-size:25px}.page-heading p{margin:5px 0 0;color:var(--muted);font-size:12px}.page-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.card{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}
.card-header{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border-soft)}.card-header h2,.card-header h3{margin:0;color:#0c498c}.card-header h2{font-size:17px}.card-header h3{font-size:14px}.card-header p{margin:4px 0 0;color:var(--muted);font-size:10.5px}.card-header .spacer{flex:1}.card-body{padding:16px}
.btn{height:38px;padding:0 14px;border:1px solid transparent;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:800;white-space:nowrap}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:#126bc2}.btn-outline{background:#fff;border-color:#aacbe5;color:#1469bd}.btn-outline:hover{background:#f2f8fd}.btn-success{background:#18a75b;border-color:#18a75b;color:#fff}.btn-warning{background:#e9a41e;border-color:#e9a41e;color:#fff}.btn-danger{background:#fff;border-color:#efb8bd;color:#d94a55}.btn-danger:hover{background:#fff2f3}.btn-soft{background:#eef6fd;border-color:#d2e5f4;color:#1b6cae}.btn-sm{height:30px;padding:0 10px;font-size:10.5px;border-radius:7px}.btn-icon{width:34px;padding:0}
.alert{border-radius:9px;padding:11px 13px;margin-bottom:12px;font-size:12px;border:1px solid}.alert-success{background:#ecfaf3;border-color:#bce8cf;color:#157a4a}.alert-danger{background:#fff1f2;border-color:#f0c2c7;color:#b83c46}.alert-warning{background:#fff8e8;border-color:#eed59d;color:#9b6b0e}.alert-info{background:#eef7ff;border-color:#cfe4f5;color:#245e91}
.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800}.badge-success{background:var(--success-soft);color:#168a51}.badge-warning{background:var(--warning-soft);color:#a87008}.badge-muted{background:#eff3f6;color:#708398}.badge-purple{background:var(--purple-soft);color:#6748b7}.badge-blue{background:#e8f3ff;color:#126abb}

/* Dashboard */
.dashboard-welcome{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.dashboard-welcome h1{margin:0;color:#0c498c;font-size:26px}.dashboard-welcome p{margin:6px 0 0;color:#546c89;font-size:12px}.today-chip{height:46px;min-width:190px;padding:0 14px;border:1px solid #e1edf7;border-radius:10px;background:#f7fbff;display:flex;align-items:center;justify-content:center;gap:8px;color:#13437c;font-size:11px;font-weight:800}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.stat-card{min-height:92px;border:1px solid var(--border);border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:12px}.stat-card.blue{background:#f3f8ff}.stat-card.green{background:#ecfaf4}.stat-card.amber{background:#fff8e8}.stat-card.purple{background:#f7f0ff}.stat-icon{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;flex:0 0 44px;font-size:21px}.blue .stat-icon{background:#e5f1ff;color:#1976d2}.green .stat-icon{background:#dcf4e8;color:#20aa67}.amber .stat-icon{background:#ffefc7;color:#d99a13}.purple .stat-icon{background:#eadcff;color:#7554ca}.stat-copy{min-width:0}.stat-copy b{display:block;color:#195291;font-size:11.5px}.stat-copy strong{display:block;color:#0a376e;font-size:24px;line-height:1.1;margin:2px 0}.stat-copy small{display:block;color:#586f89;font-size:10px}.stat-arrow{margin-left:auto;color:#2378cd;font-size:24px;font-weight:900}
.quick-card{padding:10px 14px 12px;margin-bottom:14px}.quick-card h2{font-size:15px;margin:0 0 9px;color:#0c498c}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.quick-action{min-width:0;min-height:72px;border-radius:10px;border:1px solid var(--border);display:flex;align-items:center;gap:10px;padding:10px 38px 10px 14px;position:relative;overflow:hidden}.quick-action.green{background:#14aa55;color:#fff;border-color:#14aa55}.quick-action.white{background:#fff;color:#1469c8}.quick-action.purple{background:#7e3cdc;color:#fff;border-color:#7e3cdc}.quick-action.blue{background:#1976e1;color:#fff;border-color:#1976e1}.quick-action .qicon{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;font-size:23px}.quick-action>div{min-width:0}.quick-action strong{display:block;font-size:12.5px;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-action small{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-action .arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:22px;font-weight:900}
.dashboard-middle{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(280px,1fr);gap:14px;margin-bottom:14px}.dashboard-bottom{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:14px}.schedule-list,.notification-list{padding:6px 14px 12px}.schedule-row,.notification-row{display:grid;grid-template-columns:48px 1fr;gap:9px;padding:9px 0;border-bottom:1px solid #eef3f7}.schedule-date{height:44px;border-radius:8px;background:#edf7ff;color:#1976d2;display:grid;place-items:center;text-align:center;font-size:9px;font-weight:900;line-height:1.15}.schedule-row strong,.notification-row strong{display:block;color:#164779;font-size:11.5px}.schedule-row span,.notification-row span{display:block;color:#708398;font-size:9.5px;margin-top:3px}.notification-row{grid-template-columns:32px 1fr}.notification-dot{width:30px;height:30px;border-radius:9px;background:#eaf4ff;display:grid;place-items:center;color:#1976d2}
.today-result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px 12px 14px}.today-result{height:64px;border:1px solid #e5edf5;border-radius:9px;background:#f9fcff;display:flex;align-items:center;gap:9px;padding:8px}.today-result .mini-icon{width:35px;height:35px;border-radius:8px;background:#edf7ff;color:#1976d2;display:grid;place-items:center}.today-result span{display:block;color:#5d748d;font-size:9.5px}.today-result strong{display:block;color:#0c498c;font-size:19px;margin-top:1px}

/* Tables */
.table-card{overflow:hidden}.table-scroll{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:850px;font-size:11px}.data-table th{height:38px;padding:0 10px;background:#ebf6ff;color:#164880;text-align:left;font-size:10.5px;white-space:nowrap}.data-table td{height:46px;padding:8px 10px;border-top:1px solid #edf2f7;color:#284d76;vertical-align:middle}.data-table tr:hover td{background:#fbfdff}.data-table .title-cell{font-weight:700;color:#164779;max-width:280px}.data-table .nowrap{white-space:nowrap}.table-actions{display:flex;align-items:center;gap:5px;justify-content:center}.more-wrap{position:relative}.more-btn{width:30px;height:29px;border:1px solid #c6dced;border-radius:7px;background:#fff;color:#0f4e96;font-size:17px;font-weight:800;display:grid;place-items:center}.more-menu{position:fixed;width:165px;padding:5px;border:1px solid #d6e4ef;border-radius:9px;background:#fff;box-shadow:0 10px 24px rgba(20,66,105,.15);display:none;z-index:500}.more-wrap.open .more-menu{display:block}.more-menu a,.more-menu button{width:100%;height:33px;padding:0 10px;border:0;border-radius:6px;background:#fff;color:#244f78;display:flex;align-items:center;text-align:left;font-size:10.5px;font-weight:700}.more-menu a:hover,.more-menu button:hover{background:#eef6fd;color:#156bc2}.more-menu .danger{color:#c94550}.empty{padding:32px;text-align:center;color:#75899d;font-size:12px}

/* Filters and forms */
.filter-card{padding:14px;margin-bottom:14px}.filter-grid{display:grid;grid-template-columns:2fr repeat(4,minmax(120px,1fr)) auto;gap:10px;align-items:end}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label,.field>span{font-size:10.5px;font-weight:800;color:#315d84}.field input,.field select,.field textarea{width:100%;border:1px solid #cdddeb;border-radius:8px;background:#fff;color:#234e75;outline:0}.field input,.field select{height:40px;padding:0 11px}.field textarea{min-height:90px;padding:10px 11px;resize:vertical;line-height:1.45}.field input:focus,.field select:focus,.field textarea:focus{border-color:#67a9df;box-shadow:0 0 0 3px rgba(25,118,210,.07)}.help{font-size:9.5px;color:#7a8fa4;line-height:1.4}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.field.full{grid-column:1/-1}.check-row{display:flex;gap:16px;flex-wrap:wrap}.check-item{display:flex;align-items:center;gap:7px;font-size:11px;color:#355f84}.check-item input{width:16px;height:16px}.form-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid #edf2f7}
.summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}.summary-card{min-height:76px;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:#fff}.summary-card span{display:block;color:#6a8097;font-size:10px}.summary-card strong{display:block;color:#0d4a86;font-size:22px;margin-top:4px}
.pagination{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-top:1px solid #edf2f7}.pagination span{font-size:10.5px;color:#71869a}.pagination-actions{display:flex;gap:6px}

/* Exam editor */
.editor-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:14px}.question-list-card{margin-top:14px}.question-groups{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px}.question-group{border:1px solid #dce8f3;border-radius:10px;padding:10px}.question-group h4{margin:0 0 9px;color:#15548f;font-size:11px}.question-buttons{display:flex;flex-wrap:wrap;gap:6px}.q-number{width:38px;height:34px;border:1px solid #bdd3e5;border-radius:7px;background:#eef8f2;color:#286547;font-size:11px;font-weight:800;display:grid;place-items:center}.q-number.active{background:#1976d2;color:#fff;border-color:#1976d2}.q-number.branch{position:relative}.q-number.branch:after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:#7b57c7;right:3px;top:3px}
.question-editor-card{position:sticky;top:82px;align-self:start}.part-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px}.part-switch label{height:38px;border:1px solid #caddea;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;font-weight:800;color:#3a6386}.part-switch label:has(input:checked){background:#eaf4ff;border-color:#7fb7e3;color:#1468b8}.part-switch input{display:none}.answer-grid{display:grid;gap:9px}.answer-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:center}.answer-letter{width:34px;height:34px;border-radius:8px;background:#edf6ff;color:#146bc1;font-weight:900;display:grid;place-items:center}.answer-row input[type=text]{height:38px;border:1px solid #ccdeeb;border-radius:8px;padding:0 10px;width:100%}.answer-row .correct-pick{font-size:10px;white-space:nowrap;color:#49708f}.image-preview{margin-top:7px;display:flex;align-items:center;gap:8px}.image-preview img{max-width:150px;max-height:90px;border:1px solid #dae7f1;border-radius:8px;object-fit:contain}.question-image-preview img{max-width:260px;max-height:150px}.editor-note{padding:9px 10px;border-radius:8px;background:#f5f9fd;color:#668098;font-size:10px;margin-bottom:10px}

/* Preview */
.exam-preview-head{padding:18px;margin-bottom:14px}.exam-preview-head h1{margin:0;color:#0b477f;font-size:23px}.exam-preview-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:9px;color:#627b93;font-size:10.5px}.preview-section-title{margin:18px 0 9px;color:#0c498c;font-size:16px}.preview-question{padding:14px 15px;margin-bottom:10px}.preview-question h3{font-size:13px;line-height:1.5;margin:0 0 10px;color:#173f70}.preview-question .q-meta{font-size:9px;color:#71869a;margin-bottom:6px}.preview-question img{max-width:480px;max-height:300px;border-radius:8px;border:1px solid #e0eaf2;margin:6px 0}.preview-answer{padding:8px 10px;border:1px solid #e2ebf3;border-radius:8px;margin:5px 0;font-size:11px;display:flex;gap:8px}.preview-answer.correct{background:#ebf9f1;border-color:#b8e4ca;color:#196b45}.preview-answer .letter{font-weight:900;color:#176bb9}

/* Attempt review */
.attempt-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:14px}.attempt-stat{padding:11px;border:1px solid var(--border);border-radius:9px;background:#fff}.attempt-stat span{font-size:9.5px;color:#708398;display:block}.attempt-stat strong{display:block;font-size:18px;color:#0d4a86;margin-top:3px}.result-row{padding:12px 14px;border-bottom:1px solid #edf2f7}.result-row:last-child{border-bottom:0}.result-row h4{margin:0 0 7px;font-size:12px;color:#164779}.result-row p{margin:3px 0;font-size:10.5px;color:#4e6983}.result-good{color:#178b51!important}.result-bad{color:#c74752!important}

/* Login */
.login-body{min-height:100vh;background:linear-gradient(135deg,#eef7ff,#f8fbfe);display:grid;place-items:center;padding:20px}.login-card{width:min(430px,100%);background:#fff;border:1px solid #d8e6f2;border-radius:16px;padding:28px;box-shadow:0 18px 48px rgba(28,75,113,.12)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.login-logo{width:50px;height:50px;border-radius:12px;background:#0f65b7;display:grid;place-items:center;padding:7px}.login-logo svg{width:100%;height:100%}.login-brand strong{display:block;color:#0c498c;font-size:17px;line-height:1.1}.login-brand span{display:block;color:#7890a6;font-size:10px;margin-top:4px}.login-card h1{font-size:21px;color:#123f6f;margin:0 0 5px}.login-card>p{color:#72879b;font-size:11px;margin:0 0 18px}.login-field{margin-bottom:12px}.login-field label{display:block;font-size:10.5px;font-weight:800;color:#365e82;margin-bottom:6px}.login-input{height:44px;border:1px solid #cbddeb;border-radius:9px;background:#fff;display:flex;align-items:center;padding:0 11px}.login-input:focus-within{border-color:#5a9fd8;box-shadow:0 0 0 3px rgba(25,118,210,.07)}.login-input input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#274f73}.login-input button{border:0;background:transparent;color:#2771b1;font-size:10px;font-weight:800}.login-submit{width:100%;height:44px;border:0;border-radius:9px;background:#1976d2;color:#fff;font-weight:900;margin-top:5px}.login-help{margin-top:16px;padding-top:14px;border-top:1px solid #edf2f7;text-align:center;font-size:10px;color:#8395a7}

/* settings */
.settings-list{display:grid;gap:10px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #edf2f7}.setting-row:last-child{border-bottom:0}.setting-row strong{font-size:12px;color:#244f78}.setting-row span{display:block;font-size:10px;color:#7890a5;margin-top:3px}.toggle{width:44px;height:24px;border-radius:999px;background:#ccd9e5;position:relative;border:0}.toggle:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;left:3px;top:3px;transition:.15s;box-shadow:0 1px 3px rgba(0,0,0,.12)}.toggle.on{background:#2b8bd8}.toggle.on:after{left:23px}

@media(max-width:1280px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-middle,.dashboard-bottom,.editor-layout{grid-template-columns:1fr}.question-editor-card{position:static}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-grid .field:first-child{grid-column:span 2}.attempt-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.teacher-sidebar{transform:translateX(-100%);width:250px!important;transition:transform .2s ease}.teacher-sidebar.mobile-open{transform:translateX(0)}.teacher-main,body.teacher-sidebar-collapsed .teacher-main{margin-left:0;width:100%}.teacher-collapse{display:none}.mobile-menu{display:grid;place-items:center}.sidebar-overlay{position:fixed;inset:0;background:rgba(11,38,61,.32);z-index:60}.sidebar-overlay.show{display:block}.teacher-content{padding:15px}.topbar-profile>div:nth-child(2),.topbar-profile>b{display:none}.topbar-page-title strong{font-size:15px}.question-groups{grid-template-columns:1fr}.form-grid.three,.form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.dashboard-welcome,.page-heading{flex-direction:column}.today-chip{width:100%;justify-content:flex-start}.stat-grid,.quick-grid,.summary-grid,.filter-grid,.form-grid,.form-grid.three,.form-grid.four,.today-result-grid,.attempt-summary{grid-template-columns:1fr}.filter-grid .field:first-child{grid-column:auto}.page-actions{justify-content:flex-start}.teacher-topbar{padding:0 12px}.teacher-content{padding:12px}.card-body{padding:13px}.topbar-page-title span{display:none}.teacher-bell{width:34px;height:34px}.data-table{min-width:760px}.answer-row{grid-template-columns:32px minmax(0,1fr)}.answer-row .correct-pick{grid-column:2}.dashboard-welcome h1{font-size:22px}}
body.teacher-density-compact .data-table th{height:32px}
body.teacher-density-compact .data-table td{height:36px;padding-top:5px;padding-bottom:5px}

/* =========================================================
   IMAGE ICONS - FLAT, KHÔNG BÓNG
   ========================================================= */
.teacher-brand-logo img,
.teacher-collapse img,
.nav-icon img,
.nav-chevron img,
.teacher-mini-avatar img,
.topbar-avatar img,
.teacher-bell img,
.topbar-profile b img,
.mobile-menu img,
.stat-icon img,
.qicon img,
.mini-icon img,
.notification-dot img,
.btn img,
.login-logo img,
.login-input>img,
.ui-icon{
  display:block;
  object-fit:contain;
  filter:none!important;
  box-shadow:none!important;
}
.teacher-brand-logo img{width:100%;height:100%}
.teacher-collapse img{width:16px;height:16px;transition:transform .2s ease}
body.teacher-sidebar-collapsed .teacher-collapse img{transform:rotate(180deg)}
.nav-icon{display:grid;place-items:center}.nav-icon img{width:20px;height:20px}
.nav-chevron{display:grid;place-items:center;width:14px;height:14px}.nav-chevron img{width:11px;height:11px;transition:transform .18s ease}.teacher-nav-group.open .nav-chevron{transform:none}.teacher-nav-group.open .nav-chevron img{transform:rotate(90deg)}
.teacher-mini-avatar,.topbar-avatar{overflow:hidden;padding:7px}.teacher-mini-avatar img,.topbar-avatar img{width:100%;height:100%}
.teacher-bell img{width:21px;height:21px}
.topbar-profile b{display:grid;place-items:center;width:16px;height:16px}.topbar-profile b img{width:13px;height:13px}
.mobile-menu{padding:8px}.mobile-menu img{width:20px;height:20px}
.stat-icon img{width:28px;height:28px}.qicon img{width:29px;height:29px}.mini-icon img{width:21px;height:21px}.notification-dot img{width:19px;height:19px}
.btn img{width:16px;height:16px;flex:0 0 16px}.btn-sm img{width:14px;height:14px}.more-btn img{width:16px;height:16px;display:block;object-fit:contain}
.login-logo img{width:100%;height:100%}.login-input{gap:8px}.login-input>img{width:19px;height:19px;flex:0 0 19px}
.login-input input{height:auto!important;padding:0!important;border:0!important;box-shadow:none!important}.login-input input:focus{border:0!important;box-shadow:none!important}
.stat-arrow,.quick-action .arrow{display:grid;place-items:center}.stat-arrow img,.quick-action .arrow img{width:17px;height:17px;object-fit:contain}
.quick-action.green .arrow img,.quick-action.purple .arrow img,.quick-action.blue .arrow img{filter:brightness(0) invert(1)!important}
.quick-action.white .arrow img{filter:none!important}
.today-chip{gap:7px}.today-chip img{width:18px;height:18px;object-fit:contain}
.profile-form-grid .field label{display:flex;align-items:center;gap:6px}.profile-form-grid .field label img{width:16px;height:16px;object-fit:contain;filter:none!important;box-shadow:none!important}.correct-answer-label{display:inline-flex;align-items:center;gap:5px;font-weight:800}.correct-answer-label img{width:15px!important;height:15px!important;border:0!important;margin:0!important}
.btn-primary img,.btn-success img,.btn-warning img{filter:brightness(0) invert(1)!important}

/* ===== Full Fix 2026-09-29: exam editor ===== */
.exam-lock-banner{margin:0 0 14px;padding:11px 14px;border:1px solid #f0c36a;border-radius:10px;background:#fff8e8;color:#73551b;font-size:12px;line-height:1.55}
.editor-note-warning{border-color:#f1c36b!important;background:#fff8e8!important;color:#71551e!important}
.date-time-input{font-variant-numeric:tabular-nums;letter-spacing:.1px}
.upload-control{display:flex;flex-direction:column;gap:7px;min-width:0}
.pretty-file{width:100%;min-height:42px;padding:5px;border:1px dashed #a9c8e6;border-radius:9px;background:#f8fbff;color:#5e748a;font-size:11px;cursor:pointer;transition:border-color .18s ease,background .18s ease}
.pretty-file:hover{border-color:#2584d8;background:#f1f8ff}
.pretty-file::file-selector-button{height:30px;margin:0 9px 0 0;padding:0 12px;border:0;border-radius:7px;background:#e7f3ff;color:#1465ad;font-size:11px;font-weight:800;cursor:pointer}
.pretty-file:hover::file-selector-button{background:#d9edff}
.upload-live-preview{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:0}
.upload-file-name{display:inline-flex;max-width:100%;padding:5px 8px;border-radius:7px;background:#eef5fb;color:#42637f;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.upload-live-preview img{width:72px;height:54px;object-fit:cover;border:1px solid #d6e5f2;border-radius:7px;background:#fff}
.question-editor-card .image-preview{margin-top:7px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.question-editor-card .image-preview img{max-width:130px;max-height:92px;object-fit:contain;border:1px solid #d9e6f2;border-radius:8px;background:#fff}
.question-editor-card input:disabled,.question-editor-card textarea:disabled,.question-editor-card select:disabled{background:#f4f7f9!important;color:#738596!important;cursor:not-allowed}
.question-editor-card .part-switch input:disabled{cursor:not-allowed}
@media(max-width:900px){.exam-lock-banner{font-size:11px}.upload-live-preview img{width:64px;height:48px}}
