body{font-family:Arial,Helvetica,sans-serif}.small{font-size:.88rem;line-height:1.6}.portal-nav{display:flex;gap:6px;border-bottom:1px solid #ffffff20;padding:0 0 14px;margin-bottom:28px;overflow:auto}.portal-nav button{flex:0 0 auto;border:0;background:transparent;color:#bdb8b3;padding:12px 19px;min-height:44px}.portal-nav button[aria-current=page]{background:#c87a3b;color:#111}.portal-pane[hidden]{display:none!important}.portal-pane>section:first-child{margin-top:0}.portal-overview{display:grid;grid-template-columns:1.35fr 1fr;gap:22px;margin-bottom:24px}.portal-overview section{margin:0;padding:28px;background:#171717;border:1px solid #ffffff18;border-radius:14px}.portal-overview .portal-next{border-top:3px solid #c87a3b}.portal-overview h2{font-size:clamp(1.3rem,2.4vw,1.9rem);line-height:1.25;margin:14px 0}.portal-overview p{line-height:1.6;color:#c7c1bb}.portal-overview button{margin-top:8px}.portal-practice-text{white-space:pre-wrap;line-height:1.7;max-width:70ch}.portal-material{display:inline-block;padding:11px 16px;margin:4px 8px 8px 0;border:1px solid #c87a3b66;border-radius:7px;text-decoration:none;color:#f0b580}.portal-practice-content{padding:4px 0 18px}.portal-low-credit{border-left:2px solid #c87a3b;padding-left:12px}.portal-pupils{display:grid;gap:20px;margin:16px 0 24px}.portal-pupil-group{min-width:0}.portal-pupil-group h2{display:flex;align-items:center;gap:9px;font-size:1rem;margin:0 0 8px;line-height:1.4}.portal-pupil-count{color:#b4a99f;font-size:.8rem;font-weight:400}.portal-pupil-list{column-count:2;column-gap:6px}.portal-pupil{break-inside:avoid;width:100%;margin:0 0 6px;display:flex;justify-content:space-between;align-items:center;text-align:left;gap:10px;padding:9px 14px;border:1px solid #ffffff1b;border-radius:7px;background:#171717;color:#f5f2ef;min-width:0;min-height:44px}.portal-pupil strong{display:block;font-size:.94rem;line-height:1.35;overflow-wrap:anywhere;font-weight:500}.portal-pupil-arrow{color:#df9c64;font-size:1.25rem;line-height:1;flex-shrink:0}.portal-pupil:hover{background:#221c17;border-color:#c87a3b77}#portal-pupil-search{max-width:440px}.portal-trials button{display:block;margin:12px 0}.portal-pupil-summary{border-bottom:1px solid #ffffff24;padding-bottom:15px;margin-bottom:20px}#portal-start .overview{display:block}#portal-start .focus-panel{padding:28px;border-radius:14px}#portal-start #homework{display:block}#portal-ueben #lesson-history-panel{margin-top:0}#portal-verwaltung>section{margin-top:0}.teacher-drawer{inset:0 0 0 auto;box-sizing:border-box;margin:0;width:min(550px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border-left:1px solid #c87a3b77;padding:28px}.teacher-drawer::backdrop{background:#0005}.teacher-drawer .calendar-dialog-top{position:sticky;top:-28px;background:#171717;z-index:2;padding:12px 0}.ldc-toolbar{gap:10px}.ldc-toolbar h3{font-size:1.1rem}.ldc-jump{font-size:.85rem}.ldc-jump input{width:155px}.ldc-hint,.ldc-legend{font-size:.85rem}button,a,input,select,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #f4bb8c;outline-offset:4px}
@media(max-width:650px){.page-heading{margin-bottom:18px}.page-heading h1{font-size:1.8rem}.portal-nav{margin:0 -4px 22px;gap:0}.portal-nav button{padding:11px 14px;font-size:.93rem}.portal-overview{grid-template-columns:1fr;gap:14px}.portal-overview section,#portal-start .focus-panel{padding:22px}.portal-overview h2{font-size:1.4rem}.portal-pupil-list{column-count:1}.teacher-drawer{padding:20px}.teacher-drawer .calendar-dialog-top{top:-20px}.ldc-toolbar h3{font-size:1rem;flex-basis:100%;order:-1}.ldc-views button,.ldc-nav button{min-height:40px}.ldc-jump{justify-content:flex-end}.portal-pane .calendar-shell{padding:14px}.portal-practice-text{font-size:1rem}.portal-low-credit{font-size:.9rem}.portal-staff .page-heading .eyebrow{display:none}}

@media(max-width:650px){#portal-start:not([hidden]){display:flex;flex-direction:column;gap:16px}#portal-start .portal-overview{display:contents}#portal-start .portal-next{order:0}#portal-start .overview{order:1;margin:0}#portal-start .portal-credit{order:2}#portal-start .focus-panel{margin:0}.portal-overview section{padding:20px}}

.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-180%);z-index:1000;background:#f4e6d9;color:#111;padding:14px 20px;border-radius:6px;font:600 16px Arial,sans-serif}.skip-link:focus{transform:translateY(0)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

.portal-refresh-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px}.portal-refresh-row button{font-size:.85rem}.portal-refresh-row .small{margin:0}.pupil-date-grid button:focus-visible,.pupil-time-grid button:focus-visible{outline:2px solid #f4bb8c;outline-offset:3px}@media(max-width:650px){.portal-refresh-row{align-items:flex-start;flex-direction:column;gap:8px}.portal-refresh-row button{min-height:44px}.portal-nav{scrollbar-width:thin}}

button.danger{background:transparent;border:1px solid #a97160;color:#f3b9a7}button.danger:hover{background:#372521;color:#fff}#planning-status .tool-panel button{margin:0 8px 12px 0}
/* Administration: one task area at a time; existing forms keep their state. */
#teacher-section>h2{font-size:1.5rem;margin:0 0 24px}.admin-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:32px;align-items:start}.admin-nav{display:flex;flex-direction:column;gap:6px;position:sticky;top:20px}.admin-nav button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:5px;background:transparent;border:1px solid transparent;border-radius:10px;padding:16px;color:#beb7af;width:100%}.admin-nav button strong{font-size:.95rem;font-weight:600}.admin-nav button small{font-size:.78rem;font-weight:400;color:#a69b91}.admin-nav button[aria-current=page]{background:#211b16;border-color:#725033;color:#f3d5b7}.admin-nav button[aria-current=page] small{color:#cfac8b}.admin-nav button:hover{background:#191613}.admin-section{min-width:0;margin:0}.admin-section>h3{margin:2px 0 10px;font-size:1.25rem}.admin-description{margin:0 0 22px;max-width:58ch;font-size:.95rem;line-height:1.65}.admin-shortcut{margin:0 0 20px}.admin-section>.tool-panel{background:#151412;border:1px solid #3c3229;border-radius:10px;margin:0 0 12px;padding:0;overflow:hidden}.admin-section>.tool-panel>summary{padding:18px 20px;font-size:.95rem;font-weight:600;color:#eae3da}.admin-section>.tool-panel>summary>span{display:block;margin:5px 0 0 18px;font-size:.8rem;font-weight:400;color:#b1a69c}.admin-section>.tool-panel[open]>summary{border-bottom:1px solid #3c3229;margin-bottom:20px}.admin-section>.tool-panel>:not(summary){margin-left:20px;margin-right:20px}.admin-section>.tool-panel>:last-child{margin-bottom:22px}.admin-section>.tool-panel form{max-width:none}.admin-section>.tool-panel>p{font-size:.9rem;line-height:1.65}.admin-footnote{padding:12px 0;font-size:.8rem;line-height:1.6;color:#9f958b}.admin-section .credit-section{padding-top:0}.admin-section .credit-section h2{font-size:1rem}.admin-section #cards article{padding:16px 0;border-bottom:1px solid #342c25}.admin-section .material-picker{background:#171614}#admin-credit-overview>summary{font-weight:500}
@media(max-width:700px){.admin-layout{grid-template-columns:1fr;gap:24px}.admin-nav{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-nav button{border-color:#342c25;padding:13px}.admin-nav button strong{font-size:.9rem}.admin-nav button small{font-size:.75rem}.admin-section>.tool-panel>summary{padding:16px}.admin-section>.tool-panel>:not(summary){margin-left:16px;margin-right:16px}.admin-section>.tool-panel>summary>span{margin-left:18px}.admin-section>h3{font-size:1.15rem}#teacher-section>h2{margin-bottom:18px}}

/* Pupil names and family contacts stay together in the profile drawer. */
.student-profile{padding:18px 0;border-top:1px solid var(--line,#34302c);border-bottom:1px solid var(--line,#34302c);margin:18px 0}.student-profile h3{margin:0 0 10px}.student-profile-parents{line-height:1.6;overflow-wrap:anywhere}.student-profile summary{cursor:pointer;color:#e5aa79;min-height:44px;display:flex;align-items:center}.student-profile form{margin-top:10px}.student-name-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.student-name-fields label,.student-profile input,.student-profile textarea{min-width:0;width:100%;box-sizing:border-box}.student-profile textarea{resize:vertical}@media(max-width:480px){.student-name-fields{grid-template-columns:1fr}}

@media(min-width:1040px){.portal-pupil-list{column-count:3}}
