*{box-sizing:border-box}body{margin:0;background:#f6f7fb;color:#111827;font:16px system-ui,-apple-system,sans-serif}main{max-width:1100px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:28px}header b{font-size:1.45rem}a{color:#2563eb;text-decoration:none}.auth{max-width:430px;margin:10vh auto;background:white;padding:32px;border-radius:24px;box-shadow:0 12px 45px #0001}.auth h1{font-size:2.4rem;margin-bottom:0}.card{background:white;border:1px solid #e5e7eb;border-radius:18px;padding:20px;margin:14px 0;box-shadow:0 5px 18px #0000000a}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}form{display:grid;gap:12px}input,select,button,.button{font:inherit;padding:13px 14px;border:1px solid #d1d5db;border-radius:12px;background:white}button,.button{background:#111827;color:white;border:0;cursor:pointer;text-align:center}.notice{padding:12px;background:#ecfdf5;border-radius:12px}.error{padding:12px;background:#fef2f2;border-radius:12px;margin:12px 0}small{color:#6b7280}@media(max-width:600px){main{padding:16px}header{align-items:flex-start}.auth{margin:5vh 14px;padding:24px}.grid{grid-template-columns:1fr}}.success{padding:14px 16px;border-radius:12px;background:#ecfdf5;color:#065f46;margin:14px 0}.error{padding:14px 16px;border-radius:12px;background:#fef2f2;color:#991b1b;margin:14px 0}label{display:block;font-weight:650;margin:12px 0 6px}
.profile-list{display:grid;gap:8px;margin:0 0 16px}.profile-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px}.profile-row small{color:#6b7280}.profile-row form{margin:0}.compact{width:auto!important;margin:0!important;padding:8px 12px!important}.danger{background:#991b1b!important}.hint{font-size:.9rem;color:#6b7280}.success{padding:14px 16px;border-radius:12px;background:#ecfdf5;color:#065f46;margin:16px 0}.error{padding:14px 16px;border-radius:12px;background:#fef2f2;color:#991b1b;margin:16px 0}@media(max-width:650px){.profile-row{align-items:flex-start}.profile-row small{display:block;margin-top:3px}}
/* School area, aligned with Hildi's Familienplaner */
.page-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin:10px 0 18px}.page-head h1{margin:3px 0 4px;font-size:2rem}.page-head p{margin:0;color:#64748b}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800;color:#6366f1}.school-head-actions,.week-nav,.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 13px;border-radius:11px;border:1px solid #dbe3ef;background:#111827;color:#fff;cursor:pointer}.btn.ghost{background:#fff;color:#334155;border-color:#dbe3ef}.btn.active{font-weight:800;border-color:#6366f1;color:#4338ca}.btn:disabled{opacity:.45;cursor:not-allowed}.student-switch{display:block}.student-switch select{padding:10px 12px}.school-tabs{display:flex;gap:.55rem;flex-wrap:wrap;margin:0 0 1rem}.week-nav{justify-content:flex-start;margin-bottom:12px}.timetable-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.timetable-day h2{margin:0}.timetable-row{display:grid;grid-template-columns:65px 1fr auto;gap:12px;align-items:center;padding:11px 0;border-top:1px solid #e5e7eb;border-left:4px solid var(--member-color);padding-left:10px}.timetable-row:first-of-type{border-top:0}.tt-time{font-weight:900;color:#4338ca}.tt-time small,.timetable-row small,.timetable-row em{display:block;color:#64748b;font-size:11px}.timetable-row em{margin-top:4px}.timetable-row.is-cancelled{opacity:.62;text-decoration:line-through}.timetable-row.is-changed{outline:2px solid rgba(245,158,11,.35);border-radius:10px}.status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef2f6;font-size:.78rem;font-weight:700}.school-feed{display:grid;gap:.8rem}.school-item{padding:1rem}.school-item h2{margin:.15rem 0 0;font-size:1.05rem}.school-item p{margin:.7rem 0;line-height:1.45}.school-meta{font-size:.88rem;opacity:.75}.school-item.needs-confirmation{border-width:2px;border-color:#f59e0b}.classreg-confirm-form{margin-top:1rem;padding-top:.9rem;border-top:1px solid #e5e7eb;display:grid;gap:.75rem}.confirm-result{margin-top:.75rem;font-weight:650}.homework-filter-card{padding:0;overflow:hidden}.homework-filter-summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px}.homework-filter-summary::-webkit-details-marker{display:none}.homework-filter-summary>div{display:flex;align-items:baseline;gap:10px}.homework-filter-body{padding:0 14px 14px;border-top:1px solid #dbe3ef}.filter-form{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end}.flow-dashboard-wrap{display:grid;gap:14px}.flow-profile-main{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.flow-profile-main h2{margin:3px 0 8px}.flow-profile-badges{display:flex;flex-wrap:wrap;gap:7px}.flow-profile-badges span{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef2f6;font-size:.82rem;font-weight:700}.flow-sync-meta{text-align:right;display:grid;gap:2px}.flow-legend{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.flow-state{padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:700}.flow-state.graded{color:#166534;background:#dcfce7}.flow-state.submitted{color:#3f6212;background:#ecfccb}.flow-state.progress{color:#075985;background:#e0f2fe}.flow-state.none{color:#4b5563;background:#f3f4f6}.flow-subject{padding:12px 0;border-top:1px solid #e5e7eb}.flow-subject-title{margin-bottom:8px}.flow-task-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px}.flow-task-chip{padding:10px;border-radius:11px;border:1px solid transparent;display:grid;gap:3px}.flow-task-chip b{font-size:.88rem}.flow-task-chip small{font-size:.72rem}.flow-task-chip.graded{background:#166534;color:#fff}.flow-task-chip.submitted{background:#d9f99d;color:#365314}.flow-task-chip.progress{background:#bae6fd;color:#0c4a6e}.flow-task-chip.none{background:#f1f5f9;color:#475569}.flow-performance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.flow-performance-card{border:1px solid #e5e7eb;border-radius:14px;padding:13px}.flow-performance-card h3{margin:0}.flow-progress-track{height:9px;border-radius:999px;background:#e5e7eb;overflow:hidden;margin:10px 0 7px}.flow-progress-track span{display:block;height:100%;background:#2563eb;border-radius:999px}
@media(max-width:760px){.page-head{display:grid}.school-head-actions{justify-content:flex-start}.timetable-grid{grid-template-columns:1fr}.school-tabs{display:grid;grid-template-columns:repeat(2,1fr)}.flow-profile-main{display:grid}.flow-sync-meta{text-align:left}.flow-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-performance-grid{grid-template-columns:1fr}}
