:root { color-scheme: light; --blue:#153d6f; --blue2:#235a96; --bg:#f1f4f8; --line:#d7dee8; --muted:#5d6877; --danger:#a52424; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:#1c2733; font-family:system-ui,-apple-system,"Segoe UI",sans-serif; line-height:1.5; }
.wrap { width:min(1050px,calc(100% - 32px)); margin:40px auto; }
.header { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:24px; }
.logo { width:210px; max-height:85px; object-fit:contain; }
h1,h2,h3 { color:#142f50; line-height:1.2; margin-top:0; }
h1 { margin-bottom:5px; font-size:clamp(1.65rem,4vw,2.25rem); }
.subtitle,.hint { color:var(--muted); }
.card { background:white; border-radius:12px; padding:clamp(20px,4vw,38px); box-shadow:0 8px 28px #19365316; }
.grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.field { margin-bottom:18px; }
label,.label { display:block; font-weight:650; margin-bottom:6px; }
input,textarea,select { width:100%; border:1px solid #b9c4d2; border-radius:7px; padding:11px 12px; font:inherit; background:#fff; }
textarea { resize:vertical; }
input:focus,textarea:focus { outline:3px solid #2b70b92d; border-color:var(--blue2); }
.radio-row { display:flex; gap:24px; margin:8px 0 18px; }
.radio-row label { display:flex; align-items:center; gap:8px; font-weight:500; }
.radio-row input { width:auto; }
.hidden { display:none; }
.section { border-top:1px solid var(--line); padding-top:23px; margin-top:8px; }
.button { display:inline-block; border:0; border-radius:7px; background:var(--blue); color:white; padding:11px 17px; font:inherit; font-weight:700; cursor:pointer; text-decoration:none; }
.button:hover { background:#0e315b; }
.button.full { width:100%; padding:14px; }
.button.secondary { background:#e8edf3; color:#253649; }
.button.danger { background:var(--danger); }
.button.tiny { padding:7px 10px; font-size:.84rem; white-space:nowrap; }
.message { border-radius:7px; padding:13px 15px; margin-bottom:20px; }
.success { background:#e3f5e9; color:#155b2b; }
.submission-number { display:inline-block; margin:5px 0; padding:4px 8px; border-radius:5px; background:#fff; font-family:ui-monospace,Consolas,monospace; font-size:1.08rem; font-weight:800; letter-spacing:.04em; }
.status-badge { display:inline-block; margin-top:4px; padding:2px 6px; border-radius:4px; background:#dce8f5; color:#234b78; font-size:.76rem; font-weight:750; }
.error { background:#fae7e7; color:#852020; }
.deadline-banner { margin-bottom:20px; padding:14px 16px; border:2px solid #235a96; border-radius:8px; background:#edf5ff; color:#173f6d; font-size:1.02rem; }
.school-year-banner { margin-bottom:10px; color:#40546b; font-size:1.05rem; }
.school-year-filter { display:flex; align-items:end; gap:10px; flex-wrap:wrap; margin:0 0 20px; padding:13px; border-radius:8px; background:#f3f6f9; }
.school-year-filter .field { margin:0; min-width:220px; }
.deadline-banner.deadline-late { border-color:#b66a00; background:#fff2d9; color:#764500; }
.closed-message { padding:20px; text-align:center; font-size:1.05rem; }
.late-badge { display:inline-block; margin-top:4px; padding:2px 6px; border-radius:4px; background:#b62c2c; color:white; font-size:.76rem; font-weight:750; }
.toggle-field > label { display:flex; align-items:center; gap:10px; }
.toggle-field input[type="checkbox"] { width:auto; height:20px; }
.footer { color:var(--muted); font-size:.9rem; margin-top:20px; }
.footer p { margin:5px 0; }
.admin-link { text-align:center; margin-top:30px; }
.admin-link a { color:#687585; }
.toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:20px; }
.actions { display:flex; gap:8px; flex-wrap:wrap; }
.table-wrap { overflow:auto; }
table { width:100%; border-collapse:collapse; font-size:.91rem; }
th,td { padding:10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
th { background:#f5f7fa; white-space:nowrap; }
.details { max-width:350px; white-space:pre-wrap; }
.inline-form { display:inline; }
.row-actions { display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
.possible-duplicate { background:#fff7df; }
.duplicate-badge { display:inline-block; margin:4px 0; padding:2px 6px; border-radius:4px; background:#f5c84c; color:#493800; font-size:.76rem; font-weight:750; }
.changed-at { color:#7a5a18; font-size:.76rem; }
.report-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 18px; margin-bottom:20px; }
.report-controls .field { margin:0; }
.report-summary { margin:15px 0; color:var(--muted); }
.link-button { border:0; background:none; padding:0; color:var(--danger); text-decoration:underline; cursor:pointer; }
.login { width:min(460px,calc(100% - 32px)); margin:70px auto; }
.honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
@media (max-width:760px) { .grid,.grid.three { grid-template-columns:1fr; } .header { align-items:flex-start; } .logo { width:145px; } .wrap { margin:22px auto; } }
@media (max-width:760px) { .report-controls { grid-template-columns:1fr; } }
.privacy-notice{margin-top:1.25rem;padding:1rem;border-left:4px solid #63758a;background:#f3f6f9;color:#334155;font-size:.92rem;line-height:1.5}
.landing-wrap{width:min(1120px,calc(100% - 32px))}.landing-header{padding:8px 0}.landing-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:38px;align-items:center;background:linear-gradient(135deg,#fff 0%,#f7faff 68%,#edf4fc 100%);border-top:5px solid var(--blue)}.landing-copy h2{max-width:720px;margin:12px 0 14px;font-size:clamp(1.8rem,4vw,3rem)}.landing-copy>p{max-width:700px;color:#49596a;font-size:1.08rem}.eyebrow{display:inline-block;color:var(--blue2);font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.landing-actions{margin-top:24px}.landing-primary{padding-inline:24px}.landing-panel{padding:24px;border:1px solid #cbd8e7;border-radius:10px;background:#fff;box-shadow:0 8px 22px #19365310}.landing-panel h3{margin-bottom:8px}.landing-panel p{color:var(--muted)}.check-list{margin:18px 0;padding:0;list-style:none}.check-list li{position:relative;margin:10px 0;padding-left:26px}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--blue2);font-weight:900}.text-link{color:var(--blue);font-weight:750;text-decoration:none}.landing-status{margin:24px 0 0}.landing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0}.info-card{padding:28px}.info-card h2{font-size:1.25rem}.info-card p{margin-bottom:0;color:var(--muted)}.info-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:18px;border-radius:50%;background:#e7eff8;color:var(--blue);font-weight:850}.landing-note{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:22px}.landing-note h2{margin-bottom:6px}.landing-note p{margin:0;color:var(--muted)}.landing-footer{display:flex;justify-content:space-between;align-items:center;padding:8px 2px 24px}.landing-footer a{color:#687585}@media(max-width:800px){.landing-hero,.landing-grid{grid-template-columns:1fr}.landing-note{align-items:flex-start;flex-direction:column}.landing-note .button{width:100%;text-align:center}}

/* Großzügiger Rhythmus für die Landing-Page */
.landing-header { margin-bottom:32px; }
.landing-hero { padding:clamp(30px,5vw,54px); }
.landing-grid { gap:clamp(24px,3vw,36px); margin:clamp(38px,6vw,64px) 0; }
.info-card { min-height:255px; padding:clamp(28px,4vw,38px); transition:transform .18s ease,box-shadow .18s ease; }
.info-card:hover { transform:translateY(-4px); box-shadow:0 13px 34px #19365320; }
.info-card .info-icon { margin-bottom:24px; }
.info-card h2 { margin-bottom:14px; }
.info-card p { line-height:1.65; }
.landing-note { margin-top:0; padding:clamp(28px,4vw,40px); }
.landing-footer { margin-top:30px; padding-top:20px; }
@media(max-width:800px){.landing-header{margin-bottom:24px}.landing-grid{gap:22px;margin:32px 0}.info-card{min-height:0}.landing-footer{margin-top:20px}}
.material-download{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.material-download strong{display:block;color:#20364f;font-size:.94rem;line-height:1.4}.material-download span{display:block;margin-top:5px;color:var(--muted);font-size:.82rem}.material-download .button{min-width:142px;text-align:center}@media(max-width:800px){.material-download{grid-template-columns:1fr;align-items:start}.material-download .button{width:100%}}
.landing-grid{grid-template-columns:minmax(250px,.82fr) minmax(0,1.7fr);grid-template-areas:"info dates" "material dates";align-items:stretch}.info-overview{grid-area:info}.dates-card{grid-area:dates}.material-card{grid-area:material}.dates-intro{margin-bottom:22px!important}.dates-list{margin:0}.dates-list>div{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(155px,.65fr);gap:22px;padding:13px 0;border-top:1px solid var(--line)}.dates-list>div:first-child{border-top:0}.dates-list dt{font-weight:650;line-height:1.42}.dates-list dd{margin:0;color:#40546b;font-weight:700;line-height:1.42}.dates-list .important-date{margin-inline:-12px;padding-inline:12px;border-radius:7px;background:#edf5ff}.dates-list .important-date dd{color:var(--blue);font-weight:850}@media(max-width:800px){.landing-grid{grid-template-columns:1fr;grid-template-areas:"info" "dates" "material"}.dates-list>div{grid-template-columns:1fr;gap:5px;padding:14px 0}.dates-list .important-date{margin-inline:-8px;padding-inline:8px}}
.bll-hero{border-top-color:#496a56;background:linear-gradient(135deg,#fff 0%,#f7fbf8 68%,#edf6f0 100%)}.bll-page .eyebrow,.bll-page .text-link{color:#365d44}.bll-page .info-icon{background:#e7f1ea;color:#365d44}.bll-page .button:not(.secondary){background:#365d44}.bll-page .button:not(.secondary):hover{background:#284a34}.bll-grid{grid-template-columns:minmax(250px,.82fr) minmax(0,1.7fr);grid-template-areas:"info dates" "material dates"}.bll-deadline{margin:18px 0;padding:12px;border-radius:7px;background:#edf6f0;color:#284a34}@media(max-width:800px){.bll-grid{grid-template-columns:1fr;grid-template-areas:"info" "dates" "material"}}
.bll-settings{background:#e7f1ea;color:#284a34}
.bll-page .landing-copy h2{font-size:clamp(1.75rem,3.5vw,2.5rem);max-width:650px}.bll-crosslink{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:24px;padding:clamp(26px,4vw,38px);border:1px solid #c8d9cd;border-left:5px solid #365d44;border-radius:12px;background:#f4f8f5}.bll-crosslink h2{margin:6px 0 8px;font-size:clamp(1.25rem,2.5vw,1.65rem);color:#284a34}.bll-crosslink p{margin:0;color:#526359}.crosslink-label{color:#496a56;font-size:.78rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.bll-crosslink-button{flex:0 0 auto;background:#365d44}.bll-crosslink-button:hover{background:#284a34}@media(max-width:800px){.bll-crosslink{align-items:flex-start;flex-direction:column}.bll-crosslink-button{width:100%;text-align:center}}
.primary-action-stack{display:flex;align-items:flex-start;flex-direction:column;gap:8px}.primary-action-stack span{color:#526273;font-size:.84rem}.primary-action-stack span a{color:#365d44;font-weight:750}.registration-card{padding:0;overflow:hidden}.registration-main{margin:0;padding:clamp(28px,4vw,40px)}.registration-alternative{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:clamp(24px,3.5vw,34px) clamp(28px,4vw,40px);border-top:1px solid #c8d9cd;background:linear-gradient(135deg,#f7faf8,#eef5f0)}.registration-alternative h2{margin:5px 0 7px;color:#284a34;font-size:clamp(1.2rem,2.3vw,1.55rem)}.registration-alternative p{margin:0;color:#526359}.registration-alternative .bll-crosslink-button{min-width:170px;text-align:center}@media(max-width:800px){.landing-actions{align-items:stretch;flex-direction:column}.primary-action-stack,.primary-action-stack .button{width:100%;text-align:center}.registration-main,.registration-alternative{align-items:flex-start;flex-direction:column}.registration-main .button,.registration-alternative .button{width:100%;text-align:center}}
.hero-bll-prompt{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;padding:15px 16px;border:1px solid #c8d9cd;border-radius:9px;background:#f4f8f5;color:#365346}.hero-bll-prompt span{font-size:.92rem;font-weight:650;line-height:1.4}.hero-bll-prompt .button{flex:0 0 auto;padding:9px 14px;font-size:.88rem}@media(max-width:800px){.hero-bll-prompt{align-items:stretch;flex-direction:column}.hero-bll-prompt .button{width:100%;text-align:center}}
.settings-wrap{width:min(920px,calc(100% - 32px));margin:48px auto}.settings-year{display:flex;align-items:end;gap:12px;margin:24px 0}.settings-year .field{min-width:230px;margin:0}.form-setting-overview{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:26px 0}.setting-summary{display:flex;align-items:flex-start;flex-direction:column;gap:8px;padding:22px;border:2px solid #d7dee8;border-radius:10px;background:#f8fafc;color:#1c2733;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}.setting-summary:hover{transform:translateY(-2px);border-color:#91a9c4;box-shadow:0 8px 22px #19365316}.setting-summary.active{border-color:var(--blue);box-shadow:0 0 0 3px #235a9615}.setting-summary.bll.active{border-color:#365d44;box-shadow:0 0 0 3px #365d4415}.setting-type{color:#526273;font-size:.83rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.setting-summary strong{font-size:1.15rem;color:#142f50}.setting-state{padding:3px 8px;border-radius:5px;font-size:.78rem;font-weight:800}.setting-state.open{background:#dff2e5;color:#226038}.setting-state.closed{background:#fae7e7;color:#852020}.setting-summary small{color:#687585}.settings-editor{margin-top:30px;padding:28px;border-top:5px solid var(--blue);border-radius:10px;background:#f7f9fc}.settings-editor.bll{border-top-color:#365d44;background:#f5f9f6}.settings-editor-heading{margin-bottom:24px}.settings-editor-heading h2{margin:7px 0}.settings-editor-heading p{margin:0;color:#526273}@media(max-width:700px){.settings-wrap{margin:20px auto}.settings-year{align-items:stretch;flex-direction:column}.settings-year .field{min-width:0}.form-setting-overview{grid-template-columns:1fr}.settings-editor{padding:22px}}
