/* Login, header profile and parent overview. Kept apart from styles.css. */
.local-badge .logout{margin-left:6px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:white;color:var(--muted);font:inherit;font-size:11px;cursor:pointer}
.local-badge .logout:hover{color:var(--berry);border-color:var(--berry)}
nav a[hidden]{display:none}
.login-card{max-width:420px;margin:60px auto;padding:34px;background:white;border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;gap:8px}
.login-card h1{font-size:28px;margin:6px 0 14px}
.login-card input{min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;font:inherit;font-size:16px;margin-bottom:8px}
.login-card input:focus{outline:2px solid var(--berry);outline-offset:1px}
.login-card .button{margin-top:10px}
.login-error{color:var(--berry);font-size:13px;margin:0}
.parent-student{margin:40px 0 56px}
.parent-student h3{margin:26px 0 12px}
.parent-numbers{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
.parent-student .history-row strong small{font-weight:400;color:var(--muted)}
@media(max-width:700px){.login-card{margin:30px 0;padding:24px}}
.parent-student .mistake{margin-bottom:8px;padding:16px 20px}
.parent-student .mistake.open{border-left:3px solid #ad5050}
.parent-student .mistake.fixed{border-left:3px solid var(--green)}
.parent-student .runs{font-size:12px;color:var(--muted);margin:-4px 0 16px 4px}
.fixed-list summary{cursor:pointer;font-size:13px;color:var(--muted);margin:10px 0}

.parent-student{border:1px solid var(--line,#deded8);border-radius:16px;margin:20px 0;background:var(--paper,#fff)}
.parent-student-heading{cursor:pointer;padding:22px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.parent-student-heading::before{content:'▸';font-size:20px}.parent-student[open]>.parent-student-heading::before{content:'▾'}
.parent-student-heading b{font-size:24px;margin-right:auto}.parent-student-heading span{font-size:14px;color:var(--muted)}
.parent-student-body{padding:0 22px 22px;min-width:0}.parent-period{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:12px 0}
.parent-period label{display:flex;gap:8px;align-items:center}.parent-period input{font:inherit;padding:8px;border:1px solid #bbb;border-radius:8px;max-width:100%}
.parent-day,.parent-topic,.parent-task{border:1px solid var(--line,#deded8);border-radius:8px;margin:12px 0;padding:12px;overflow-wrap:anywhere}
.parent-day>summary,.parent-topic>summary,.parent-task>summary{cursor:pointer;line-height:1.7}.parent-task ol{padding-left:24px}.parent-activity h3{margin-top:28px}
.parent-period-error{color:#a32743;margin:0}.assigned-training{margin-bottom:32px}
@media(max-width:600px){.parent-student-body{padding:0 12px 16px}.parent-student-heading{padding:16px}.parent-day,.parent-topic,.parent-task{padding:9px}.parent-period label{max-width:100%}}

.today-card{overflow-wrap:anywhere;max-width:850px;margin:36px auto 24px;padding:clamp(24px,5vw,52px);border:1px solid var(--line);border-radius:20px;background:white}
.today-card h1{font-size:clamp(30px,5vw,46px);margin:16px 0 24px}.today-card h2{font-size:clamp(23px,4vw,30px)}.today-card .button{margin-top:12px}.today-secondary{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin:20px 0 50px}

.assignment-preview{padding-left:22px;max-height:42vh;overflow:auto}.assignment-preview li{padding:12px 0;border-bottom:1px solid var(--line)}.assignment-preview img{max-width:100%;max-height:260px;object-fit:contain}.assignment-preview p{font-size:13px;margin:8px 0}.assignment-statement{padding:12px;font-size:17px;line-height:1.7}.assignment-statement img{max-width:100%;max-height:460px;object-fit:contain}
.task-number.skipped{border-style:dashed;background:#efeee9;color:#777}.task-number.skipped.current{border:2px dashed var(--berry);color:var(--berry)}

.parent-training{border:1px solid var(--line,#deded8);border-radius:10px;padding:16px;margin:12px 0;overflow-wrap:anywhere}
.parent-training>summary{cursor:pointer;line-height:1.7}.parent-training article{padding:8px 0;border-bottom:1px solid var(--line,#deded8)}
.parent-training p{line-height:1.6}.parent-training button{white-space:normal;text-align:left}
@media(max-width:600px){.parent-training{padding:10px}}

.weekly-plan{margin:24px 0;padding:18px;border:1px solid var(--line);border-radius:12px;overflow-wrap:anywhere}.weekly-plan>p{line-height:1.6}.week-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.week-day{padding:12px;border:1px solid var(--line);border-radius:8px}.week-day.is-today{border:2px solid var(--green)}.week-day h4{margin:0 0 10px}.week-entry{padding:8px 0}.week-entry p{margin:7px 0}.week-editor{margin-top:20px}.week-editor>summary{cursor:pointer;line-height:1.7}.week-edit-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between;margin:12px 0}.week-edit-row small{display:block;color:var(--muted);margin-top:6px}.week-edit-row input{font:inherit;padding:8px;max-width:100%}.week-actions{display:flex;flex-wrap:wrap;gap:12px}.week-actions button{white-space:normal}[data-week-error]{color:#a32743}.weekly-plan .section-heading{flex-wrap:wrap}.weekly-plan .section-heading h3{margin:0}.weekly-plan summary{cursor:pointer}
@media(max-width:600px){.weekly-plan{padding:12px}.week-days{grid-template-columns:1fr}}

.student-week{margin:20px 0}.student-week>summary{cursor:pointer;font-weight:600;padding:16px;border:1px solid var(--line);border-radius:10px}
