.teacher-page{background:#f1f6f3;color:#183e42}.teacher-top{max-width:1450px;padding:26px 38px;margin:auto;display:flex;align-items:center;gap:25px;border-bottom:1px solid var(--line)}.teacher-top .brand{text-decoration:none;margin-right:auto}.teacher-top>span{font-size:.95rem;color:var(--muted)}#teacher-app{max-width:1450px;padding:42px 38px 70px;margin:auto}.teacher-intro{max-width:850px;margin-bottom:30px}.teacher-intro h1{font-size:clamp(2rem,4vw,3.5rem);margin:0 0 18px}.teacher-intro>p:last-child{font-size:1.08rem;line-height:1.75;color:var(--muted)}.teacher-login{max-width:580px;margin:25px auto}.teacher-login h1{font-size:2.5rem}.teacher-login>p{line-height:1.65}.teacher-login .login-help{font-size:.9rem;color:var(--muted);margin-top:25px}.teacher-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0 0 30px}.teacher-stats>div{background:#e0eeea;border:1px solid #bfd7cf;border-radius:16px;padding:22px 26px}.teacher-stats span{display:block;font-size:.95rem;margin-bottom:13px}.teacher-stats strong{font-size:2.5rem;color:var(--teal)}.teacher-panel{background:white;border:1px solid #cedfd7;border-radius:18px;margin-bottom:24px;padding:27px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:23px}.panel-heading h2,.teacher-panel h2{font-size:1.4rem;margin:0 0 9px}.panel-heading p{font-size:.85rem;color:var(--muted);line-height:1.6;margin:0}.teacher-actions{display:flex;gap:10px;flex-wrap:wrap}.teacher-actions button{font-size:.86rem;min-height:44px;padding:10px 15px}.table-scroll{overflow-x:auto;border:1px solid #dce7e1;border-radius:12px}table{border-collapse:collapse;width:100%;text-align:left;font-size:.94rem}th,td{padding:17px 15px;border-bottom:1px solid #e1eae5;vertical-align:middle}thead th{font-size:.8rem;background:#edf5f1;color:#355e5b;line-height:1.5}tbody th{font-weight:700}tbody tr:last-child>*{border-bottom:0}tbody tr:nth-child(even){background:#f8fbf9}.progress-table{min-width:870px}.progress-table td{font-variant-numeric:tabular-nums}.progress-table tbody th{min-width:140px}.spike-count{font-weight:700;font-size:1.12rem}.spike-count small,.stage-pill small{font-weight:400;font-size:.79rem;color:var(--muted)}.mini-track{display:block;width:75px;height:4px;background:#e4ebe7;border-radius:6px;margin-top:7px}.mini-track>span{display:block;height:4px;background:#ba952e;border-radius:6px}.table-muted{font-size:.83rem;color:var(--muted)}.stage-pill{display:inline-block;border:1px solid #b7d8ca;background:#e7f4ec;border-radius:8px;padding:8px 10px;font-size:1.15rem;font-weight:700}.table-footnote{font-size:.85rem;line-height:1.7;color:var(--muted);margin:19px 0 0}.filter-label{display:flex;align-items:center;gap:12px;font-size:.9rem}.filter-label select{padding:10px 12px;border:1px solid #b6cec3;border-radius:8px;font:inherit;background:white}.award-badge{white-space:nowrap;font-size:.83rem;font-weight:700;background:#fff2c8;padding:6px 9px;border-radius:7px}.empty-table{text-align:center;padding:32px;color:var(--muted)}#history-panel table{min-width:800px}#history-panel td:first-child{min-width:150px}#history-panel td:nth-child(3){max-width:330px;line-height:1.55}#history-panel td small{color:var(--muted)}details.teacher-panel>summary{font-size:1.08rem;font-weight:700;cursor:pointer}details.teacher-panel[open]>summary{margin-bottom:25px}.code-table{max-width:650px;margin-top:22px}.code-number{font-family:Verdana,sans-serif;font-size:1.2rem;font-weight:bold;letter-spacing:.15em}.print-title p,.teacher-panel>p{font-size:.95rem;line-height:1.6;color:var(--muted)}.password-form{max-width:520px;display:grid;gap:16px;margin:22px 0 36px}.password-form label{font-size:.9rem;display:grid;gap:8px}.password-form input{border:1px solid #a9c6b9;border-radius:9px;min-height:48px;padding:10px 13px;font:inherit}.password-form button{justify-self:start}#dashboard-message:empty{display:none}#dashboard-message,#password-message,#backup-message{line-height:1.6;color:var(--coral)}
@media(max-width:750px){.teacher-top{padding:19px}.teacher-top>span{display:none}#teacher-app{padding:28px 16px}.teacher-stats{gap:9px}.teacher-stats>div{padding:18px 13px}.teacher-stats span{font-size:.78rem;line-height:1.4;min-height:32px}.teacher-stats strong{font-size:2rem}.teacher-panel{padding:19px 15px}.panel-heading{align-items:flex-start;flex-direction:column}.teacher-login h1{font-size:2rem}}
@media print{@page{size:A4;margin:18mm}.teacher-page{background:white;font-size:11pt}.teacher-top,#teacher-app>*:not(#login-list),#login-list>summary,.no-print{display:none!important}#teacher-app{padding:0;max-width:none}#login-list{display:block!important;border:0;padding:0;margin:0}.code-table{max-width:none;margin-top:18px}.code-table th,.code-table td{padding:6px 15px}.code-number{font-size:13pt}table{font-size:11pt}.print-title h2{font-size:20pt}.print-title p{font-size:10pt}.code-table tr{break-inside:avoid}}

/* Keep the password and submit button in separate rows, including when the
   empty error message is hidden. Do not rely on inline control wrapping. */
#teacher-login{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin-top:24px}
#teacher-login>label,#teacher-login>.error-note{margin:0}
#teacher-login>input{display:block;min-width:0;max-width:100%}
#teacher-login>button[type="submit"]{width:100%;max-width:100%;white-space:normal;overflow-wrap:anywhere}

/* Stachelstand durch die Lehrkraft korrigieren. */
.edit-spikes{display:block;font-size:.78rem;font-weight:400;white-space:nowrap;padding:7px 0 0}#dashboard-message{color:#226846}#spike-editor{width:min(640px,calc(100% - 24px));max-height:90dvh}#spike-editor .dialog-top{padding:21px 25px}#spike-editor .dialog-top h2{font-size:1.15rem;line-height:1.45}.spike-edit-form{padding:0 26px 26px}.spike-edit-form>p:first-child{color:var(--muted);font-size:.94rem;margin:22px 0;line-height:1.6}.spike-edit-form>label{display:block;font-weight:700;font-size:1.05rem;margin:0 0 11px}.spike-edit-form #spike-total{display:block;width:140px;min-height:60px;padding:11px 14px;border:2px solid #93b5a5;border-radius:11px;font-size:1.8rem;color:var(--deep);background:white}.spike-edit-form .edit-help{font-size:.89rem;line-height:1.65;color:var(--muted);margin:14px 0 21px}.spike-preview{background:#f0f7f2;border:1px solid #c6dcd0;border-radius:13px;padding:17px;margin-bottom:23px}.edit-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.edit-counts>span{display:flex;align-items:center;gap:9px}.edit-counts>span>span{font-size:.85rem;line-height:1.6}.edit-counts strong{display:block;font-size:1.1rem}.spike-preview>p{margin:13px 0 0;padding-top:12px;border-top:1px solid #c7dbcf;font-size:.94rem}.spike-edit-form .edit-note-label{font-size:.92rem}.edit-note-label>span{font-size:.84rem;font-weight:400;color:var(--muted)}.spike-edit-form textarea{display:block;width:100%;resize:vertical;border:1px solid #adc6b9;border-radius:9px;background:white;color:var(--ink);font:inherit;font-size:.9rem;line-height:1.6;padding:12px}.spike-edit-form textarea:focus-visible{outline:3px solid #bf501d;outline-offset:4px}.edit-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:22px}.edit-actions button{font-size:.95rem;padding:13px 18px}.spike-edit-form .error-note:empty{display:none}.spike-corrections{padding:22px 26px;border-top:1px solid var(--line);background:#f8fbf9;font-size:.9rem}.spike-corrections summary{cursor:pointer;font-weight:700}.spike-corrections ol{list-style:none;padding:0;margin:18px 0 0}.spike-corrections li{padding:12px 0;border-top:1px solid var(--line)}.spike-corrections time{display:block;margin:5px 0;color:var(--muted);font-size:.8rem}.spike-corrections p{line-height:1.6;margin:9px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:480px){#spike-editor .dialog-top{padding:18px;flex-wrap:wrap}.spike-edit-form{padding:0 18px 21px}.spike-corrections{padding:20px 18px}.edit-counts{gap:9px}.edit-counts>span{gap:5px}.edit-counts .stachel-icon{width:23px;height:37px}.edit-counts>span>span{font-size:.76rem}.edit-counts strong{font-size:.91rem}.spike-preview{padding:14px 10px}.edit-actions{display:grid;grid-template-columns:1fr;width:100%}}

.test-account-badge{display:block;width:max-content;margin-top:6px;padding:3px 7px;border:1px solid #b5cdc1;border-radius:6px;background:#edf5f1;color:#426359;font-size:.7rem;font-weight:400}

.login-cards-panel{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:24px;align-items:center;background:linear-gradient(120deg,#fff,#effaf9)}
.login-cards-mascot{width:96px;height:auto;display:block}
.login-cards-copy .eyebrow{font-size:.72rem;margin:0 0 7px}
.login-cards-copy h2{margin:0 0 9px}
.login-cards-copy>p:not(.eyebrow){font-size:.92rem;line-height:1.6;color:var(--muted);margin:0}
.login-cards-copy>p.login-cards-print{font-size:.8rem;margin-top:9px}
.login-cards-action{max-width:290px}
.login-cards-action .primary{font-size:.91rem;padding:14px 18px;gap:10px}
.login-cards-action .primary svg{flex-shrink:0}
#login-cards-message{font-size:.8rem;line-height:1.5;margin:10px 0 0;color:var(--deep)}
#login-cards-message:empty{display:none}
@media(max-width:1050px){.login-cards-panel{grid-template-columns:80px minmax(0,1fr);gap:16px 22px}.login-cards-mascot{width:80px}.login-cards-action{grid-column:2;max-width:none}}
@media(max-width:480px){.login-cards-panel{grid-template-columns:55px minmax(0,1fr);gap:16px 12px}.login-cards-mascot{width:55px;align-self:start}.login-cards-copy h2{font-size:1.16rem}.login-cards-action{grid-column:1 / -1}.login-cards-action .primary{width:100%}}

/* Individual reading levels: four generous checkbox rows, no wider class table. */
.edit-levels{display:block;margin-top:.45rem;font-size:.82rem;text-align:left}
.allowed-levels-summary{display:block;max-width:19rem;margin-top:.4rem;font-weight:400;font-size:.75rem;line-height:1.5;color:var(--muted,#46676b)}
#level-editor{width:min(94vw,680px);max-height:90vh;overflow:auto;border:1px solid #b3d7d4;border-radius:22px;padding:1.4rem;color:#154853;background:#fff}
#level-editor::backdrop{background:rgba(8,50,65,.4)}
#level-editor .dialog-top h2{font-size:1.25rem}
.level-edit-form fieldset{border:0;padding:0;margin:1.3rem 0}
.level-edit-form legend{font-weight:700;margin-bottom:.7rem}
.level-checks{display:grid;gap:.6rem}
.level-check{display:flex;align-items:center;gap:.9rem;padding:1rem;border:2px solid #c7dedc;border-radius:14px;cursor:pointer;background:#f5fbfa;font-weight:400}
.level-check:has(input:checked){border-color:#298e9b;background:#e8f7f4}
.level-check:focus-within{outline:3px solid #177984;outline-offset:2px}
.level-check input{width:1.3rem;height:1.3rem;flex:0 0 auto;accent-color:#177984}
.level-check strong,.level-check small{display:block}
.level-check small{margin-top:.2rem;color:#42666c;font-size:.9rem;line-height:1.45}
@media(max-width:480px){#level-editor{padding:1rem}.level-edit-form .edit-actions{flex-direction:column}.level-check{padding:.8rem}}

.bonus-badge{display:table;margin-top:7px;background:#e1f5ed;color:#175d58}.series-history{display:block;margin-top:7px;line-height:1.5;color:var(--muted)}
