.teacher-view { min-width:0; }
.teacher-picker-intro,.teacher-detail-head,.teacher-timer { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:24px; }
.teacher-picker-intro { margin-bottom:20px; }
.teacher-picker-intro h2 { font-size:27px; letter-spacing:-.7px; }
.teacher-picker-count { color:var(--muted); font-size:12px; margin:9px 0 0; }
.teacher-search { margin-bottom:18px; }
.teacher-search-count { color:var(--muted); font-size:11px; margin:0 3px 10px; }
.teacher-list { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.teacher-row { width:100%; min-width:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(130px,40%) 16px; align-items:center; gap:18px; padding:19px 22px; text-align:left; }
.teacher-row+.teacher-row { border-top:1px solid var(--line); }
.teacher-row:hover,.teacher-row-remembered { background:var(--soft); }
.teacher-row-main { min-width:0; display:flex; flex-direction:column; gap:5px; }
.teacher-row-main strong { font-size:15px; font-weight:650; }
.teacher-row-main>span { color:var(--muted); font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.teacher-row-summary { color:var(--muted); font-size:11px; text-align:right; line-height:1.7; }
.teacher-row>svg { width:16px; height:16px; color:var(--muted); }
.teacher-consent { color:var(--muted); font-size:11px; line-height:1.7; margin:20px 3px 0; }
.teacher-demo-note { color:var(--muted); font-size:11px; line-height:1.8; border-left:2px solid var(--accent); padding-left:12px; margin:22px 3px 0; }
.teacher-demo-badge { display:block; width:fit-content; background:var(--soft); color:var(--accent); border-radius:4px; padding:2px 5px; margin:4px 0; font-size:9px; font-weight:600; }
.teacher-return { margin:0 3px 20px; }
.teacher-empty { min-height:230px; }
.teacher-overview { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:18px; margin-bottom:22px; }
.teacher-detail-head { min-width:0; }
.teacher-detail-head .eyebrow { text-transform:uppercase; }
.teacher-detail-head h2 { font-size:27px; letter-spacing:-.8px; }
.teacher-detail-name { font-size:17px; font-weight:650; margin:12px 0 9px; overflow-wrap:anywhere; }
.teacher-group-badges { display:flex; flex-wrap:wrap; gap:5px; }
.teacher-group-badge { border-radius:5px; background:var(--bg); padding:3px 6px; color:var(--muted); font-size:10px; }
.teacher-detail-summary { color:var(--muted); font-size:11px; line-height:1.7; margin:12px 0 15px; }
.teacher-head-actions { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 15px; }
.teacher-head-actions .text-link { color:var(--accent); }
.teacher-notice { font-size:11px; color:var(--muted); margin:8px 0 0; }
.teacher-notice:empty { display:none; }
.teacher-copy-box { margin-top:12px; }
.teacher-copy-box label { display:block; font-size:11px; color:var(--muted); }
.teacher-copy-box input { display:block; width:100%; min-width:0; min-height:42px; padding:9px 10px; margin-top:6px; border:1px solid var(--line); border-radius:8px; background:var(--bg); color:var(--ink); font-size:13px; }
.teacher-copy-box small { display:block; font-size:10px; color:var(--muted); margin-top:5px; }
.teacher-coverage { display:flex; gap:10px; padding:16px 18px; margin-bottom:22px; background:var(--amber-bg); color:var(--amber); border:1px solid var(--line); border-radius:13px; }
.teacher-coverage>svg { width:18px; height:18px; margin-top:2px; }
.teacher-coverage strong { font-size:13px; }
.teacher-coverage p { font-size:11px; line-height:1.7; margin:6px 0 10px; }
.teacher-coverage .text-link { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.teacher-view .teacher-days { grid-template-columns:repeat(6,minmax(0,1fr)); }
.teacher-view .teacher-view-toggle button { width:auto; flex:1; }
.teacher-view .teacher-calendar .calendar-toolbar h2 { font-size:16px; }
.teacher-lesson-group { display:block; color:var(--accent); font-size:12px; line-height:1.6; margin:0 0 10px; }
.teacher-room-copy { border:0; cursor:pointer; }
.teacher-room-copy:hover { background:var(--soft); color:var(--accent); }
.teacher-time-note { font-size:10px; color:var(--muted); margin:10px 0 0; }
.teacher-week-day { background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:19px 21px; }
.teacher-week-day+.teacher-week-day { margin-top:16px; }
.teacher-week-day .agenda-title { margin-bottom:14px; }
.teacher-week-rows { display:flex; flex-direction:column; }
.teacher-week-row { display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:13px; align-items:start; padding:14px 0; }
.teacher-week-row+.teacher-week-row { border-top:1px solid var(--line); }
.teacher-week-row:first-child { padding-top:0; }
.teacher-week-row:last-child { padding-bottom:0; }
.teacher-week-pair { display:flex; flex-direction:column; gap:4px; color:var(--muted); }
.teacher-week-pair strong { font-size:15px; }
.teacher-week-pair small { font-family:Consolas,monospace; font-size:10px; }
.teacher-week-subject { min-width:0; }
.teacher-week-subject>strong { font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.teacher-week-subject .teacher-lesson-group { margin:5px 0 0; font-size:11px; }
.teacher-week-rooms { display:flex; flex-direction:column; align-items:flex-end; gap:5px; }
.teacher-week-rooms .room { font-size:10px; }
.teacher-week-row.current .teacher-week-pair { color:var(--accent); }
.teacher-week-row.finished .teacher-week-pair { opacity:.6; }
.teacher-day-empty { color:var(--muted); font-size:12px; margin:0; }
.teacher-bottom-source { margin:25px 3px 0; }
.teacher-timer { --timer-accent:var(--accent); min-width:0; align-self:start; padding:20px 22px; }
.teacher-timer .timer-kicker { display:inline-flex; align-items:center; gap:6px; color:var(--muted); font-size:8px; font-weight:700; letter-spacing:1px; }
.teacher-timer .timer-body { margin-top:14px; display:flex; align-items:center; gap:15px; flex-wrap:wrap; }
.teacher-timer-value { display:block; font-family:Consolas,'Courier New',monospace; color:var(--timer-accent); font-size:29px; line-height:1.2; font-weight:650; font-variant-numeric:tabular-nums; letter-spacing:-1px; white-space:nowrap; }
.teacher-timer-label { display:block; color:var(--muted); font-size:9px; margin-top:4px; }
.teacher-timer-context { min-width:0; flex:1 1 135px; }
.teacher-timer-context strong { display:block; font-size:12px; font-weight:650; line-height:1.6; margin-bottom:4px; }
.teacher-timer-context span { display:block; color:var(--muted); font-size:10px; line-height:1.7; }
.teacher-timer-source { display:block; color:var(--muted); font-size:9px; margin-top:11px; }
.teacher-timer[data-state=internal_break],.teacher-timer[data-state=between_pairs] { --timer-accent:var(--green); }
.teacher-bell-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.teacher-bell { background:var(--paper); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.teacher-bell>div { padding:17px 19px; }
.teacher-bell strong { display:block; font-size:13px; margin-bottom:7px; }
.teacher-bell span { display:block; font-family:Consolas,monospace; font-size:15px; color:var(--accent); }
.teacher-bell small { display:block; color:var(--muted); font-size:10px; margin-top:6px; }
.teacher-bell p { border-top:1px solid var(--line); background:var(--bg); font-size:10px; color:var(--muted); padding:8px 19px; margin:0; }
@media(max-width:1100px) {
  .teacher-overview { grid-template-columns:minmax(0,1fr); gap:14px; }
  .teacher-timer .timer-body { flex-wrap:nowrap; }
}
@media(max-width:600px) {
  .teacher-picker-intro,.teacher-detail-head { padding:19px 18px; border-radius:17px; }
  .teacher-picker-intro h2,.teacher-detail-head h2 { font-size:24px; }
  .teacher-picker-count { font-size:11px; }
  .teacher-search input { font-size:16px; }
  .teacher-row { grid-template-columns:minmax(0,1fr) minmax(100px,39%); padding:16px 15px; gap:10px; }
  .teacher-row-main strong { font-size:13px; }
  .teacher-row-main>span { font-size:10px; }
  .teacher-row-summary { font-size:10px; }
  .teacher-row>svg { display:none; }
  .teacher-detail-name { font-size:16px; }
  .teacher-timer { padding:18px; border-radius:17px; }
  .teacher-timer-value { font-size:27px; }
  .teacher-timer .timer-body { flex-wrap:wrap; }
  .teacher-calendar .view-toggle { width:100%; }
  .teacher-coverage { padding:14px; }
  .teacher-week-day { padding:17px 14px; }
  .teacher-week-row { grid-template-columns:30px minmax(0,1fr); gap:10px; }
  .teacher-week-rooms { grid-column:2; flex-direction:row; flex-wrap:wrap; align-items:center; margin-top:-4px; }
  .teacher-week-day .agenda-title h2 { font-size:15px; line-height:1.5; }
  .teacher-week-day .count { display:inline-block; }
  .teacher-bell-list { grid-template-columns:minmax(0,1fr); }
  .mobile-nav button { width:auto; flex:1 1 0; min-width:0; font-size:9px; }
}
@media(max-width:520px) {
  body[data-view=teachers] .topbar { flex-wrap:wrap; align-items:flex-start; }
  body[data-view=teachers] .topbar h1 { font-size:clamp(26px,7.5vw,31px); }
  body[data-view=teachers] .header-actions { margin-left:auto; }
}
