@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600&display=swap');

/* Einheitliche, mittig ausgerichtete Kontoformulare. */
.account-intro{margin-inline:auto!important;text-align:center}
.account-form-card{width:min(100%,760px);margin-inline:auto!important}.account-resend-card{max-width:560px}

:root{--ink:#092f3d;--muted:#62747a;--water:#2cb6b1;--deep:#073b4c;--foam:#f5fbfa;--sand:#fff8ec;--coral:#f08a68;--line:#dce9e7;--white:#fff;--shadow:0 18px 55px rgba(7,59,76,.10)}
h1:focus{outline:none}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #f0a46f;outline-offset:2px}
.sidebar .nav-link{color:#c7dadd}.sidebar .nav-link:hover{color:#fff}.sidebar .nav-link.active{background:#fff;color:#073b4c;font-weight:800}.sidebar .nav-link.active span{color:#15988f}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:#f7fbfa}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Fraunces',Georgia,serif;letter-spacing:-.03em}h1{font-size:clamp(2.5rem,5vw,4.8rem);line-height:1.02}h2{font-size:clamp(1.55rem,3vw,2.35rem)}em{color:var(--water);font-style:normal}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 1.25rem;border:0;border-radius:12px;background:var(--deep);color:#fff;font-weight:700;cursor:pointer;box-shadow:0 8px 22px rgba(7,59,76,.16)}.button:hover{transform:translateY(-1px);background:#0a4c60}.button-small{min-height:34px;padding:0 .85rem}.button-light{background:#fff;color:var(--deep)}.text-link{color:var(--deep);font-weight:700}.eyebrow{display:block;margin-bottom:.65rem;color:#168982;font-size:.76rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.content{padding:2.1rem clamp(1.1rem,3vw,3rem) 4rem;max-width:1500px;width:100%;margin:0 auto}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin-bottom:2rem}.page-heading h1{font-size:clamp(2rem,4vw,3.2rem);margin-bottom:.5rem}.page-heading p{color:var(--muted);max-width:640px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.2rem}.stat-grid article,.panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 7px 30px rgba(7,59,76,.045)}.stat-grid article{padding:1.2rem 1.3rem}.stat-grid span,.stat-grid small{display:block;color:var(--muted)}.stat-grid strong{display:block;font-family:'Fraunces',serif;font-size:2.45rem;margin:.35rem 0}.stat-grid .attention{background:var(--sand);border-color:#f3dfbd}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.8fr);gap:1.2rem}.panel{padding:1.4rem}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);margin:-.1rem -.1rem 1rem;padding:.1rem .1rem 1rem}.panel-heading h2{font-size:1.45rem;margin-bottom:0}.panel-heading a{font-weight:700;color:#168982}.timeline article{display:grid;grid-template-columns:65px 1fr auto;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid #edf3f2}.timeline article:last-child{border:0}.timeline time{font-weight:800}.timeline div span,.attendance-row div span{display:block;color:var(--muted);font-size:.9rem;margin-top:.25rem}.pill,.sync-badge{padding:.4rem .65rem;border-radius:999px;background:#e2f6f3;color:#0c716b;font-size:.8rem;font-weight:800}.pill.muted{background:#edf1f1;color:#677}.quick-grid{display:grid;gap:.55rem}.quick-grid a{display:flex;justify-content:space-between;padding:.9rem 1rem;border-radius:12px;background:var(--foam);font-weight:700}.quick-grid a:hover{background:#e7f5f3}.module-placeholder{display:flex;align-items:center;gap:1.5rem;min-height:280px}.module-placeholder p{max-width:720px;color:var(--muted)}.module-icon{display:grid;place-items:center;flex:0 0 92px;height:92px;border-radius:25px;background:#dcf4f1;color:#11877f;font-size:2.4rem}.tag-row{display:flex;gap:.5rem;flex-wrap:wrap}.tag-row span{padding:.4rem .65rem;background:var(--foam);border-radius:8px;color:#39716d;font-size:.82rem;font-weight:700}.teacher-card{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem}.teacher-card h2{margin:.4rem 0}.course-level{color:#168982;font-size:.77rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.attendance-row{display:grid;grid-template-columns:46px 1fr auto;gap:1rem;align-items:center}.avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#dcf4f1;font-weight:800}.attendance-actions{display:flex;gap:.5rem}.attendance-actions button{padding:.6rem .8rem;border:1px solid var(--line);border-radius:9px;background:#fff}.attendance-actions .present{background:#e0f6ee;border-color:#b8e6d6;color:#13714e}.progress-track{height:10px;background:#e7efee;border-radius:10px;overflow:hidden;margin:1rem 0}.progress-track span{display:block;height:100%;background:var(--water);border-radius:10px}

.public-shell{min-height:100vh;background:#fff}.public-header{height:84px;display:flex;align-items:center;justify-content:space-between;max-width:1240px;margin:auto;padding:0 2rem}.public-brand,.brand{display:flex;align-items:center;gap:.75rem}.public-brand span:last-child,.brand span:last-child{display:flex;flex-direction:column}.public-brand small,.brand small{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:50% 50% 45% 55%;background:var(--water);color:#fff;font-family:'Fraunces',serif;font-size:1.35rem}.public-header nav{display:flex;gap:1.8rem;font-weight:600;font-size:.92rem}.public-header nav a:last-child{padding:.65rem 1rem;border:1px solid var(--deep);border-radius:9px}.hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:5vw;min-height:660px;padding:6rem max(2rem,calc((100vw - 1180px)/2));background:linear-gradient(135deg,#f6fcfa 0%,#e7f5f3 100%)}.hero:after{content:"";position:absolute;left:-8vw;bottom:-160px;width:70vw;height:280px;border-radius:50%;background:rgba(44,182,177,.09)}.hero-copy{position:relative;z-index:1}.hero-copy>p{max-width:610px;font-size:1.12rem;line-height:1.75;color:#506970}.hero-actions,.trust-row{display:flex;align-items:center;gap:1.3rem;flex-wrap:wrap}.hero-actions{margin:2rem 0}.trust-row{font-size:.82rem;font-weight:700;color:#557176}.water-card{position:relative;min-height:390px;padding:3rem;border-radius:44% 56% 50% 50%/48% 42% 58% 52%;background:linear-gradient(150deg,#0b6877,#2cb6b1);color:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:center;overflow:hidden}.water-card strong{font-family:'Fraunces',serif;font-size:2rem;max-width:320px}.water-card p{line-height:1.7;opacity:.85;margin:1rem 0 2rem}.water-card a{font-weight:800}.water-kicker{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.7rem}.bubble{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.28)}.bubble-one{width:150px;height:150px;right:-30px;top:-20px}.bubble-two{width:70px;height:70px;right:60px;bottom:40px}.feature-section{max-width:1180px;margin:0 auto;padding:7rem 2rem}.feature-section>h2{max-width:620px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.5rem}.feature-grid article{padding:2rem;border-top:2px solid var(--water);background:var(--foam);min-height:210px}.feature-grid h3{margin-top:2rem}.feature-grid p{color:var(--muted);line-height:1.6}.feature-number{font-family:'Fraunces',serif;color:#168982}.public-cta{max-width:1180px;margin:0 auto 5rem;padding:3rem 3.5rem;border-radius:24px;background:var(--deep);color:#fff;display:flex;justify-content:space-between;align-items:center}.public-cta h2{margin:0}.public-footer{display:flex;justify-content:space-between;max-width:1240px;margin:auto;padding:2rem;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}.catalog-hero{text-align:center;padding:clamp(1.5rem,3vw,2.75rem) 1.5rem;background:var(--foam)}.catalog-hero h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.12;margin:.4rem 0 .65rem}.catalog-hero p{max-width:780px;margin:0 auto;color:var(--muted);line-height:1.55}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;max-width:1180px;margin:0 auto;padding:4rem 2rem 6rem}.course-card{padding:2rem;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.course-card h2{font-size:1.65rem;margin:.7rem 0}.course-card>p{color:var(--muted);line-height:1.6}.course-card dl{margin:1.5rem 0}.course-card dl div{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--line)}.course-card dt{color:var(--muted)}.course-card dd{margin:0;font-weight:700;text-align:right}

#blazor-error-ui{color-scheme:light only;background:#fff3cd;bottom:0;box-shadow:0 -1px 2px rgba(0,0,0,.2);display:none;left:0;padding:.8rem 1.25rem;position:fixed;width:100%;z-index:1000}.validation-message{color:#b42318}.invalid{outline:1px solid #b42318}.valid.modified:not([type=checkbox]){outline:1px solid #18864b}
.admin-toolbar{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem;padding:1rem}.admin-search{flex:1;min-width:180px;padding:.75rem .9rem;border:1px solid var(--line);border-radius:10px;background:#fbfdfd}.check-label{display:flex!important;align-items:center;gap:.55rem;color:var(--muted);font-weight:600}.check-label input{width:18px!important;height:18px}.admin-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:1.2rem;align-items:start}.admin-list{padding:0;overflow:hidden}.admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1rem;align-items:center;padding:1rem 1.2rem;border-bottom:1px solid var(--line)}.admin-row:last-child{border-bottom:0}.admin-row>div:first-child,.person-cell>div,.child-card>div:first-child,.row-main-button{display:flex;flex-direction:column;gap:.2rem}.admin-row span,.child-card span,.child-card small,.row-main-button span,.row-main-button small{color:var(--muted);font-size:.86rem}.admin-row.is-archived,.child-card.is-archived{background:#f6f8f8;opacity:.78}.admin-row.is-selected{box-shadow:inset 4px 0 var(--water);background:var(--foam)}.row-actions{display:flex;gap:.65rem;justify-content:flex-end;flex-wrap:wrap}.text-button,.close-button,.row-main-button{border:0;background:transparent;color:#147b75;font-weight:700;cursor:pointer;padding:0}.close-button{font-size:1.8rem;color:var(--muted)}.row-main-button{text-align:left;color:var(--ink);width:100%}.person-cell{display:flex!important;flex-direction:row!important;align-items:center;gap:.8rem!important}.admin-editor{position:sticky;top:1rem}.admin-editor h2{font-size:1.45rem;margin-bottom:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0 1.2rem}.form-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:700}.form-grid input:not([type=checkbox]),.form-grid textarea{width:100%;padding:.72rem .8rem;border:1px solid #cbdcda;border-radius:9px;background:#fff;color:var(--ink)}.form-wide{grid-column:1/-1}.form-note,.muted-copy{color:var(--muted);font-size:.9rem}.status-banner{padding:.8rem 1rem;margin-bottom:1rem;border-radius:10px;font-weight:700}.status-success{background:#e3f6ed;color:#176547}.status-error{background:#fff0ed;color:#a53324}.empty-state{display:flex;min-height:170px;align-items:center;justify-content:center;flex-direction:column;gap:.4rem;text-align:center;color:var(--muted);padding:2rem}.empty-state strong{color:var(--ink);font-size:1.05rem}.empty-state.large{min-height:360px}.detail-list{display:grid;gap:.6rem;margin:0 0 1.5rem}.detail-list>div{display:grid;grid-template-columns:90px 1fr;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line)}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;font-weight:600}.subsection-heading{display:flex;align-items:center;justify-content:space-between;margin:1.3rem 0 .7rem}.subsection-heading h3{margin:0}.child-list{display:grid;gap:.65rem}.child-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;padding:.9rem;border:1px solid var(--line);border-radius:11px}.child-card .row-actions{grid-column:1/-1}.audit-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{text-align:left;padding:.8rem;border-bottom:1px solid var(--line);white-space:nowrap}.admin-table th{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}
.account-intro{max-width:720px;margin-bottom:1.5rem}.account-intro h1{font-size:clamp(2.2rem,4vw,3.5rem);margin-bottom:.6rem}.account-intro p{color:var(--muted);line-height:1.6}.account-form-card{max-width:760px}.account-form-card .form-grid{margin-top:0}.account-submit{width:100%}.account-switch{text-align:center;margin:1rem 0 0}.account-switch a,.consent-check a{color:#147b75;text-decoration:underline}.consent-check{align-items:flex-start!important;font-weight:500!important;line-height:1.5}.consent-check input{flex:0 0 auto;margin-top:.2rem}.legal-page{max-width:850px;margin:0 auto;padding:5rem 2rem 7rem}.legal-page h1{font-size:clamp(2.8rem,5vw,4.5rem)}.legal-page h2{margin:2.5rem 0 .7rem}.legal-page p{color:var(--muted);font-size:1.02rem;line-height:1.75}.legal-lead{font-size:1.15rem!important}.legal-warning{margin-top:3rem;padding:1.2rem;border-left:4px solid var(--coral);background:var(--sand);line-height:1.6}.family-stats{grid-template-columns:repeat(3,1fr)}.customer-dashboard{margin-bottom:1.2rem}.customer-child-grid{display:grid;gap:.75rem}.customer-child-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:.9rem;border:1px solid var(--line);border-radius:12px}.customer-child-card>div:nth-child(2){display:flex;flex-direction:column;gap:.15rem}.customer-child-card span,.customer-child-card small{color:var(--muted);font-size:.85rem}.portal-editor{max-width:760px;margin:1.2rem auto 0}
.form-grid select{width:100%;padding:.72rem .8rem;border:1px solid #cbdcda;border-radius:9px;background:#fff;color:var(--ink)}.course-admin-grid{grid-template-columns:minmax(0,1.05fr) minmax(410px,.95fr)}.course-row{grid-template-columns:minmax(0,1fr) auto}.course-row .row-actions{grid-column:1/-1;justify-content:flex-start}.course-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin-bottom:1.2rem}.course-metrics div{padding:.85rem;border-radius:11px;background:var(--foam)}.course-metrics span{display:block;color:var(--muted);font-size:.78rem}.course-metrics strong{display:block;margin-top:.25rem;font-size:1.05rem}.course-status-actions{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem}.booking-list{display:grid;gap:.65rem}.booking-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:center;padding:.85rem;border:1px solid var(--line);border-radius:11px}.booking-row>div:first-child{display:flex;flex-direction:column}.booking-row>div:first-child span{color:var(--muted);font-size:.82rem}.booking-row .row-actions{grid-column:1/-1;justify-content:flex-start}.danger-link{color:#a53324}.pill.status-published{background:#e3f6ed;color:#176547}.pill.status-draft{background:#fff4d8;color:#806017}.pill.status-waiting{background:#e8effc;color:#315d9a}.empty-state.compact{min-height:120px}.list-loading{padding:1.2rem}.calendar-toolbar label{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-weight:700}.calendar-toolbar input{padding:.62rem .75rem;border:1px solid var(--line);border-radius:9px}.calendar-layout{display:grid;grid-template-columns:1fr;gap:1.2rem;align-items:start}.calendar-layout.with-editor{grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr)}.calendar-panel{padding:0;overflow:hidden}.calendar-day{display:grid;grid-template-columns:105px 1fr;border-bottom:1px solid var(--line)}.calendar-day:last-child{border-bottom:0}.calendar-date{display:flex;gap:.65rem;padding:1.2rem;background:var(--foam);border-right:1px solid var(--line)}.calendar-date>strong{font-family:'Fraunces',serif;font-size:2rem;line-height:1}.calendar-date>span{display:flex;flex-direction:column;font-weight:700;font-size:.85rem}.calendar-date small{margin-top:.15rem;color:var(--muted);font-weight:500}.calendar-events{padding:.45rem 1rem}.calendar-event{display:grid;grid-template-columns:105px minmax(0,1fr) auto auto;gap:1rem;align-items:center;padding:.8rem 0;border-bottom:1px solid #edf3f2}.calendar-event:last-child{border-bottom:0}.calendar-event>div{display:flex;flex-direction:column;gap:.15rem}.calendar-event div span,.calendar-event div small{color:var(--muted);font-size:.82rem}.calendar-event.is-cancelled{opacity:.62}.calendar-event.is-cancelled strong{text-decoration:line-through}.session-editor{position:sticky;top:1rem}.cancel-check{padding:.8rem;border-radius:9px;background:#fff0ed;color:#8a3124}
@media(max-width:900px){.stat-grid,.feature-grid,.catalog-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.hero,.admin-grid,.course-admin-grid,.calendar-layout.with-editor{grid-template-columns:1fr}.admin-editor,.session-editor{position:static}.water-card{min-height:310px;max-width:600px}}
@media(max-width:640px){.content{padding:1.4rem 1rem 3rem}.page-heading,.teacher-card,.public-cta,.admin-toolbar{flex-direction:column}.admin-toolbar{align-items:stretch}.admin-row{grid-template-columns:1fr auto}.admin-row .row-actions{grid-column:1/-1;justify-content:flex-start}.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}.stat-grid,.feature-grid,.catalog-grid,.course-metrics{grid-template-columns:1fr}.hero{padding:4rem 1.3rem;min-height:auto}.hero h1{font-size:3rem}.water-card{min-height:280px;padding:2rem}.public-header{padding:0 1rem}.public-brand small{display:none}.public-footer{flex-direction:column;gap:.6rem}.attendance-row{grid-template-columns:46px 1fr}.attendance-actions{grid-column:1/-1}.module-placeholder{align-items:flex-start;flex-direction:column}.public-cta{margin:0 1rem 3rem;padding:2rem}.calendar-day{grid-template-columns:1fr}.calendar-date{border-right:0;border-bottom:1px solid var(--line)}.calendar-event{grid-template-columns:1fr auto}.calendar-event time{grid-column:1/-1}.calendar-event>div{grid-column:1/-1}.calendar-event .text-button{justify-self:start}}

/* Blaue Delfin-Akzente auf öffentlichen Seiten und in allen Portalen. */
:root{--water:#175bab}
.sidebar .nav-link.active span,.eyebrow,.panel-heading a,.module-icon,.tag-row span,.course-level,.feature-number,.text-button,.account-switch a,.consent-check a,.state-present,.attendance-button.present,.attendance-button.present.active,.request-history b.approved,.text-success{color:#175bab!important}
.status-success,.request-result:not(.error),.pill.status-published{border-color:#bfd7f1!important;background:#eaf4ff!important;color:#175bab!important}
.pill:not(.muted),.sync-badge{background:#eaf4ff!important;color:#175bab!important}
