/* Classes, notifications, and responsive teacher shell. */
.tm-app{min-height:100vh;padding-right:268px;background:var(--tm-cream,#f7f2e8)}
.tm-sidebar{position:fixed;inset:0 0 0 auto;width:268px;background:var(--tm-deep,#173832);color:#fffdf8;padding:25px 16px;display:flex;flex-direction:column;z-index:5}
.tm-sidebar .tm-brand{font-size:24px;font-weight:800;padding:6px 12px 28px}.tm-sidebar nav{display:grid;gap:5px}.tm-sidebar a{color:#d5e2d3;text-decoration:none;border-radius:11px;padding:12px 13px;font-weight:600}.tm-sidebar a:hover,.tm-sidebar a:focus{background:rgba(255,255,255,.13);color:#fff;outline:0}.tm-sidebar #teacherProfile{margin-top:auto;border:0;border-top:1px solid rgba(255,255,255,.16);background:transparent;color:#fff;padding:17px 8px 5px;text-align:right;font:inherit;font-weight:700;cursor:pointer}
.field-hint{font-weight:400;color:var(--tm-muted,#68746f);font-size:11px}.tm-form-note,.tm-card-copy{color:var(--tm-muted,#68746f);font-size:12px;line-height:1.9}.tm-section-head p{margin:5px 0 0;color:var(--tm-muted,#68746f);font-size:12px}.tm-upload.is-dragging{border-color:var(--tm-deep,#173832);background:#e4f0e0;transform:translateY(-1px)}
.student-class-notices{display:grid;gap:10px;margin:0 0 14px}.student-class-notice{display:flex;justify-content:space-between;align-items:center;gap:14px}.student-class-notice p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.8}.class-detail p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.8}.calendar-class-events{margin-top:18px}.calendar-event-list{display:grid;gap:10px}.calendar-class-event{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fffefa}.calendar-class-event b,.calendar-class-event small{display:block}.calendar-class-event small{margin-top:4px;color:var(--muted);font-size:12px}.muted-copy{color:var(--muted);font-size:13px}
@media(max-width:980px){.tm-app{padding-right:0}.tm-sidebar{position:static;width:auto;min-height:0}.tm-sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}.tm-sidebar a{text-align:center;font-size:12px}.tm-sidebar #teacherProfile{margin-top:16px;max-width:300px}.student-class-notice{align-items:flex-start}}
@media(max-width:600px){.tm-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.student-class-notice{display:grid}.student-class-notice button{width:100%}.calendar-class-event{padding:11px}}
