.role-teacher{--accent:#4674a0;--accent-dark:#335f89}.role-parent{--accent:#77966c;--accent-dark:#56754d}.school-app.role-teacher .sidebar{background:#233c56}.school-app.role-parent .sidebar{background:#354d40}.school-app .brand-mark,.school-app .btn.primary,.school-app .nav-button[aria-current="page"]{background:var(--accent);border-color:var(--accent);color:white}.school-app .btn.primary:hover{background:var(--accent-dark)}.school-app .brand-sub{color:#dce5d8}.school-app .sidebar-foot .badge{background:#ffffff14;color:#edf2e9}.school-nav-symbol{display:grid;place-items:center;border:1px solid #ffffff30;width:27px;height:27px;border-radius:8px;font-size:13px}.school-identity{background:#eaf0e6;color:#496740}.role-teacher .school-identity{background:#e9f0f8;color:#365c83}.school-demo-control{display:flex;align-items:center;gap:8px;font-size:11px;color:#8a8d8a;white-space:nowrap}.school-demo-control select{padding:8px 10px;font-size:12px;border-radius:9px;max-width:115px}.school-page>.panel,.school-page>.dashboard-grid,.school-page>.school-class-grid{margin-top:22px}.school-hero{display:flex;align-items:center;justify-content:space-between;padding:35px 42px;gap:30px;background:#eaf1f7;border:1px solid #dfe7ee;border-radius:21px}.role-parent .school-hero{background:#edf2e7;border-color:#e0e8d6}.school-hero h2{font-size:35px;line-height:1.5;margin:15px 0;color:#344f66}.role-parent .school-hero h2{color:#476044}.school-hero p{color:#73838a;font-size:14px;line-height:1.9;max-width:550px;margin-bottom:22px}.school-hero-mark{width:170px;height:180px;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:55px 55px 20px;background:#d4e3ed;color:#6c8ea7;font-size:67px;flex-shrink:0;transform:rotate(5deg)}.role-parent .school-hero-mark{background:#dde7cd;color:#89a174}.school-hero-mark span{font-size:12px;margin-top:5px;letter-spacing:4px}.school-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0}.school-stats>div{padding:24px;background:white;border:1px solid #e7ebe5;border-radius:16px;display:flex;flex-direction:column;gap:8px}.school-stats span{font-size:13px;color:#74818a}.school-stats strong{font-size:34px;line-height:1.3;color:#344c61}.school-stats small{color:#94a095;font-size:11px}.school-class-grid,.school-assignment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px}.school-class-card h2,.school-assignment-grid h2{font-size:22px;line-height:1.6;margin:15px 0}.school-class-card>.btn{margin-top:20px}.school-invite{background:#f3f6f8;border:1px dashed #cdd8df;padding:17px;border-radius:10px;margin:19px 0;overflow-wrap:anywhere}.school-invite span{font-size:12px;color:#85939a;display:block}.school-invite strong{display:block;letter-spacing:3px;font-size:21px;color:#476d8c;margin-top:8px;user-select:all}.school-person{padding:17px 0;border-bottom:1px solid #eef0ea;display:flex;align-items:center;justify-content:space-between;gap:14px}.school-person small{display:block;font-size:11px;color:#879382;margin-top:5px}.school-roster{margin-top:20px}.school-roster summary{cursor:pointer;font-size:13px;color:#6d8090}.school-form{margin-top:22px}.school-form>.field{margin-bottom:18px}.school-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;align-items:end;margin-bottom:18px}.school-form-grid .field{min-width:0}.school-form textarea{width:100%;resize:vertical;line-height:1.9}.school-form .muted{margin:14px 0;line-height:1.9}.school-form-status{font-size:13px;line-height:1.9;color:#637b68;min-height:25px;grid-column:1/-1;margin:10px 0}.school-task-row{display:flex;width:100%;align-items:center;gap:22px;text-align:left;border:0;border-bottom:1px solid #e9edf0;background:none;padding:23px 0;color:inherit}.school-task-row>div:first-child{flex:1;min-width:0}.school-task-row h3{margin:8px 0;font-size:16px}.school-task-row small{font-size:11px;color:#98a1a6}.school-task-count{display:flex;flex-direction:column;gap:4px;min-width:65px}.school-task-count strong{font-size:23px}.school-task-count span{font-size:11px;color:#8b9ca5}.school-empty{padding:55px 25px;text-align:center;border:1px dashed #d9e0d8;border-radius:19px;background:#fafcf7;margin:25px 0;grid-column:1/-1}.school-empty>span{font-size:34px;color:#82967d}.school-empty h2{font-size:22px;margin:17px 0}.school-empty p{font-size:13px;color:#8b9587;line-height:2;max-width:500px;margin:0 auto}.school-notes{font-size:14px;line-height:2.05;color:#72826f;padding-left:20px;margin-top:17px}.school-notes li{margin-bottom:12px}.school-child-picker{font-size:12px;color:#8c9687;display:flex;align-items:center;gap:12px}.school-family-task{padding:22px 0;border-bottom:1px solid #edf0e8}.school-family-task h3{font-size:17px;margin:10px 0}.school-family-task>p{font-size:13px;color:#728067}.school-feedback{background:#f0f5ed;border-radius:11px;padding:18px;margin:16px 0;font-size:14px;line-height:1.9;color:#516449}.school-feedback p{margin-top:8px}.school-stem{white-space:normal;overflow-wrap:anywhere;line-height:1.9;margin:20px 0}.school-work-image{display:block;max-width:100%;max-height:540px;object-fit:contain;border:1px solid #e5e8e0;border-radius:12px;margin:18px 0}.school-submissions{display:grid;gap:22px;margin-top:22px}.school-submissions .school-review-form{border-top:1px solid #e9ede7;padding-top:22px}.school-review-form .field{margin-top:15px}.school-role-entry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:23px 0}.school-role-choice{border:1px solid #e2e6df;border-radius:12px;background:#fff;padding:18px 8px;color:#6f7c83}.school-role-choice strong{display:block;font-size:17px;margin-bottom:9px}.school-role-choice span{font-size:10px;line-height:1.8}.school-role-choice[aria-pressed="true"]{background:#fff2e7;border-color:#e6aa82;color:#a36b46}.school-role-choice[data-auth-role="parent"][aria-pressed="true"]{background:#edf4e8;border-color:#a9bf98;color:#526e47}.school-role-choice[data-auth-role="teacher"][aria-pressed="true"]{background:#edf3f9;border-color:#a1bad1;color:#466d94}.school-auth .auth-card{max-width:540px}.school-student-connection{margin:22px 0}.school-student-connection p{line-height:1.9;margin:13px 0}.school-demo-note{font-size:12px;color:#92774f;background:#fff3e2;border:1px solid #f0dfc3;border-radius:10px;padding:12px 17px;margin-bottom:20px}
@media(max-width:1050px){.school-hero-mark{width:120px;height:145px;font-size:50px}.school-hero{padding:30px}.school-hero h2{font-size:29px}.school-class-grid{grid-template-columns:1fr}}
@media(max-width:720px){.nav-items{display:flex;overflow-x:auto;justify-content:flex-start;gap:0;scrollbar-width:none}.nav-button{flex:1 0 58px;min-width:58px}.school-app .nav-items{display:flex;justify-content:space-around}.school-app .nav-button:last-child{display:flex}.school-app .nav-button{flex:1;min-width:0}.school-nav-symbol{width:22px;height:22px;font-size:11px}.school-hero{padding:25px 21px;gap:12px}.school-hero h2{font-size:26px}.school-hero p{font-size:12px}.school-hero-mark{width:74px;height:105px;font-size:35px;border-radius:30px 30px 15px}.school-hero-mark span{font-size:9px;letter-spacing:1px}.school-hero .eyebrow{font-size:9px}.school-stats{gap:8px}.school-stats>div{padding:16px 12px}.school-stats strong{font-size:28px}.school-stats span{font-size:11px;line-height:1.6}.school-stats small{font-size:10px;line-height:1.7}.school-class-grid,.school-assignment-grid,.school-form-grid{grid-template-columns:1fr}.school-task-row{gap:9px;flex-wrap:wrap}.school-task-row>div:first-child{flex-basis:65%}.school-task-row>.badge{font-size:10px}.school-task-row h3{font-size:14px}.school-task-count{min-width:50px}.school-demo-control{font-size:0;gap:0}.school-demo-control select{font-size:11px;max-width:88px;padding:7px}.school-identity{display:none}.school-invite strong{font-size:17px;letter-spacing:2px}.school-app .topbar{gap:8px}.school-page .page-heading h1{font-size:25px}.school-page .page-heading p{font-size:12px}.school-role-entry{gap:6px}.school-role-choice strong{font-size:15px}.school-role-choice span{font-size:9px}}

/* 题库班级锁定提示条 */
.paper-lock-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;margin:12px 0;border-left:4px solid #2f6feb;background:rgba(47,111,235,.06)}
.paper-lock-banner .muted{flex:1;min-width:220px}
/* 班级卡片按钮组 */
.school-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}

.school-attempt-history{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.school-attempt-history .badge{cursor:default}

.peer-box{margin-top:14px;border-top:1px dashed #e5e6eb;padding-top:12px}.peer-received{margin-bottom:12px}.peer-item{background:#f7f8fa;border-radius:8px;padding:10px 12px;margin-top:8px}.peer-item p{margin:6px 0 0;color:#444;font-size:14px}.peer-stars{color:#f59e0b;font-size:16px;margin-right:8px}.peer-do{margin-top:10px}.peer-target{background:#fff;border:1px solid #f0f0f0;border-radius:8px;padding:10px 12px;margin:8px 0}.peer-stars-input button{background:none;border:none;font-size:22px;cursor:pointer;color:#c9cdd4;padding:2px}.peer-stars-input button:hover{color:#f59e0b}.peer-tags{margin:8px 0}.peer-tags .chip.active{background:#3370ff;color:#fff;border-color:#3370ff}.peer-do textarea{width:100%;border:1px solid #d9d9d9;border-radius:8px;padding:9px 12px;font-family:inherit;font-size:14px;margin:8px 0}

.peer-quality{font-size:12px;color:#3370ff;background:#e8f3ff;border-radius:6px;padding:3px 10px;margin-left:8px;font-weight:400}.peer-quality b{font-weight:700}.peer-helpful{margin-top:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.peer-helpful .btn{padding:3px 10px;font-size:12px}

.feed-item{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid #f0f0f0}.feed-item.unread{background:#fffbf0}.feed-icon{font-size:20px;flex-shrink:0}.feed-main{flex:1;font-size:14px}.feed-main p{margin:4px 0 0;color:#666;font-size:13px}.feed-time{color:#999;font-size:12px;flex-shrink:0}

.peer-help-board{margin-bottom:18px}.peer-help-row{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #f0f0f0}.peer-help-row.mine{background:#f0f7ff;border-radius:8px;padding-left:8px}.peer-help-rank{font-size:18px;width:34px}.peer-help-row b{flex:1}.peer-help-score{font-weight:700;color:#f59e0b;font-size:17px}

.weekly-summary{background:linear-gradient(135deg,#f0f7ff,#fff);border:1px solid #d6e4ff;border-radius:12px;padding:14px 18px;margin-bottom:16px}.weekly-summary .ws-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.weekly-summary .ws-head .muted{font-size:12px;color:#999}.weekly-summary p{margin:0;font-size:14px;color:#333;line-height:1.6}
