/* 教师工作台：把课前、课中、课后组织成一条有节奏的课堂流程。 */
.school-app.role-teacher{--teacher-ink:#172b45;--teacher-muted:#71839a;--teacher-line:#e2eaf3;--teacher-blue:#3974f6;--teacher-cyan:#24bfd3;--teacher-surface:#fff;background:radial-gradient(circle at 85% -10%,#eaf8ff 0,transparent 30%),linear-gradient(145deg,#f4f8fd,#edf3f9)}
.role-teacher .sidebar{background:linear-gradient(180deg,#112640,#183858);border-right:0;box-shadow:8px 0 35px #12325224;color:#dbe9f8}.role-teacher .brand{color:#fff}.role-teacher .brand-mark{background:linear-gradient(145deg,#5fdce9,#4b76fb);box-shadow:0 8px 18px #2dc5dc4d}.role-teacher .brand-sub{color:#a9c6e5}.role-teacher .nav-button{color:#b6cbe0;border-radius:12px;position:relative}.role-teacher .nav-button:hover{background:#ffffff12;color:#fff}.role-teacher .nav-button[aria-current="page"]{background:linear-gradient(100deg,#ffffff1f,#ffffff0b);color:#fff;box-shadow:inset 3px 0 #56d5e4}.role-teacher .nav-button[aria-current="page"] .school-nav-symbol{background:#4f86f7;color:#fff;border-color:#70a1ff}.role-teacher .school-nav-symbol{border-color:#ffffff32;color:#a9c9e9;border-radius:9px}.role-teacher .teacher-live-nav{margin-top:16px;background:#ffffff0d!important;border:1px solid #ffffff23}.role-teacher .teacher-live-nav:hover{background:#ffffff19!important}.teacher-nav-arrow{margin-left:auto;font-size:15px;color:#6de1e6}.role-teacher .sidebar-foot{border-color:#ffffff20;color:#aec3da}.role-teacher .sidebar-foot .badge{background:#ffffff12;color:#c5d8ee}
.role-teacher .topbar{background:#f5f8fcdd;border-color:#dfe8f1;backdrop-filter:blur(14px)}.role-teacher .breadcrumb{color:#7b8da4}.role-teacher .breadcrumb strong{color:var(--teacher-ink)}.teacher-top-live{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:#eaf5ff;border:1px solid #cbe1fa;color:#2e65be;font-size:11px;text-decoration:none}.teacher-top-live:hover{background:#deedff}.role-teacher .school-identity{background:#e9f2ff;color:#3764a1;border-radius:999px}
.role-teacher .school-page{max-width:1280px}.role-teacher .school-page .page-heading{margin-bottom:22px}.role-teacher .school-page .page-heading h1{color:var(--teacher-ink);font-size:30px;letter-spacing:-.5px}.role-teacher .school-page .page-heading p{color:var(--teacher-muted)}.role-teacher .school-page>.panel,.role-teacher .school-page>.school-class-grid,.role-teacher .school-page>.dashboard-grid{margin-top:18px}.role-teacher .school-page .btn{border-radius:10px}.role-teacher .school-page .btn.primary{background:linear-gradient(135deg,#3b73f5,#5d98ff);border:0;box-shadow:0 8px 18px #3974f633}.role-teacher .school-page .btn.primary:hover{background:linear-gradient(135deg,#3266e6,#4e8bf2);box-shadow:0 10px 22px #3974f647}.role-teacher .school-page .btn.secondary{border-color:#d7e3f0;color:#3e669d;background:#fff}.role-teacher .school-page .btn.ghost{color:#68809f}
.teacher-flow{display:flex;align-items:center;gap:12px;margin:2px 0 22px;max-width:720px}.teacher-flow-step{display:flex;align-items:center;gap:9px;color:#9aabbe;font-size:12px;white-space:nowrap}.teacher-flow-step span{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#e7eef6;color:#6f849c;font-size:10px;font-weight:700}.teacher-flow-step b{font-weight:650}.teacher-flow-step small{display:block;color:#a0afc0;font-size:10px}.teacher-flow-step.active{color:#2d5ec0}.teacher-flow-step.active span{background:#3f79f4;color:#fff;box-shadow:0 6px 13px #3974f640}.teacher-flow-line{height:1px;width:45px;background:#d2dfeb}
.teacher-hero{display:grid;grid-template-columns:minmax(0,1fr) 270px;align-items:stretch;overflow:hidden;min-height:220px;border:1px solid #d9e6f2;border-radius:22px;background:linear-gradient(115deg,#eef6ff,#fff);box-shadow:0 16px 40px #24486e12}.teacher-hero-copy{padding:31px 35px}.teacher-hero-copy h2{font-size:26px;line-height:1.45;color:#1a3150;margin:11px 0 9px;max-width:620px}.teacher-hero-copy p{font-size:13px;color:#71839a;line-height:1.85;margin:0 0 17px}.teacher-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.teacher-hero-board{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:11px;margin:20px 25px 20px 0;border-radius:18px;background:linear-gradient(145deg,#133456,#1b5473);color:#d8f4f8;box-shadow:inset 0 0 0 1px #ffffff1c,0 14px 28px #1234542e;overflow:hidden}.teacher-hero-board strong{font-size:22px;letter-spacing:.25em;z-index:1}.teacher-hero-board span{font-size:10px;color:#a5cfdd;z-index:1}.board-grid{position:absolute;inset:0;background:linear-gradient(#ffffff0d 1px,transparent 1px),linear-gradient(90deg,#ffffff0d 1px,transparent 1px);background-size:28px 28px;transform:perspective(260px) rotateX(56deg) scale(1.5);transform-origin:center bottom;opacity:.45}.board-grid i{position:absolute;width:6px;height:6px;border-radius:50%;background:#6de1e6;box-shadow:0 0 14px #6de1e6;animation:teacher-pulse 2.7s ease-in-out infinite}.board-grid i:nth-child(1){left:22%;top:28%}.board-grid i:nth-child(2){left:67%;top:25%;animation-delay:.6s}.board-grid i:nth-child(3){left:37%;top:64%;animation-delay:1.2s}.board-grid i:nth-child(4){left:79%;top:70%;animation-delay:1.8s}@keyframes teacher-pulse{50%{opacity:.25;transform:scale(.65)}}
.role-teacher .school-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.role-teacher .school-stats>div{padding:19px 20px;border:1px solid #dfe8f2;border-radius:15px;background:#ffffffd9;box-shadow:0 10px 24px #2f5b8510}.role-teacher .school-stats span{color:#7c8fa7;font-size:11px}.role-teacher .school-stats strong{font-size:29px;color:#25486f}.role-teacher .school-stats small{color:#95a5b7;font-size:10px}
.teacher-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.teacher-quick-card{display:flex;align-items:center;gap:12px;min-width:0;padding:16px;border:1px solid #dce7f2;border-radius:15px;background:#ffffffd9;color:var(--teacher-ink);text-decoration:none;text-align:left;cursor:pointer;font-family:inherit;transition:.18s}.teacher-quick-card:hover{border-color:#9db9e9;background:#fff;transform:translateY(-2px);box-shadow:0 10px 22px #3768a71c}.teacher-quick-icon{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:11px;background:#edf4ff;color:#3970d6;font-size:13px;font-weight:700}.teacher-quick-card:nth-child(2) .teacher-quick-icon{background:#e9fbfc;color:#1c9eac}.teacher-quick-card:nth-child(3) .teacher-quick-icon{background:#fff4e8;color:#cb7a22}.teacher-quick-card span:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0}.teacher-quick-card b{font-size:13px}.teacher-quick-card small{font-size:10px;color:#8294a9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-quick-card em{margin-left:auto;font-style:normal;color:#8da1ba;font-size:15px}.role-teacher .teacher-assignment-panel,.role-teacher .teacher-class-overview{border:1px solid #dce7f1;border-radius:17px;background:#ffffffd9;box-shadow:0 12px 30px #2c5b8c0d}.teacher-assignment-panel .section-heading p{margin:4px 0 0;font-size:11px}.teacher-class-row{display:flex;align-items:center;gap:11px;padding:13px 0;border-top:1px solid #eaf0f6}.teacher-class-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:#edf4ff;color:#3e70d2;font-size:14px;font-weight:700}.teacher-class-row>span:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.teacher-class-row b{font-size:13px}.teacher-class-row small,.teacher-class-meta{font-size:10px;color:#8294a9}.teacher-class-meta{margin-right:4px}.role-teacher .school-task-row{border-color:#e8eef5;padding:17px 0}.role-teacher .school-task-row:hover{background:#f7faff}.role-teacher .school-task-row h3{color:#2d4665;font-size:15px}
@media(max-width:820px){.teacher-hero{grid-template-columns:1fr}.teacher-hero-board{min-height:120px;margin:0 20px 20px}.teacher-quick-grid{grid-template-columns:1fr}.teacher-flow{overflow:auto;padding-bottom:4px}.role-teacher .school-stats{grid-template-columns:1fr 1fr}.teacher-class-row{flex-wrap:wrap}.teacher-class-meta{margin-left:46px}.teacher-class-row .btn{margin-left:auto}}
@media(max-width:560px){.teacher-hero-copy{padding:24px 21px}.teacher-hero-copy h2{font-size:23px}.teacher-hero-actions .btn{flex:1}.teacher-flow-step small{display:none}.teacher-flow-line{width:20px}.role-teacher .school-stats{gap:8px}.role-teacher .school-stats>div{padding:15px 13px}.role-teacher .school-stats strong{font-size:24px}.teacher-top-live{display:none}}
@media(max-width:720px){
  .school-app.role-teacher{padding-bottom:78px}
  .school-app.role-teacher .workspace{margin-left:0}
  .school-app.role-teacher .sidebar{position:fixed;inset:auto 0 0;width:100%;height:70px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));z-index:40;border-top:1px solid #294d72;box-shadow:0 -12px 28px #0b203833}
  .school-app.role-teacher .sidebar>.brand,.school-app.role-teacher .sidebar>.sidebar-foot{display:none!important}
  .school-app.role-teacher .nav-items{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;height:100%;overflow:visible}
  .school-app.role-teacher .nav-button{min-width:0;min-height:0;padding:5px 1px;display:flex;flex-direction:column;justify-content:center;gap:3px;border-radius:9px;font-size:9px;line-height:1.2;text-align:center}
  .school-app.role-teacher .school-nav-symbol{width:23px;height:23px;font-size:10px;border-radius:7px}
  .school-app.role-teacher .teacher-live-nav{margin-top:0;border:0!important;background:transparent!important}
  .school-app.role-teacher .teacher-live-nav .teacher-nav-arrow{display:none}
  .school-app.role-teacher .topbar{padding-inline:16px}
  .school-app.role-teacher .school-page{padding:26px 18px 38px}
}
@media(prefers-reduced-motion:reduce){.board-grid i{animation:none}.teacher-quick-card{transition:none}}

