:root{--navy:#0b3558;--blue:#174f79;--sky:#eaf3f8;--bg:#f3f6f8;--white:#fff;--ink:#172433;--muted:#647482;--line:#dce5eb;--green:#24775b;--red:#a53838;--amber:#a36b00;--radius:16px;--shadow:0 12px 35px rgba(18,49,72,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}.app-topbar,.student-header{position:sticky;top:0;z-index:50;height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px}.app-brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:900}.app-brand img{display:block;border-radius:12px}.app-brand span{display:flex;flex-direction:column;line-height:1.05}.app-brand small{font-size:.7rem;color:var(--muted);margin-top:4px}.top-actions,.student-header nav{display:flex;align-items:center;gap:16px}.top-actions form,.student-header nav form{margin:0}.app-menu{display:none;border:0;background:transparent;font-size:1.5rem}.app-shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 68px)}.sidebar{background:#0d2d47;color:#fff;padding:24px 14px}.sidebar nav{display:grid;gap:5px}.sidebar a{color:#d7e4ec;padding:11px 13px;border-radius:10px;font-weight:700}.sidebar a:hover{background:rgba(255,255,255,.09);color:#fff}.app-main{padding:28px;min-width:0}.student-main{width:min(1100px,calc(100% - 30px));margin:28px auto 90px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-heading h1{margin:0;font-size:clamp(1.8rem,3vw,2.6rem);letter-spacing:-.035em}.panel,.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);margin-bottom:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.panel h2,.card h2{margin-top:0}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stat-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;color:var(--ink);box-shadow:var(--shadow)}.stat-card strong{font-size:2.2rem;line-height:1;color:var(--navy)}.stat-card span{color:var(--muted);font-weight:700;margin-top:8px}.dashboard-grid,.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.quick-grid{grid-template-columns:repeat(4,1fr)}.quick-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:grid;gap:7px;color:var(--ink)}.quick-card span{color:var(--muted)}.focus-card{background:linear-gradient(135deg,var(--navy),#1c5c87);color:#fff}.focus-card .eyebrow,.focus-card p{color:#d6e7f1}.timeline{display:grid}.timeline-row{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:18px;padding:16px 0;border-top:1px solid var(--line);align-items:center}.timeline-row:first-child{border-top:0}.timeline-row time{font-size:1.35rem;font-weight:900;color:var(--navy)}.timeline-row div{display:grid}.timeline-row span,.timeline-row small{color:var(--muted)}.alert{padding:13px 16px;border-radius:12px;margin:0 0 18px}.alert-success{background:#e6f6ef;color:#155b43}.alert-error{background:#fdecec;color:#8a2929}.alert-info{background:#eaf3f8;color:#184e72}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:12px 17px;font-weight:800;cursor:pointer;background:#e7edf1;color:var(--ink)}.button.primary{background:var(--navy);color:#fff}.button.small{padding:9px 13px}.button.tiny{padding:6px 9px;font-size:.82rem}.link-button{border:0;background:transparent;color:var(--blue);cursor:pointer;padding:3px;font-weight:750}.link-button.danger{color:var(--red)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid h2{grid-column:1/-1;margin:14px 0 0}.form-grid label{display:grid;gap:6px;font-weight:750}.span-2{grid-column:1/-1}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{font-weight:750}label small{font-weight:500;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #bccbd5;background:#fff;border-radius:10px;padding:10px 11px;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:3px solid rgba(23,79,121,.13);border-color:var(--blue)}.checkbox{grid-template-columns:auto 1fr!important;align-items:start}.checkbox input{width:auto;margin-top:4px}.filter-bar{display:flex;align-items:end;gap:12px;background:#fff;border:1px solid var(--line);padding:14px;border-radius:14px;margin-bottom:18px}.filter-bar label{display:grid;gap:4px}.filter-bar .grow{flex:1}.table-panel{overflow:auto;padding:0}.data-table{width:100%;border-collapse:collapse;min-width:850px}.data-table th,.data-table td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}.data-table th{background:#f7f9fb;color:#526372;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.data-table input,.data-table select{padding:7px 8px}.inline-edit{display:flex;gap:6px;flex-wrap:wrap}.inline-edit input{width:160px}.inline-edit select{width:auto}.status{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e8eef2;color:#465b6a;font-size:.75rem;font-weight:850}.status.paid,.status.active,.status.completed{background:#dff4eb;color:#176045}.status.warning{background:#fff1cc;color:#7b5200}.status.cancelled{background:#fde8e8;color:#922f2f}.list-stack{display:grid}.list-row{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-top:1px solid var(--line);align-items:center}.list-row:first-child{border-top:0}.list-row>div:first-child{display:grid}.list-row span{color:var(--muted)}.row-actions{display:flex;align-items:center;gap:12px}.package-card{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line)}.booking-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:start}.booking-selector,.booking-form{margin:0}.slot-list{display:grid;gap:10px;margin-top:15px;max-height:620px;overflow:auto}.slot-button{width:100%;display:grid;grid-template-columns:1fr auto;gap:4px 14px;text-align:left;padding:13px;border:1px solid var(--line);background:#fff;border-radius:11px;cursor:pointer}.slot-button:hover,.slot-button.selected{border-color:var(--blue);background:#f0f7fb}.slot-button .slot-price{grid-column:2;grid-row:1/3;text-align:right}.slot-button small{color:var(--muted)}.slot-button .bonus{color:var(--green);font-weight:800}.selected-slot{padding:13px;border-radius:11px;background:var(--sky);margin-bottom:15px}.student-header{height:auto;min-height:68px}.mobile-tabs{display:none}.content-editor .panel{margin-bottom:14px}.sticky-save{position:sticky;bottom:14px;display:flex;justify-content:flex-end;padding:10px}.vehicle-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.admin-vehicle-image{width:100%;height:240px;object-fit:cover;border-radius:12px}.new-card{border-style:dashed}.competency-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.competency{display:grid;padding:12px;border:1px solid var(--line);border-radius:11px}.competency span{font-size:.72rem;color:var(--muted);text-transform:uppercase}.competency em{justify-self:end;font-style:normal;font-weight:900;color:var(--blue)}.install-page{background:linear-gradient(135deg,#e7f2f7,#f8f6ee);min-height:100vh;padding:40px}.install-shell{width:min(900px,100%);margin:auto}.install-heading{display:flex;gap:18px;align-items:center;margin-bottom:22px}.install-heading h1{margin:0}.install-heading p{margin:4px 0;color:var(--muted)}.install-shell .card{padding:28px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:900;color:var(--blue)}code{background:#eef2f5;padding:2px 5px;border-radius:5px}.filter-tabs{display:flex;gap:8px;margin-bottom:12px}.filter-tabs a{padding:8px 11px;background:#fff;border:1px solid var(--line);border-radius:9px}@media(max-width:1050px){.stat-grid,.quick-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.vehicle-admin-grid{grid-template-columns:1fr}.competency-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{display:none;position:fixed;z-index:60;left:0;top:68px;bottom:0;width:260px}.sidebar.open{display:block}.app-menu{display:block}.top-actions>span{display:none}.app-main{padding:18px}.booking-grid{grid-template-columns:1fr}.student-header nav a{display:none}.mobile-tabs{display:flex;position:fixed;z-index:40;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);justify-content:space-around;padding:10px}.mobile-tabs a{font-weight:800}.timeline-row{grid-template-columns:58px 1fr}.timeline-row>a{display:none}}@media(max-width:600px){.install-page{padding:16px}.form-grid,.two-cols,.stat-grid,.quick-grid,.dashboard-grid,.competency-grid{grid-template-columns:1fr}.span-2,.form-grid h2{grid-column:auto}.app-topbar{padding:0 12px}.top-actions>a{display:none}.app-main{padding:13px}.student-main{width:calc(100% - 20px);margin-top:12px}.panel,.card{padding:16px}.timeline-row{gap:10px}.list-row{align-items:flex-start;flex-direction:column}.row-actions{width:100%;justify-content:space-between}.filter-bar{align-items:stretch;flex-direction:column}.data-table{min-width:760px}}
.availability-form{display:grid;gap:18px}.availability-grid{display:grid;gap:9px}.availability-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(120px,.7fr) minmax(120px,.7fr);gap:14px;align-items:end;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#f9fbfc}.availability-row .day-toggle{align-self:center;font-size:1rem}.availability-panels{grid-template-columns:1fr 1.2fr}.muted{color:var(--muted)}.offline-note{padding:10px 13px;border-radius:10px;background:#fff7df;color:#735200;font-weight:700;margin-bottom:12px}.draft-status{display:block;margin-top:8px;color:var(--muted);font-size:.78rem;font-weight:600}@media(max-width:850px){.availability-panels{grid-template-columns:1fr}.availability-row{grid-template-columns:1fr 1fr}.availability-row .day-toggle{grid-column:1/-1}}@media(max-width:520px){.availability-row{grid-template-columns:1fr}}
.content-group{margin-bottom:34px}.content-group-title{margin:0 0 12px;font-size:1.35rem;color:var(--navy)}.content-field .panel-head h3{margin:0}.content-field .panel-head small{color:var(--muted)}
.card-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card-admin-grid .card{margin:0}.form-grid.compact{gap:10px}.qr-box{display:flex;align-items:center;justify-content:center;width:max-content;max-width:100%;padding:10px;background:#fff;border:1px solid var(--line);border-radius:12px;margin:10px 0}.qr-box svg{display:block;max-width:100%;height:auto}.mono-link{display:block;max-width:260px;overflow-wrap:anywhere;font-size:.78rem}.scan-panel{max-width:620px;margin-inline:auto;text-align:center}.scan-panel form{text-align:left}.balance-display{display:flex;flex-direction:column;align-items:center;margin:24px 0}.balance-display strong{font-size:4rem;line-height:1;color:var(--navy)}.balance-display span{color:var(--muted);font-weight:800}.button.big{font-size:1.05rem;padding:15px 22px}.status.redeemed{background:#e8eef2;color:#465b6a}.status.expired{background:#fde8e8;color:#922f2f}.platform-domain{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.offline-transaction-note{border-left:4px solid var(--amber);padding:10px 14px;background:#fff7df}@media(max-width:1150px){.card-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.card-admin-grid{grid-template-columns:1fr}}

/* Karten, Guthaben und Quittungsstatus */
.package-overview .span-2{grid-column:span 2}.qr-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.qr-package-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;border:1px solid var(--line);border-radius:14px;padding:16px;background:#f9fbfc}.qr-package-card>div:first-child{display:flex;flex-direction:column;gap:5px}.package-balance{font-size:1.15rem;font-weight:900;color:var(--navy)}.credit-balance{font-size:2rem;font-weight:900;color:var(--navy);margin:.25rem 0}.receipt-missing{background:#fffaf0}.table-scroll{overflow-x:auto}.compact-stats .card{display:flex;flex-direction:column}.compact-stats .metric{font-size:2rem;font-weight:900;color:var(--navy)}
@media(max-width:850px){.package-overview .span-2{grid-column:auto}.qr-card-grid{grid-template-columns:1fr}}
@media(max-width:520px){.qr-package-card{grid-template-columns:1fr}.qr-package-card .qr-box{margin-inline:auto}}

/* Lektionsbewertung und Ausbildungskarte */
.assessment-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.assessment-head h2{margin:0}.assessment-head-actions,.timeline-actions,.booking-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.timeline-actions form,.booking-actions form{margin:0}.assessment-form{padding-bottom:92px}.assessment-group{padding:0;overflow:hidden}.assessment-group .panel-head{padding:18px 20px;margin:0;border-bottom:1px solid var(--line)}.assessment-list{display:grid}.assessment-row{display:grid;grid-template-columns:minmax(170px,1.15fr) minmax(400px,2.2fr) minmax(110px,.6fr);gap:16px;align-items:center;padding:15px 20px;border-top:1px solid var(--line)}.assessment-row:first-child{border-top:0}.assessment-topic{display:grid;gap:3px}.assessment-topic small{color:var(--muted)}.rating-options{display:grid;grid-template-columns:repeat(4,minmax(82px,1fr));gap:8px}.rating-choice{position:relative}.rating-choice input{position:absolute;opacity:0;pointer-events:none}.rating-choice span{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:8px;border:1px solid #b9c9d3;border-radius:10px;background:#fff;cursor:pointer;font-size:.82rem}.rating-choice b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e8eef2;color:var(--navy);text-transform:uppercase}.rating-choice input:checked+span{border-color:var(--blue);background:#eaf3f8;box-shadow:0 0 0 2px rgba(23,79,121,.12)}.rating-choice input:focus-visible+span{outline:3px solid rgba(23,79,121,.22)}.practice-choice{display:flex!important;align-items:center;gap:8px!important;font-size:.88rem}.practice-choice input{width:auto}.assessment-savebar{position:sticky;bottom:12px;z-index:35;display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 14px 40px rgba(18,49,72,.18);backdrop-filter:blur(10px)}.bookings-table .booking-actions{min-width:170px}.competency small{color:var(--muted);margin-top:4px}
@media(max-width:1050px){.assessment-row{grid-template-columns:1fr}.rating-options{grid-template-columns:repeat(4,1fr)}.practice-choice{justify-self:start}.assessment-head{align-items:flex-start;flex-direction:column}.timeline-actions{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.rating-options{grid-template-columns:repeat(2,1fr)}.assessment-row{padding:14px}.assessment-group .panel-head{padding:15px}.assessment-savebar{align-items:stretch;flex-direction:column}.assessment-savebar .button{width:100%}}

/* Vereinfachte Buchung: Fahrzeug -> Einzel/Doppel -> Termin */
.booking-step{display:grid;gap:14px;padding:4px 0 22px;border-bottom:1px solid var(--line);margin-bottom:22px}.booking-step:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.booking-step-title{display:flex;align-items:flex-start;gap:12px}.booking-step-title>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;font-weight:900}.booking-step-title h2{margin:0;font-size:1.2rem}.booking-step-title p{margin:3px 0 0;color:var(--muted)}.booking-choice-grid{display:grid;gap:12px}.vehicle-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-choice{width:100%;border:2px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);cursor:pointer;text-align:left;transition:.15s ease}.booking-choice:hover{border-color:#8eabbc;transform:translateY(-1px)}.booking-choice.selected{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,79,121,.12);background:#f2f8fb}.vehicle-choice{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:12px;padding:10px}.vehicle-choice img,.vehicle-placeholder{width:92px;height:72px;border-radius:10px;object-fit:cover;background:#eaf3f8;display:grid;place-items:center;font-size:2rem}.vehicle-choice>span:last-child{display:grid;gap:3px}.vehicle-choice small,.lesson-choice span{color:var(--muted)}.lesson-choice{display:grid;gap:4px;padding:18px}.lesson-choice strong{font-size:1.08rem}.slot-day{display:grid;gap:8px}.slot-day h3{margin:10px 0 2px;font-size:.92rem;color:var(--navy);text-transform:capitalize}.slot-day-list{display:grid;gap:8px}.slot-day .slot-button{grid-template-columns:75px minmax(0,1fr) auto;align-items:center}.slot-day .slot-button>strong{font-size:1.12rem}.slot-day .slot-button>small{grid-column:2}.slot-day .slot-button .bonus{grid-column:2}.slot-day .slot-price{grid-column:3!important;grid-row:1/4!important}.fixed-validity,.voucher-price-box{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#f7fafb}.fixed-validity span,.voucher-price-box span{color:var(--muted);font-weight:750}.voucher-price-box strong{font-size:1.3rem;color:var(--navy)}

/* Schnelle, farbige Lektionsbewertung */
.assessment-guide{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;margin-bottom:20px}.assessment-guide>div{display:flex;align-items:center;gap:10px;padding:13px 15px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.assessment-guide>div>strong:first-child{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff}.assessment-guide .assessment-counter{display:grid;justify-items:center;min-width:125px}.assessment-guide .assessment-counter span{font-size:.78rem;color:var(--muted);font-weight:800}.assessment-guide .assessment-counter strong{font-size:1.8rem;color:var(--navy)}.assessment-simple-group .panel-head{margin-bottom:12px}.assessment-skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.assessment-skill{border:2px solid var(--line);border-radius:15px;background:#fff;overflow:hidden;transition:.15s ease}.assessment-skill.has-rating{box-shadow:0 8px 24px rgba(18,49,72,.08)}.assessment-skill-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:transparent;color:var(--ink);padding:16px;text-align:left;cursor:pointer}.assessment-skill-name{font-weight:900}.assessment-skill-status{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#edf1f4;color:var(--muted);font-size:.78rem;font-weight:900}.assessment-rating-panel{padding:0 14px 14px}.assessment-rating-panel>p{margin:0 0 8px;color:var(--muted);font-weight:800}.assessment-color-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.assessment-color{position:relative}.assessment-color input{position:absolute;opacity:0;pointer-events:none}.assessment-color span{display:grid;gap:1px;min-height:64px;padding:10px;border:2px solid transparent;border-radius:11px;cursor:pointer}.assessment-color strong{font-size:.92rem}.assessment-color small{font-weight:650;opacity:.8}.assessment-color.rating-explained span{background:#e5f1ff;color:#15568d}.assessment-color.rating-practised span{background:#fff2bf;color:#765700}.assessment-color.rating-uncertain span{background:#ffe4e4;color:#8d2929}.assessment-color.rating-independent span{background:#dcf5e8;color:#176143}.assessment-color input:checked+span{border-color:currentColor;box-shadow:0 0 0 2px rgba(0,0,0,.06);transform:translateY(-1px)}.assessment-skill-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}.colourful-practice{display:flex!important;align-items:center;gap:7px!important;padding:7px 10px;border-radius:9px;background:#f3ecff;color:#63358f}.colourful-practice input{width:auto}.assessment-skill.rating-explained{border-color:#6ea9dc;background:#f7fbff}.assessment-skill.rating-practised{border-color:#d5a91d;background:#fffdf5}.assessment-skill.rating-uncertain{border-color:#d86d6d;background:#fff9f9}.assessment-skill.rating-independent{border-color:#5da982;background:#f8fffb}.assessment-skill.rating-explained .assessment-skill-status{background:#dbeeff;color:#15568d}.assessment-skill.rating-practised .assessment-skill-status{background:#ffedac;color:#765700}.assessment-skill.rating-uncertain .assessment-skill-status{background:#ffdada;color:#8d2929}.assessment-skill.rating-independent .assessment-skill-status{background:#d4f1e1;color:#176143}.assessment-notes summary{cursor:pointer;font-weight:900;color:var(--navy)}.assessment-note-fields{margin-top:16px}
@media(max-width:900px){.assessment-guide{grid-template-columns:1fr}.assessment-guide .assessment-counter{display:flex;justify-content:space-between}.assessment-skill-grid{grid-template-columns:1fr}}
@media(max-width:620px){.vehicle-choice-grid,.lesson-choice-grid{grid-template-columns:1fr}.vehicle-choice{grid-template-columns:78px minmax(0,1fr)}.vehicle-choice img,.vehicle-placeholder{width:78px;height:62px}.slot-day .slot-button{grid-template-columns:64px minmax(0,1fr)}.slot-day .slot-price{grid-column:2!important;grid-row:auto!important;text-align:left!important}.assessment-color-options{grid-template-columns:1fr 1fr}.assessment-skill-actions{align-items:flex-start;flex-direction:column}.assessment-skill-button{align-items:flex-start;flex-direction:column}.assessment-skill-status{align-self:flex-start}}

[hidden]{display:none!important}

/* Kartenpreise, Gutscheinversand und Plattform */
.card-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.package-price-form{margin:0}.price-calculation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.price-calculation>div{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#f7fafb}.price-calculation span{font-size:.78rem;color:var(--muted);font-weight:800}.price-calculation strong{font-size:1.18rem;color:var(--navy)}.price-calculation .final{background:#eaf3f8;border-color:#bfd5e2}.inline-money{display:grid!important;grid-template-columns:auto 1fr;align-items:center;gap:6px!important}.inline-money input{padding:7px 8px}.voucher-resend-form{display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:6px;margin-top:8px}.voucher-resend-form input{min-width:0;padding:7px 8px}.platform-nav-link{border:1px solid rgba(255,255,255,.15);margin-top:8px}.platform-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eaf3f8;font-size:.75rem;font-weight:900}.platform-setup-card{max-width:760px}.status.sent{background:#dff4eb;color:#176045}.status.failed{background:#fde8e8;color:#922f2f}.status.pending{background:#fff1cc;color:#7b5200}.status.not_requested{background:#e8eef2;color:#465b6a}

/* Ausbildungsstand auf einen Blick */
.progress-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.progress-stat{display:grid;gap:3px;padding:13px;border-radius:12px;border:2px solid transparent}.progress-stat strong{font-size:1.8rem;line-height:1}.progress-stat span{font-size:.78rem;font-weight:900}.rating-independent{background:#dcf5e8!important;color:#176143!important;border-color:#6fbd94!important}.rating-practised{background:#fff2bf!important;color:#765700!important;border-color:#d8b437!important}.rating-uncertain{background:#ffe4e4!important;color:#8d2929!important;border-color:#d87979!important}.rating-explained{background:#e5f1ff!important;color:#15568d!important;border-color:#77add9!important}.rating-unrated{background:#edf1f4!important;color:#586a77!important;border-color:#cbd5db!important}.progress-bar{display:flex;height:18px;overflow:hidden;border-radius:999px;background:#edf1f4;margin:16px 0}.progress-bar span{display:block;height:100%;border:0!important;border-radius:0}.priority-box{margin-top:18px}.priority-box h3{margin:0 0 10px}.priority-chips{display:flex;flex-wrap:wrap;gap:9px}.priority-chip{display:grid;gap:1px;padding:9px 11px;border-radius:11px;border:1px solid transparent}.priority-chip small{font-weight:750}.progress-competency-grid .competency{border-width:2px}.progress-competency-grid .competency span,.progress-competency-grid .competency em{color:inherit}.progress-details{margin-top:17px}.progress-details summary{cursor:pointer;font-weight:900;color:var(--navy)}.progress-details .competency-grid{margin-top:14px}

@media(max-width:1050px){.card-admin-grid{grid-template-columns:1fr}.progress-stat-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.price-calculation{grid-template-columns:1fr}.progress-stat-grid{grid-template-columns:repeat(2,1fr)}.voucher-resend-form{grid-template-columns:1fr}.platform-badge{display:none}}

/* E-Mail-Test und direkte Kartenpreise */
.mail-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.mail-status-grid>div{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#f7fafb}.mail-status-grid span{font-size:.78rem;color:var(--muted);font-weight:800}.inline-test-mail{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end;max-width:680px}.inline-test-mail label{display:grid;gap:6px}.price-calculation .inline-money input{font-weight:900;color:var(--navy);background:#fff}
@media(max-width:700px){.mail-status-grid{grid-template-columns:1fr}.inline-test-mail{grid-template-columns:1fr}}

/* Buchung als isolierter Block: Fahrzeug → Lektion → Termin */
.booking-flow{display:grid;gap:18px}.booking-step{padding:22px}.booking-step-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}.booking-step-head>span{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;font-weight:900}.booking-step-head h2{margin:0 0 4px}.booking-step-head p{margin:0;color:var(--muted)}.vehicle-choice-grid,.lesson-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vehicle-choice,.lesson-choice{appearance:none;width:100%;border:2px solid var(--line);border-radius:17px;background:#fff;color:var(--text);text-align:left;cursor:pointer;position:relative}.vehicle-choice.selected,.lesson-choice.selected{border-color:var(--blue);box-shadow:0 0 0 4px rgba(23,79,121,.1)}.vehicle-choice{display:grid;grid-template-columns:125px 1fr auto;align-items:center;overflow:hidden;min-height:108px;padding-right:14px}.vehicle-choice-image{height:108px;background:var(--sky);display:grid;place-items:center;overflow:hidden}.vehicle-choice-image img{width:100%;height:100%;object-fit:cover}.vehicle-choice-copy{display:grid;gap:4px;padding:14px}.vehicle-choice-copy strong{font-size:1.08rem}.vehicle-choice-copy small{color:var(--muted)}.choice-check{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#edf2f5;color:transparent;font-weight:900}.selected .choice-check{background:var(--blue);color:#fff}.lesson-choice{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:19px}.lesson-choice>span:first-child{display:grid}.lesson-choice small{color:var(--muted)}.lesson-choice b{color:var(--navy)}.booking-location-note{display:flex;gap:10px;align-items:center;padding:12px 15px;border-radius:13px;background:#eef6fa;border:1px solid #d7e7ef}.booking-location-note span{color:var(--muted)}.slot-list{display:grid;gap:18px}.slot-day{display:grid;gap:9px}.slot-day h3{margin:0;font-size:1rem;text-transform:capitalize}.slot-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.slot-button{position:relative;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;width:100%;min-height:88px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left;cursor:pointer}.slot-button.selected{border:2px solid var(--blue);background:#f3f8fb}.slot-clock,.slot-details{display:grid;gap:2px}.slot-clock small,.slot-details small{color:var(--muted)}.slot-details{text-align:right}.slot-badge{grid-column:1/-1;justify-self:start;padding:4px 8px;border-radius:999px;font-size:.7rem;font-weight:900}.slot-badge.bonus{background:#fff1bd;color:#6c5200}.slot-badge.recommended{background:#e0f1e9;color:#176746}.selected-slot{padding:14px;border-radius:13px;background:#eef6fa;margin-bottom:14px}
/* Treffpunkt-Editor und klickbare Karte */
.settings-stack{display:grid;gap:18px}.location-settings{display:grid;gap:20px}.location-editor-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:18px;align-items:stretch}.location-fields{display:grid;gap:12px;align-content:start}.location-fields h3{margin:0}.compact-fields{gap:10px}.coordinate-fields input{font-family:monospace}.prominent-check{padding:14px 16px;border-radius:13px;background:#eef6fa}.simple-map{position:relative;min-height:330px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#dce7ed;touch-action:none;cursor:crosshair}.simple-map-tiles{position:absolute;inset:0;overflow:hidden}.simple-map-tiles img{position:absolute;width:256px;height:256px;max-width:none;user-select:none}.simple-map-pin{position:absolute;z-index:4;left:50%;top:50%;width:36px;height:36px;transform:translate(-50%,-100%);pointer-events:none}.simple-map-pin:before{content:"";position:absolute;inset:0;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#c83f3f;box-shadow:0 3px 9px rgba(0,0,0,.25)}.simple-map-pin span{position:absolute;z-index:1;left:12px;top:12px;width:12px;height:12px;border-radius:50%;background:#fff}.simple-map-controls{position:absolute;z-index:6;right:10px;top:10px;display:grid;gap:5px}.simple-map-controls button{width:36px;height:36px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:1.2rem;font-weight:900;cursor:pointer}.simple-map-help,.simple-map-credit{position:absolute;z-index:6;bottom:8px;padding:5px 8px;border-radius:7px;background:rgba(255,255,255,.9);font-size:.68rem}.simple-map-help{left:8px}.simple-map-credit{right:8px}.simple-map-credit a{color:var(--muted)}.map-external-link{justify-self:start}
@media(max-width:900px){.location-editor-grid{grid-template-columns:1fr}.vehicle-choice-grid,.lesson-choice-grid{grid-template-columns:1fr}.slot-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.booking-step{padding:16px}.vehicle-choice{grid-template-columns:90px 1fr auto;min-height:92px}.vehicle-choice-image{height:92px}.lesson-choice{grid-template-columns:1fr auto}.lesson-choice .choice-check{display:none}.slot-time-grid{grid-template-columns:1fr}.simple-map{min-height:280px}}

/* Fahrlehrer-/Fahrzeug-Block: eigene Daten, eigene Zuordnungen, keine Vermischung mit Preisen oder Zahlungen. */
.instructor-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.instructor-form{margin:0}.instructor-form .panel-head{grid-column:1/-1}.instructor-form-actions{display:flex;gap:10px;flex-wrap:wrap}.assignment-fieldset{margin:0;padding:15px;border:1px solid var(--line);border-radius:13px}.assignment-fieldset legend{padding:0 7px;font-weight:850;color:var(--navy)}.assignment-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.assignment-options.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-option{display:grid!important;grid-template-columns:auto 1fr!important;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:11px;background:#f8fafb;cursor:pointer}.assignment-option input{width:auto}.assignment-option>span{display:grid;grid-template-columns:52px 1fr;gap:9px;align-items:center}.assignment-option>span>img{width:52px;height:42px;object-fit:cover;border-radius:7px;grid-row:1/3}.assignment-option strong,.assignment-option small{grid-column:2}.assignment-option small{color:var(--muted)}.assignment-option.text-only>span{grid-template-columns:1fr}.assignment-option.text-only strong,.assignment-option.text-only small{grid-column:1}.assignment-option:has(input:checked){border-color:var(--blue);background:#eef6fa}

/* 60/120 Minuten und optionale Fahrlehrerwahl in der Schüler-App. */
.duration-choice{grid-template-columns:auto minmax(0,1fr) auto auto!important}.duration-number{display:grid!important;place-items:center;align-content:center;min-width:86px;min-height:76px;padding:8px;border-radius:14px;background:var(--navy);color:#fff!important;line-height:1}.duration-number b{font-size:2rem!important;color:#fff!important}.duration-number small{margin-top:4px;color:#d9e8f1!important;font-size:.66rem;font-weight:900;letter-spacing:.12em}.duration-copy{display:grid;gap:3px}.duration-price{white-space:nowrap}.instructor-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.instructor-choice{appearance:none;display:grid;grid-template-columns:104px minmax(0,1fr) auto;align-items:center;width:100%;min-height:96px;padding:0 15px 0 0;border:2px solid var(--line);border-radius:17px;background:#fff;color:var(--ink);overflow:hidden;text-align:left;cursor:pointer}.instructor-choice:hover{border-color:#8ab6cf}.instructor-choice.selected{border-color:var(--blue);box-shadow:0 0 0 4px rgba(23,79,121,.1)}.instructor-choice-image{height:96px;display:grid;place-items:center;background:var(--sky);overflow:hidden}.instructor-choice-image img{width:100%;height:100%;object-fit:cover}.instructor-choice-copy{display:grid;gap:4px;padding:14px}.instructor-choice-copy strong{font-size:1.04rem}.instructor-choice-copy small{color:var(--muted)}

/* Lokale Leaflet-Karte: ein Klick setzt den exakten Punkt, die Textadresse bleibt unabhängig. */
.location-editor-map{position:relative;min-height:390px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#dce7ed;z-index:1;cursor:crosshair}.map-editor-tools{display:grid;gap:12px}.map-mode-buttons{display:flex;gap:9px;flex-wrap:wrap}.map-coordinate-summary{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.85rem}.location-end-fields{padding:16px;border:1px solid var(--line);border-radius:14px;background:#f8fafb}.map-fallback{display:grid;place-items:center;min-height:300px;color:var(--muted)}.map-unavailable:after{content:"Karte konnte nicht geladen werden. Bitte Seite neu laden.";display:grid;place-items:center;min-height:300px;padding:20px;color:var(--muted);text-align:center}.leaflet-container{font:inherit}.leaflet-control-container button{font:inherit}

@media(max-width:1050px){.instructor-admin-grid{grid-template-columns:1fr}}
@media(max-width:800px){.assignment-options,.assignment-options.compact,.instructor-choice-grid{grid-template-columns:1fr}.duration-choice{grid-template-columns:auto 1fr auto!important}.duration-choice .choice-check{display:none}}
@media(max-width:560px){.duration-choice{grid-template-columns:72px minmax(0,1fr)!important}.duration-number{min-width:72px;min-height:68px}.duration-number b{font-size:1.65rem!important}.duration-price{grid-column:2;justify-self:start}.instructor-choice{grid-template-columns:86px minmax(0,1fr) auto}.instructor-choice-image{height:88px}}

/* Verkauf: offene Gutschein-/Kartenbestellungen und persönliche Karten im Schülerportal. */
.commerce-orders-panel{scroll-margin-top:18px}.commerce-count{display:inline-flex;align-items:center;justify-content:center;min-width:74px;padding:7px 11px;border-radius:999px;background:#fff1bd;color:#6c5200;font-weight:900}.commerce-order-list{display:grid;gap:14px}.commerce-order-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:22px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.commerce-order-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.commerce-order-title small{color:var(--muted)}.commerce-order-main h3{margin:12px 0}.commerce-order-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px;margin:0}.commerce-order-details div{display:grid;gap:2px}.commerce-order-details dt{font-size:.76rem;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.commerce-order-details dd{margin:0}.commerce-message{padding:10px 12px;border-radius:11px;background:#f7f9fa}.commerce-order-actions{display:grid;align-content:start;gap:10px;padding:14px;border-radius:14px;background:#f4f7f8}.commerce-order-actions form{display:grid;gap:10px;margin:0}.commerce-order-actions label{display:grid;gap:5px}.commerce-cancel-form{justify-items:start}.commerce-history{margin-top:18px}.commerce-history>summary{cursor:pointer;font-weight:850}.commerce-history .table-scroll{margin-top:12px;overflow-x:auto}.status.pending_payment{background:#fff1bd;color:#6c5200}.status.fulfilled{background:#e0f1e9;color:#176746}.status.cancelled{background:#f7e5e5;color:#8a2929}.empty-state.compact{padding:20px;text-align:center;border:1px dashed var(--line);border-radius:14px}.empty-state.compact p{margin:4px 0 0;color:var(--muted)}
.student-commerce-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}.student-commerce-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.student-commerce-product{display:grid;gap:14px}.student-commerce-product h2{margin:0}.student-commerce-meta{display:flex;gap:8px;flex-wrap:wrap}.student-commerce-meta span{padding:5px 9px;border-radius:999px;background:#eef6fa;color:var(--navy);font-size:.78rem;font-weight:850}.student-commerce-price{font-size:1.45rem;font-weight:950;color:var(--navy)}.student-commerce-order-form{display:grid;gap:10px}.student-commerce-order-form label{display:grid;gap:5px}.student-commerce-orders{display:grid;gap:10px}.student-commerce-order{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 15px;border:1px solid var(--line);border-radius:13px}.student-commerce-order p{margin:3px 0 0;color:var(--muted)}
@media(max-width:850px){.commerce-order-card{grid-template-columns:1fr}.student-commerce-products{grid-template-columns:1fr}.student-commerce-intro{grid-template-columns:1fr}.commerce-order-details{grid-template-columns:1fr}}

/* Gutscheinshop-Einstellungen im Manager. */
.commerce-settings-panel{scroll-margin-top:18px}.commerce-settings-form textarea{min-height:128px;resize:vertical}.commerce-public-link{display:grid;align-content:end;gap:7px}.commerce-public-link>span{font-weight:750}.commerce-settings-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.commerce-settings-actions p{margin:0}.status.inactive{background:#eef1f3;color:#596974}@media(max-width:600px){.commerce-settings-actions{align-items:stretch;flex-direction:column}.commerce-settings-actions .button{width:100%}}


/* Persönliche Kartenbestellung: Bestellbedingungen */
.portal-terms-check{display:flex;align-items:flex-start;gap:.65rem;font-size:.9rem;line-height:1.4;color:var(--muted,#526273)}
.portal-terms-check input{width:1.1rem;height:1.1rem;margin-top:.12rem;flex:0 0 auto}
.portal-terms-check a{font-weight:700;text-decoration:underline}

/* Versandstatus abgeschlossener Gutschein- und Kartenbestellungen. */
.status.partial{background:#fff1cc;color:#7b5200}
.commerce-history .voucher-resend-form{grid-template-columns:1fr;justify-items:start;margin:7px 0 0}
.commerce-history .voucher-resend-form .button{white-space:nowrap}

/* White-Label-Schülerportal: Name und Monogramm der Fahrschule statt Fahrkurve-Marke. */
.school-app-brand{min-width:0}.school-app-brand>span:last-child{min-width:0}.school-app-brand strong{max-width:min(58vw,440px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-brand-mark{display:grid!important;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:13px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;font-size:1.15rem;font-weight:950;line-height:1;box-shadow:0 7px 18px rgba(11,53,88,.2)}
@media(max-width:600px){.school-app-brand strong{max-width:52vw}.school-app-brand small{max-width:52vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

/* White-Label-Logo im Schülerportal und einfache Portalgestaltung im Manager. */
.school-brand-logo{display:grid!important;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden}
.school-brand-logo img{width:100%;height:100%;object-fit:contain;padding:3px}
.portal-brand-settings{overflow:hidden}.portal-domain-card{display:grid;gap:4px;margin-bottom:18px;padding:16px;border:1px solid #cfe0ea;border-radius:14px;background:#f1f8fb}.portal-domain-card span{font-size:.76rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.portal-domain-card strong{font-size:1.1rem;color:var(--navy);overflow-wrap:anywhere}.portal-domain-card small{color:var(--muted)}.portal-brand-grid input[type=color]{min-height:48px;padding:5px;cursor:pointer}.portal-logo-preview{display:flex;align-items:center;gap:18px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fafb}.portal-logo-preview>img{width:92px;height:70px;object-fit:contain;border:1px solid var(--line);border-radius:12px;background:#fff;padding:5px}.portal-logo-preview .checkbox{margin:0}
@media(max-width:600px){.portal-logo-preview{align-items:flex-start;flex-direction:column}.school-brand-logo{width:40px;height:40px;flex-basis:40px}}

/* 2026-08-03: Manager nutzt die verfügbare Breite und die Navigation ist nach Arbeitsbereichen geordnet. */
html,
body.app-body{
  width:100%;
  max-width:none;
  min-width:0;
  min-height:100%;
}
body.app-body{overflow-x:hidden}
.app-topbar,
.app-shell,
.app-main{
  width:100%;
  max-width:none;
  min-width:0;
  margin-left:0;
  margin-right:0;
}
.app-topbar{left:0;right:0}
.app-shell{grid-template-columns:250px minmax(0,1fr)}
.app-main{box-sizing:border-box}
.app-main>.panel,
.app-main>.card,
.app-main>.settlement-toolbar,
.app-main>.settlement-stat-grid,
.app-main>.settlement-open-panel,
.app-main>.settlement-history,
.app-main>.settlement-admin-panel{
  width:100%;
  max-width:none;
  box-sizing:border-box;
}
.sidebar{
  position:sticky;
  top:68px;
  align-self:start;
  height:calc(100vh - 68px);
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:18px 12px 28px;
}
.sidebar .manager-nav{
  display:grid;
  gap:18px;
}
.nav-section{
  display:grid;
  gap:6px;
}
.nav-section+.nav-section{
  padding-top:15px;
  border-top:1px solid rgba(255,255,255,.12);
}
.nav-section-title{
  padding:0 12px 3px;
  color:#84a5bb;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.12em;
  line-height:1.25;
  text-transform:uppercase;
}
.nav-section-links{
  display:grid;
  gap:4px;
}
.sidebar .nav-section-links a{
  position:relative;
  display:flex;
  align-items:center;
  min-height:42px;
  padding:10px 13px;
  border-radius:11px;
  color:#d7e4ec;
  line-height:1.3;
}
.sidebar .nav-section-links a:hover{
  background:rgba(255,255,255,.09);
  color:#fff;
}
.sidebar .nav-section-links a.is-active{
  background:#fff;
  color:var(--navy);
  box-shadow:0 8px 22px rgba(0,0,0,.16);
}
.sidebar .nav-section-links a.is-active:before{
  content:"";
  position:absolute;
  left:0;
  top:10px;
  bottom:10px;
  width:4px;
  border-radius:0 5px 5px 0;
  background:#19a36f;
}

/* Bei schmaleren Desktopfenstern erhält der Inhalt die volle Breite; die Navigation öffnet sich über das Menü. */
@media(max-width:1180px){
  .app-shell{grid-template-columns:minmax(0,1fr)}
  .sidebar{
    display:none;
    position:fixed;
    z-index:60;
    left:0;
    top:68px;
    bottom:0;
    width:min(320px,calc(100vw - 28px));
    height:auto;
    box-shadow:18px 0 48px rgba(5,27,44,.26);
  }
  .sidebar.open{display:block}
  .app-menu{display:block}
  .app-main{padding:24px}
}
@media(max-width:700px){
  .app-main{padding:16px}
  .nav-section-title{font-size:.65rem}
}

/* 2026-08-03: Selten benötigte Funktionen sind in ihren Arbeitsbereich eingebettet. */
.workspace-accordion{
  padding:0;
  overflow:hidden;
  scroll-margin-top:92px;
}
.workspace-accordion>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:19px 22px;
  cursor:pointer;
  list-style:none;
}
.workspace-accordion>summary::-webkit-details-marker{display:none}
.workspace-accordion>summary>span:first-child{display:grid;gap:3px}
.workspace-accordion>summary small{color:var(--muted);font-size:.76rem;font-weight:750}
.workspace-accordion>summary strong{font-size:1.18rem;color:var(--ink)}
.workspace-accordion>summary>b{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  flex:0 0 34px;
  border-radius:50%;
  color:var(--blue);
  background:var(--soft);
  font-size:1.25rem;
  transition:transform .18s ease;
}
.workspace-accordion[open]>summary>b{transform:rotate(45deg)}
.workspace-accordion-body{
  min-width:0;
  padding:22px;
  border-top:1px solid var(--line);
}
.workspace-accordion-body>.panel:first-child,
.workspace-accordion-body>link:first-child+.panel{margin-top:0}
.workspace-subaccordion{
  margin:0 0 14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#f8fafc;
  overflow:hidden;
}
.workspace-subaccordion:last-child{margin-bottom:0}
.workspace-subaccordion>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 18px;
  cursor:pointer;
  list-style:none;
}
.workspace-subaccordion>summary::-webkit-details-marker{display:none}
.workspace-subaccordion>summary strong{font-size:1.02rem}
.workspace-subaccordion>summary span{color:var(--muted);font-size:.84rem;text-align:right}
.workspace-subaccordion-body{padding:18px;border-top:1px solid var(--line);background:#fff}
.workspace-jumpbar{
  position:sticky;
  top:76px;
  z-index:8;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 18px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:15px;
  background:rgba(255,255,255,.94);
  box-shadow:0 10px 28px rgba(11,53,88,.08);
  backdrop-filter:blur(12px);
}
.workspace-jumpbar a{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 12px;
  border-radius:10px;
  color:var(--navy);
  background:var(--soft);
  font-weight:800;
  text-decoration:none;
}
.workspace-jumpbar a.is-primary{color:#fff;background:var(--navy)}
.workspace-primary-section{scroll-margin-top:132px}
.billing-workspace-section{margin-top:18px}
.billing-workspace-section.is-platform{margin-top:28px}
.workspace-summary-count{
  padding:.4rem .7rem;
  border-radius:999px;
  color:var(--blue);
  background:var(--soft);
  font-size:.82rem;
  font-weight:850;
}
.course-practicum-workspace{margin-top:24px}
.availability-holiday-workspace{margin-bottom:18px}
.settings-accordion-body.workspace-accordion-body{padding-top:22px}
@media(max-width:700px){
  .workspace-accordion>summary{padding:16px}
  .workspace-accordion-body{padding:14px}
  .workspace-subaccordion>summary{align-items:flex-start;flex-direction:column;gap:4px}
  .workspace-subaccordion>summary span{text-align:left}
  .workspace-subaccordion-body{padding:12px}
  .workspace-jumpbar{position:static}
  .workspace-jumpbar a{flex:1 1 calc(50% - 8px);justify-content:center;text-align:center}
}

/* Elektronische Schuelerkarte und einmalige Gebuehren */
.training-card-toolbar{display:flex;justify-content:flex-end;gap:.7rem;flex-wrap:wrap;margin:0 0 1rem}.training-card-intro{background:linear-gradient(145deg,#fff,#eef6fa)}.training-card-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem}.training-card-kpis>div{padding:1rem;border:1px solid var(--line);border-radius:16px;background:#fff}.training-card-kpis strong{display:block;font-size:1.65rem;line-height:1}.training-card-kpis span{display:block;margin-top:.35rem;color:var(--muted);font-size:.82rem}.training-card-profile-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}.training-card-legend{display:flex;gap:.55rem;flex-wrap:wrap;margin:0 0 1rem}.training-card-legend span{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .65rem;border-radius:999px;background:var(--soft);font-size:.78rem;font-weight:750}.training-card-legend i{width:.65rem;height:.65rem;border-radius:50%;background:#c7d2dc}.training-card-legend .rating-explained i,.training-card-topic-grid .rating-explained{background:#dcecf8}.training-card-legend .rating-practised i,.training-card-topic-grid .rating-practised{background:#fff0b5}.training-card-legend .rating-uncertain i,.training-card-topic-grid .rating-uncertain{background:#ffd7d7}.training-card-legend .rating-independent i,.training-card-topic-grid .rating-independent{background:#d7f0dd}.training-card-group{border:1px solid var(--line);border-radius:16px;margin:.75rem 0;overflow:hidden}.training-card-group>summary{display:flex;justify-content:space-between;gap:1rem;padding:1rem;cursor:pointer;background:#fff}.training-card-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;padding:1rem;background:var(--soft)}.training-card-topic-grid article{min-width:0;padding:.8rem;border:1px solid rgba(11,53,88,.09);border-radius:12px;background:#fff}.training-card-topic-grid article strong,.training-card-topic-grid article span{display:block}.training-card-topic-grid article span{margin-top:.25rem;color:var(--muted);font-size:.78rem}.one-time-fees-panel .inline-action-details>summary{cursor:pointer;font-weight:750}.one-time-fees-panel .inline-edit{display:grid;grid-template-columns:minmax(130px,1fr) minmax(180px,1fr) auto;gap:.45rem;align-items:center;margin:.65rem 0}.manual-fee-entry{margin-top:1rem}.manual-fee-entry>summary{cursor:pointer}.one-time-fee-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.one-time-fee-setting-card{min-width:0}
@media(max-width:1000px){.training-card-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.training-card-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.one-time-fees-panel .inline-edit{grid-template-columns:1fr}}
@media(max-width:650px){.training-card-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.training-card-topic-grid{grid-template-columns:1fr}.training-card-profile-actions{justify-content:flex-start}.one-time-fee-settings-grid{grid-template-columns:1fr}}

/* Mehrbetriebszugang */
.school-context-switcher{display:flex;align-items:center;margin:0}.school-context-switcher label{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--muted)}.school-context-switcher label>span{font-weight:800}.school-context-switcher select{width:auto;min-width:170px;padding:7px 32px 7px 10px;border-radius:999px;background:#f7f9fb;font-weight:800;color:var(--ink)}

/* Externe Kalender */
.calendar-sync-panel{padding:0;overflow:hidden}.calendar-sync-panel>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px}.calendar-sync-panel>summary::-webkit-details-marker{display:none}.calendar-sync-summary span{display:grid}.calendar-sync-summary strong{font-size:1.15rem}.calendar-sync-summary small{color:var(--muted);font-weight:500}.calendar-sync-summary b{color:var(--blue);white-space:nowrap}.calendar-sync-body{padding:0 22px 22px}.calendar-sync-intro{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.calendar-sync-intro p{margin:0;padding:14px;border:1px solid var(--line);border-radius:13px;background:#f7f9fb;color:var(--muted)}.calendar-sync-list{display:grid;gap:12px;margin-bottom:18px}.calendar-sync-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}.calendar-sync-card.has-error{border-color:#e0a6a6}.calendar-sync-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.calendar-sync-card-head>div:first-child{display:grid}.calendar-sync-card-head span{color:var(--muted)}.calendar-sync-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.calendar-feed-field{display:grid;gap:6px;margin:14px 0}.calendar-feed-field>span{display:flex;gap:8px}.calendar-feed-field input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem}.calendar-sync-status{margin:8px 0;color:var(--muted);font-size:.88rem}.calendar-sync-error{margin:10px 0}.calendar-sync-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.calendar-sync-actions form{margin:0}.calendar-sync-form{padding-top:18px;border-top:1px solid var(--line)}
@media(max-width:820px){.school-context-switcher label>span{display:none}.school-context-switcher select{min-width:120px;max-width:180px}.calendar-sync-intro{grid-template-columns:1fr}}
@media(max-width:600px){.school-context-switcher{order:-1}.school-context-switcher select{max-width:135px}.calendar-sync-panel>summary{align-items:flex-start}.calendar-sync-card-head,.calendar-feed-field>span{flex-direction:column}.calendar-feed-field .button{width:100%}}

/* Arbeitskalender */
.calendar-board{padding:0;overflow:auto}.calendar-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}.calendar-navigation{display:flex;align-items:center;gap:8px;min-width:0}.calendar-navigation strong{margin-left:5px;font-size:1.12rem;white-space:nowrap}.calendar-view-tabs{display:flex;align-items:center;padding:4px;border:1px solid var(--line);border-radius:12px;background:#f7f9fb;overflow:auto}.calendar-view-tabs a{padding:7px 10px;border-radius:8px;color:var(--muted);font-size:.86rem;font-weight:800;white-space:nowrap}.calendar-view-tabs a.is-active{background:#fff;color:var(--navy);box-shadow:0 2px 8px rgba(11,53,88,.1)}.calendar-board-filters{display:grid;grid-template-columns:minmax(150px,1fr) minmax(160px,1fr) minmax(150px,1fr) auto auto;gap:10px;align-items:end;padding:14px 20px;background:#fbfcfd;border-bottom:1px solid var(--line)}.calendar-board-filters label{display:grid;gap:4px;font-size:.82rem}.calendar-board-filters select{padding:8px 9px}.calendar-board-filters .link-button{align-self:center;white-space:nowrap}.calendar-event{--event-colour:#0b3558;position:relative;display:grid;gap:1px;min-width:0;padding:7px 8px 7px 11px;border:1px solid color-mix(in srgb,var(--event-colour) 32%,#fff);border-left:4px solid var(--event-colour);border-radius:9px;background:color-mix(in srgb,var(--event-colour) 8%,#fff);color:var(--ink);overflow:hidden;text-decoration:none}.calendar-event:hover{box-shadow:0 6px 16px rgba(11,53,88,.1)}.calendar-event time{font-size:.72rem;color:var(--muted);font-weight:800}.calendar-event strong{font-size:.86rem;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event span{font-size:.72rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event.is-block{border-style:dashed;background:#f0f3f5}.calendar-event.is-course{border-width:1px 1px 1px 5px;background:color-mix(in srgb,var(--event-colour) 14%,#fff)}.calendar-event.is-course strong:before{content:"Kurs · ";font-weight:900}.calendar-event.is-other-school{border-style:dotted;background:#f6f3ee;opacity:.88}.calendar-event.is-other-school strong{font-style:italic}.calendar-event.status-cancelled{opacity:.48;text-decoration:line-through}.calendar-event.status-completed{opacity:.72}.calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));min-width:1050px}.calendar-week-day{min-height:420px;border-right:1px solid var(--line);background:#fff}.calendar-week-day:last-child{border-right:0}.calendar-week-day.is-today{background:#f6fbfe}.calendar-week-head{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:0 8px;padding:12px 12px 10px;border-bottom:1px solid var(--line);color:var(--ink)}.calendar-week-head span{font-size:.72rem;text-transform:uppercase;color:var(--muted);font-weight:900}.calendar-week-head strong{font-size:1rem}.calendar-week-head b{grid-column:2;grid-row:1/3;align-self:center;display:grid;place-items:center;min-width:26px;height:26px;border-radius:999px;background:#e8eef2;color:var(--navy);font-size:.75rem}.calendar-week-events{display:grid;gap:7px;padding:9px}.calendar-day-empty{display:block;padding:20px 4px;color:#9aa8b2;text-align:center;font-size:.82rem}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));min-width:875px}.calendar-month-weekday{padding:9px 12px;background:#f7f9fb;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.74rem;font-weight:900;color:var(--muted);text-transform:uppercase}.calendar-month-day{min-height:145px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.calendar-month-day:nth-child(7n+7){border-right:0}.calendar-month-day.is-outside{background:#f8fafb;opacity:.65}.calendar-month-day.is-today{box-shadow:inset 0 0 0 2px var(--blue)}.calendar-month-date{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;margin-bottom:6px;color:var(--ink);font-weight:900}.calendar-month-day.is-today .calendar-month-date{background:var(--navy);color:#fff}.calendar-month-events{display:grid;gap:4px}.calendar-month-events .calendar-event{padding:4px 5px 4px 7px;border-radius:6px}.calendar-month-events .calendar-event time{font-size:.64rem}.calendar-month-events .calendar-event strong{font-size:.7rem}.calendar-more{font-size:.72rem;font-weight:800;padding:2px 4px}.calendar-day-scroll,.calendar-timeline-scroll{overflow:auto}.calendar-day-grid{display:grid;grid-template-columns:64px repeat(var(--calendar-columns),minmax(210px,1fr));grid-template-rows:48px 960px;min-width:calc(64px + var(--calendar-columns)*210px)}.calendar-time-head,.calendar-provider-head{position:sticky;top:0;z-index:4;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-provider-head{display:flex;align-items:center;gap:8px;padding:10px 12px}.calendar-provider-head span,.calendar-timeline-name span{width:10px;height:10px;border-radius:50%;background:var(--event-colour);flex:0 0 10px}.calendar-time-axis{position:relative;border-right:1px solid var(--line);background:#f8fafb}.calendar-time-axis span{position:absolute;right:8px;transform:translateY(-50%);font-size:.7rem;color:var(--muted)}.calendar-day-column{position:relative;background:repeating-linear-gradient(to bottom,#fff 0,#fff 29px,#edf1f4 30px,#fff 31px,#fff 59px,#dfe7ec 60px);border-right:1px solid var(--line)}.calendar-positioned-event{position:absolute;left:4px;right:4px;z-index:2;min-height:24px}.calendar-positioned-event .calendar-event{height:100%;padding-top:4px;padding-bottom:4px}.calendar-positioned-event .calendar-event time,.calendar-positioned-event .calendar-event strong,.calendar-positioned-event .calendar-event span{white-space:nowrap}.calendar-team-timeline{display:grid;grid-template-columns:170px 960px;min-width:1130px}.calendar-timeline-corner,.calendar-timeline-hours{height:44px;position:sticky;top:0;z-index:3;background:#fff;border-bottom:1px solid var(--line)}.calendar-timeline-corner{left:0;border-right:1px solid var(--line)}.calendar-timeline-hours{position:relative;background:repeating-linear-gradient(to right,#fff 0,#fff 59px,#dfe7ec 60px)}.calendar-timeline-hours span{position:absolute;top:11px;transform:translateX(-50%);font-size:.7rem;color:var(--muted)}.calendar-timeline-name{position:sticky;left:0;z-index:2;display:flex;align-items:center;gap:8px;height:78px;padding:10px 12px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-timeline-row{position:relative;height:78px;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to right,#fff 0,#fff 29px,#edf1f4 30px,#fff 31px,#fff 59px,#dfe7ec 60px)}.calendar-timeline-event{position:absolute;top:7px;height:64px;min-width:32px}.calendar-timeline-event .calendar-event{height:100%;padding-top:4px;padding-bottom:4px}.calendar-list-note{margin:0;padding:22px;color:var(--muted)}
@supports not (color:color-mix(in srgb,#000 10%,#fff)){.calendar-event{background:#eef4f7;border-color:#b8cad5}}
@media(max-width:1050px){.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-view-tabs{width:100%}.calendar-board-filters{grid-template-columns:repeat(3,1fr)}.calendar-board-filters .button,.calendar-board-filters .link-button{align-self:stretch}}
@media(max-width:700px){.calendar-navigation{width:100%;flex-wrap:wrap}.calendar-navigation strong{width:100%;margin:4px 0 0}.calendar-board-filters{grid-template-columns:1fr 1fr}.calendar-board-filters label:first-of-type{grid-column:1/-1}.calendar-view-tabs a{flex:1;text-align:center}.calendar-week-grid{min-width:980px}.calendar-month-grid{min-width:770px}}

/* Offline-Betrieb: Entwürfe und automatisch synchronisierter Ausgang. */
.network-status{position:fixed;z-index:1200;left:50%;bottom:18px;transform:translateX(-50%);width:max-content;max-width:min(92vw,760px);padding:11px 16px;border-radius:14px;background:#8a2929;color:#fff;font-weight:800;line-height:1.35;text-align:center;box-shadow:0 12px 34px rgba(26,38,48,.25)}
.draft-status{display:block;margin-top:8px;color:var(--muted);font-size:.78rem;font-weight:650;line-height:1.4}
@media(max-width:620px){.network-status{bottom:72px;width:calc(100vw - 24px);border-radius:12px}}


/* Verbindlicher Offline-Ausgang für Termine und Karteneinheiten */
.offline-capability-note{margin:.85rem 0;padding:.85rem 1rem;border:1px solid #a9c9db;border-radius:13px;background:#eef8fd;color:#174b68;line-height:1.45}
.offline-capability-note strong{color:#0b3558}
.offline-outbox-toggle{position:fixed;z-index:1250;right:18px;bottom:18px;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;align-items:center;gap:0 7px;min-width:146px;padding:9px 12px;border:0;border-radius:15px;background:#0b3558;color:#fff;box-shadow:0 13px 34px rgba(11,53,88,.28);cursor:pointer}
.offline-outbox-toggle>span{grid-row:1/3;font-size:1.4rem}.offline-outbox-toggle strong{font-size:1rem;line-height:1}.offline-outbox-toggle small{font-size:.72rem;opacity:.86}.offline-outbox-toggle.has-attention{background:#9b3b2f}
.offline-outbox-drawer{position:fixed;z-index:1260;right:18px;bottom:82px;width:min(430px,calc(100vw - 24px));max-height:min(72vh,680px);overflow:auto;border:1px solid #b8cad5;border-radius:18px;background:#fff;box-shadow:0 20px 55px rgba(11,53,88,.28)}
.offline-outbox-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:15px 17px;border-bottom:1px solid var(--line);background:#fff;border-radius:18px 18px 0 0}.offline-outbox-head>div{display:grid}.offline-outbox-head span{font-size:.72rem;color:var(--muted);text-transform:uppercase;font-weight:850}.offline-outbox-head strong{font-size:1.15rem}.offline-outbox-head button{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:#eef3f6;color:var(--navy);font-size:1.4rem;cursor:pointer}
.offline-outbox-explanation{margin:0;padding:13px 17px;background:#eef8fd;color:#315c72;font-size:.86rem;line-height:1.45}.offline-outbox-list{display:grid;gap:10px;padding:13px}.offline-outbox-item{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff}.offline-outbox-item>div:first-child{display:grid;gap:2px}.offline-outbox-item strong{color:var(--navy)}.offline-outbox-item span,.offline-outbox-item p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.4}.offline-outbox-item.is-attention{border-color:#dc9a8f;background:#fff8f6}.offline-outbox-item.is-completed{border-color:#a8d3b6;background:#f5fbf7}.offline-outbox-actions{display:flex;gap:7px;flex-wrap:wrap}.offline-outbox-actions button{padding:7px 9px;border:1px solid #b8cad5;border-radius:9px;background:#fff;color:var(--navy);font-weight:750;cursor:pointer}.offline-outbox-actions button.danger{color:#8a2929;border-color:#deb1ad}.offline-outbox-empty{display:grid;gap:4px;padding:22px;text-align:center;color:var(--muted)}
.offline-action-toast{position:fixed;z-index:1300;left:50%;bottom:22px;transform:translateX(-50%);width:max-content;max-width:min(92vw,720px);padding:12px 17px;border-radius:13px;background:#0b3558;color:#fff;font-weight:800;box-shadow:0 14px 38px rgba(11,53,88,.3);text-align:center}.offline-action-toast.is-success{background:#176b45}.offline-action-toast.is-error{background:#982f2f}
.offline-standalone{min-height:100vh;background:#f1f5f7}.offline-fallback{display:grid;justify-items:center;gap:13px;width:min(620px,calc(100vw - 28px));margin:10vh auto;padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff;text-align:center;box-shadow:0 16px 45px rgba(11,53,88,.12)}.offline-fallback h1,.offline-fallback p{margin:0}.offline-action-main{width:min(760px,calc(100vw - 24px));margin:28px auto}.offline-action-main .scan-panel{padding:22px}
@media(max-width:700px){.offline-outbox-toggle{right:12px;bottom:76px}.offline-outbox-drawer{right:12px;bottom:136px;max-height:66vh}.offline-action-toast{bottom:138px}.network-status{bottom:138px}}

/* 2026.08.3: Gebrauchsanweisung und Guthaben im Auszubildendenportal. */
.student-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}
.student-help-card{display:flex;flex-direction:column;align-items:flex-start;margin:0}
.student-help-card h2{margin:0 0 8px;font-size:1.15rem}
.student-help-card p{flex:1;margin:0 0 16px;color:var(--muted)}
.student-help-support{display:grid;gap:10px}
.student-help-support h2,.student-help-support p{margin:0}
.student-help-contact{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
.student-help-contact strong{color:var(--navy)}
.student-help-link{font-weight:850}
@media(max-width:820px){
  .student-header nav .student-help-link{display:inline-flex;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:#f7fafb}
  .student-help-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .student-header{padding-inline:10px}
  .student-header .school-app-brand small{max-width:44vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .student-header nav{gap:8px}
  .student-help-link{font-size:.86rem}
}

/* 2026-08-13: kompakte öffentliche Terminwahl wie im Auszubildendenportal. */
.slot-list.booking-slot-list-ready{display:block;max-height:none;overflow:visible}
.booking-slot-range-nav{display:grid;grid-template-columns:minmax(150px,1fr) minmax(220px,1.35fr) minmax(150px,1fr);gap:10px;align-items:stretch;margin:4px 0 14px}
.booking-slot-range-nav>button{min-height:58px;border:1px solid #c8d8e1;border-radius:13px;background:#eef5f8;color:var(--navy);padding:10px 12px;font:inherit;font-weight:850;cursor:pointer}
.booking-slot-range-nav>button:hover:not(:disabled){border-color:var(--blue);background:#e7f5f9}
.booking-slot-range-nav>button:disabled{opacity:.42;cursor:default}
.booking-slot-range-label{display:grid;place-items:center;align-content:center;gap:1px;min-width:0;border:1px solid var(--line);border-radius:13px;background:#fff;padding:8px 12px;text-align:center}
.booking-slot-range-label small{color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.booking-slot-range-label strong{color:var(--navy);font-size:.95rem}
.booking-slot-range-label span{color:var(--muted);font-size:.72rem}
.booking-slot-empty{display:grid;gap:5px;border:1px solid var(--line);border-radius:14px;background:#f7fafb;padding:18px;text-align:center}
.booking-slot-empty strong{color:var(--navy)}
.booking-slot-empty p{margin:0;color:var(--muted)}
.booking-slot-picker{display:grid;gap:12px;margin-top:4px;min-width:0}
.booking-slot-calendar-label,.booking-slot-day-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.booking-slot-calendar-label strong,.booking-slot-day-heading strong{font-size:1rem;text-transform:capitalize}
.booking-slot-calendar-label small,.booking-slot-day-heading small{color:var(--muted);text-align:right}
.booking-slot-days{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 8px;scrollbar-width:thin;scroll-snap-type:x proximity}
.booking-slot-days button{flex:0 0 68px;display:grid;place-items:center;gap:1px;border:1px solid #cddae2;border-radius:13px;background:#fff;color:var(--ink);padding:8px 7px;font:inherit;cursor:pointer;scroll-snap-align:center}
.booking-slot-days button:hover{border-color:var(--blue)}
.booking-slot-days button span{font-size:.72rem;color:var(--muted);text-transform:capitalize}
.booking-slot-days button b{font-size:1.22rem;line-height:1.05;color:inherit}
.booking-slot-days button small{font-size:.68rem;color:var(--muted);text-transform:capitalize}
.booking-slot-days button.selected{background:var(--navy);border-color:var(--navy);color:#fff}
.booking-slot-days button.selected span,.booking-slot-days button.selected small{color:#dceaf2}
.booking-slot-time-focus{display:grid;gap:8px;border:1px solid #d3e0e7;border-radius:14px;background:#f5f9fb;padding:12px}
.booking-slot-time-focus-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.booking-slot-time-focus-head span{font-size:.82rem;color:var(--muted);font-weight:750}
.booking-slot-time-focus-head strong{font-size:1.15rem;color:var(--navy)}
.booking-slot-time-presets{display:flex;gap:7px;overflow-x:auto;padding:2px 0 5px;scrollbar-width:thin;scroll-snap-type:x proximity}
.booking-slot-time-presets button{flex:0 0 auto;border:1px solid #cbd9e1;background:#fff;color:var(--navy);border-radius:999px;padding:9px 13px;font:inherit;font-weight:850;cursor:pointer;scroll-snap-align:center}
.booking-slot-time-presets button:hover{border-color:var(--blue)}
.booking-slot-time-presets button.selected{background:var(--blue);border-color:var(--blue);color:#fff}
.booking-slot-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;align-items:stretch}
.booking-slot-time{display:grid;place-items:center;align-content:center;gap:1px;min-height:96px;border:1px solid #cedbe2;background:#fff;border-radius:13px;padding:10px 7px;color:var(--ink);font:inherit;cursor:pointer;text-align:center}
.booking-slot-time:hover{border-color:var(--blue);background:#f3f9fc}
.booking-slot-time.selected{border:2px solid var(--blue);background:#edf8fc;box-shadow:0 0 0 2px rgba(23,79,121,.1)}
.booking-slot-time strong{font-size:1.12rem;color:var(--navy);line-height:1.1}
.booking-slot-time>span{font-size:.72rem;color:var(--muted)}
.booking-slot-time small{display:block;margin-top:4px;color:var(--muted);font-weight:800}
.booking-slot-time em{display:block;margin-top:5px;color:var(--green);font-size:.64rem;font-style:normal;font-weight:850;line-height:1.2}
.booking-slot-time-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center}
.booking-slot-time-nav button{border:0;background:#eef5f8;color:var(--navy);border-radius:10px;padding:9px 11px;font:inherit;font-weight:850;cursor:pointer}
.booking-slot-time-nav button:hover:not(:disabled){background:#e1edf2}
.booking-slot-time-nav button:disabled{opacity:.38;cursor:default}
.booking-slot-more-times{white-space:nowrap}
@media(max-width:760px){.booking-slot-calendar-label,.booking-slot-day-heading{align-items:flex-start;flex-direction:column;gap:2px}.booking-slot-calendar-label small,.booking-slot-day-heading small{text-align:left}.booking-slot-times{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-slot-time-nav{grid-template-columns:1fr 1fr}.booking-slot-time-nav .booking-slot-more-times{grid-column:1/-1;grid-row:2;width:100%}.booking-slot-time-nav button[data-time-later]{grid-column:2}.booking-slot-time-nav button[data-time-earlier]{grid-column:1}}
@media(max-width:680px){.booking-slot-range-nav{grid-template-columns:1fr 1fr}.booking-slot-range-label{grid-column:1/-1;grid-row:1}.booking-slot-range-nav>button{min-height:52px}.booking-slot-range-nav>button:first-child{grid-column:1;grid-row:2}.booking-slot-range-nav>button:last-child{grid-column:2;grid-row:2}}
@media(max-width:430px){.booking-slot-days button{flex-basis:62px}.booking-slot-times{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-slot-time{min-height:90px}}
/* Fahrlehrperson und Fahrzeug gemeinsam in eingebetteten Buchungen */
.instructor-choice{grid-template-columns:164px minmax(0,1fr) auto}
.instructor-choice-media{display:grid;grid-template-columns:1fr 1fr;height:96px;background:var(--sky);overflow:hidden}
.instructor-choice-portrait,.instructor-choice-vehicle{display:grid;place-items:center;min-width:0;overflow:hidden}
.instructor-choice-portrait{background:linear-gradient(145deg,var(--navy),var(--blue));color:#fff}
.instructor-choice-portrait b{font-size:1.25rem;letter-spacing:.08em}
.instructor-choice-vehicle{border-left:2px solid #fff;background:var(--sky)}
.instructor-choice-media img{width:100%;height:100%;object-fit:cover}
@media(max-width:560px){.instructor-choice{grid-template-columns:124px minmax(0,1fr) auto}.instructor-choice-media{height:88px}}

/* Fahrzeug und Foto 1 der einzigen berechtigten Fahrlehrperson gemeinsam zeigen. */
.vehicle-choice-vehicle,.vehicle-choice-instructor{display:grid;place-items:center;width:100%;height:100%;min-width:0;overflow:hidden}
.vehicle-choice-image.vehicle-choice-image-paired{grid-template-columns:repeat(2,minmax(0,1fr))}
.vehicle-choice-instructor{border-left:2px solid #fff;background:linear-gradient(145deg,var(--navy),var(--blue));color:#fff}
.vehicle-choice-instructor b{font-size:1.2rem;letter-spacing:.08em}
.vehicle-choice.vehicle-choice-paired{grid-template-columns:164px minmax(0,1fr) auto}
@media(max-width:560px){.vehicle-choice.vehicle-choice-paired{grid-template-columns:124px minmax(0,1fr) auto}.vehicle-choice-instructor b{font-size:.95rem}}


/* Fahrzeug und Fahrlehrperson bereits in der ersten Buchungswahl gemeinsam zeigen. */
.vehicle-choice.vehicle-choice-with-instructors{grid-template-columns:190px minmax(0,1fr) auto}
.vehicle-choice-image.vehicle-choice-image-with-instructors{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(70px,.75fr);place-items:stretch}
.vehicle-choice-instructors{min-width:0;height:100%;display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;padding:7px;background:linear-gradient(145deg,var(--navy),var(--blue));border-left:2px solid #fff;overflow:hidden}
.vehicle-choice-instructors .vehicle-choice-instructor{display:grid;place-items:center;flex:0 0 50px;width:50px;height:64px;border:2px solid rgba(255,255,255,.86);border-radius:12px;overflow:hidden;background:#fff;color:var(--navy);box-shadow:0 5px 14px rgba(0,0,0,.18)}
.vehicle-choice-instructors .vehicle-choice-instructor img{width:100%;height:100%;object-fit:cover}
.vehicle-choice-instructors .vehicle-choice-instructor b{font-size:.9rem;letter-spacing:.05em}
.vehicle-choice-instructors[data-count="1"]{padding:0}
.vehicle-choice-instructors[data-count="1"] .vehicle-choice-instructor{flex:1 1 100%;width:100%;height:100%;border:0;border-radius:0;box-shadow:none}
.vehicle-choice-instructor-more{font-weight:950;font-size:.82rem}
.vehicle-choice-with-instructors .vehicle-choice-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
@media(max-width:560px){.vehicle-choice.vehicle-choice-with-instructors{grid-template-columns:128px minmax(0,1fr) auto}.vehicle-choice-image.vehicle-choice-image-with-instructors{grid-template-columns:minmax(0,1.4fr) minmax(48px,.7fr)}.vehicle-choice-instructors{gap:3px;padding:4px}.vehicle-choice-instructors .vehicle-choice-instructor{flex-basis:32px;width:32px;height:42px;border-radius:8px}.vehicle-choice-instructors .vehicle-choice-instructor b{font-size:.68rem}.vehicle-choice-with-instructors .vehicle-choice-copy small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}
