nav a{color:#c7d1d9;text-decoration:none;padding:14px;border-radius:8px;font-size:14px}nav a.active{background:#35434c;color:white}nav a:hover{background:#35434c}a.button{display:inline-block;background:#c93235;color:white;text-decoration:none;padding:11px 16px;border-radius:7px}.standalone{display:block}.standalone main{margin:40px auto;width:min(700px,100%);padding:20px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.success{background:#e5eee9;color:#367557;padding:14px;border-radius:8px}input[type=checkbox]{display:inline;width:auto}details{margin-top:20px}summary{cursor:pointer;color:#b83234}footer form{margin-top:15px}footer button{font-size:12px}th{white-space:nowrap}td label{margin:0}td select{min-width:160px}.card>form>button{margin-top:12px}@media(max-width:800px){nav a{white-space:nowrap}footer{display:block;position:static;margin:15px 0 0;display:flex;gap:10px;align-items:center}footer form{margin:0}.formgrid{grid-template-columns:1fr}}@media print{nav,aside,header .badge,details,form>button,a.button,.notice{display:none!important}main{margin:0;width:100%}.card{border:0}input,select{border:0;appearance:none}body{background:white}}

.qualifications{border:1px solid #dce2e7;border-radius:8px;padding:20px;margin:20px 0}.qualifications legend{font-weight:700;padding:0 8px}.checkgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}.check{display:flex;align-items:center;gap:9px;padding:10px;background:#f5f7f8;border-radius:6px;margin:0}.check input[type=checkbox]{width:19px;height:19px;flex-shrink:0;accent-color:#c93235}.trainingtag{display:inline-block;background:#e5eee9;color:#315e48;border-radius:5px;font-size:12px;padding:5px 8px;margin:3px}.card>summary{font-size:18px;color:#24333d;font-weight:650}aside{overflow-y:auto}footer{position:static;margin-top:25px}@media(max-width:650px){.checkgrid{grid-template-columns:1fr}}
/* Bestehende Farbgebung und Karten; seitliche Navigation rechts. */
aside{right:0;left:auto}main{margin-left:0;margin-right:248px}.standalone main{margin:40px auto}.matrix th{white-space:normal;min-width:105px}.matrix th:first-child,.matrix td:first-child{min-width:180px}.matrix td:not(:first-child){text-align:center}.matrixcheck{width:21px;height:21px;accent-color:#c93235}.save-status{display:block;font-size:12px;color:#367557;margin-top:6px;max-width:250px}.save-error{color:#b83234}.attendance-form{display:flex;align-items:center;gap:12px;border-top:1px solid #edf0f2;padding:12px 0;flex-wrap:wrap}.attendance-form>b{flex:1;min-width:160px}.statuslabel{margin:0}.statuslabel select{width:auto;min-width:160px}.status-badge{padding:5px 9px;border-radius:20px;font-size:12px;background:#edf1f4}.status-badge.anwesend{background:#dcfce7;color:#246340}.status-badge.entschuldigt{background:#fef9c3;color:#725e25}.status-badge.unentschuldigt,.status-badge.abwesend{background:#fee2e2;color:#933131}.eventcard>summary{line-height:1.8}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:800px){main{margin:0;width:100%}aside{right:auto}.standalone main{margin:20px auto}.attendance-form .save-status{flex-basis:100%}}@media print{main{margin:0!important;width:100%!important}.no-print,.print-button,.manual-save,.save-status,.statuslabel{display:none!important}.eventcard{display:block}.status-badge{display:inline-block}.matrix input[type=checkbox]{appearance:auto}}
@media print{.eventcard{display:block!important}}
.fire-logo{display:block;width:100%;max-width:195px;height:auto;min-height:43px;object-fit:contain;background:#fff;border-radius:7px;padding:10px}.group-form{min-width:115px}.group-form select{width:100%;min-width:115px}.group-badge{padding:6px 12px;border-radius:15px;font-weight:650;background:#edf1f4;display:inline-block}.group-blue{background:#dbeafe;color:#1e40af}.group-red{background:#fee2e2;color:#991b1b}.group-green{background:#dcfce7;color:#166534}.low-participation td{background:#fee2e2;color:#7f1d1d}.low-participation td small{color:#9f3030}.matrix select{min-width:115px}.person-form input[type=checkbox]{accent-color:#c93235}@media print{.low-participation td{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
.fire-logo{width:150px;max-width:100%;margin:0 auto}

.training-chart{display:grid;gap:16px;margin:24px 0}.training-bar{display:grid;grid-template-columns:minmax(170px,220px) minmax(80px,1fr) 36px;align-items:center;gap:16px}.training-bar progress{width:100%;height:20px;border:0;border-radius:6px;overflow:hidden;accent-color:#c93235;background:#edf0f2}.training-bar progress::-webkit-progress-bar{background:#edf0f2;border-radius:6px}.training-bar progress::-webkit-progress-value{background:#c93235;border-radius:6px}.training-bar progress::-moz-progress-bar{background:#c93235;border-radius:6px}.training-bar b{text-align:right}.matrixcheck:disabled{opacity:.65;cursor:default}.matrix select:disabled{color:#34424c;background:#f1f3f5;opacity:1}.matrix-edit{white-space:nowrap}@media(max-width:600px){.training-bar{grid-template-columns:1fr 36px;gap:8px}.training-bar>span{grid-column:1 / -1}}

.mobile-alarm-button{display:none}#alarm-create{scroll-margin-top:18px}@media(max-width:800px){.desktop-training-chart{display:none}.mobile-alarm-button{display:flex;position:fixed;bottom:calc(16px + env(safe-area-inset-bottom,0px));right:16px;left:16px;align-items:center;justify-content:center;min-height:52px;padding:12px 20px;background:#c93235;color:#fff;font-size:16px;font-weight:700;text-decoration:none;border-radius:12px;box-shadow:0 6px 22px rgba(116,24,28,.3);z-index:50}.mobile-alarm-button:focus-visible{outline:3px solid #263447;outline-offset:3px}body:not(.standalone) main{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}}@media print{.mobile-alarm-button{display:none!important}}

/* v4.14: Alarmanlage, Übungsnachweise und mobile Karten. */
[hidden]{display:none!important}
button:disabled{cursor:default;filter:none;background:#e5e9ed!important;color:#7c8791!important;border-color:#e5e9ed;box-shadow:none}
.mobile-menu-toggle,.mobile-person-name{display:none}
.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.section-heading h2{margin:8px 0 18px}
.year-filter label{margin:0;font-size:12px}
.year-filter select{width:96px;margin-top:5px}
.practice-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.practice-metrics>div{display:flex;flex-direction:column;gap:6px;background:#f1f7f4;color:#28573e;border-radius:10px;padding:16px}
.practice-metrics b{font-size:28px;line-height:1}
.practice-metrics span{font-size:13px;line-height:1.4}
.practice-metrics .practice-attention{background:#fff5e5;color:#895717}
.report-note,.roster-hint{font-size:12px;line-height:1.6;color:#697885}
.missing-practice-list{margin-top:16px;border-top:1px solid #edf0f2;padding-top:14px}
.missing-practice-list summary{font-size:14px;font-weight:650;color:#895717}
.missing-practice-list ul{margin:12px 0;padding:0;list-style:none;max-height:240px;overflow:auto;overscroll-behavior:contain}
.missing-practice-list li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid #edf0f2;font-size:14px}
.practice-all-done{font-size:13px;color:#367557}
.practice-totals{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:#697885;margin:16px 0}
.annual-status{display:block;width:fit-content;margin-top:7px;font-size:11px;line-height:1.5;padding:4px 7px;border-radius:5px}
.practice-missing{background:#fff5e5;color:#895717}
.practice-complete{background:#edf6ef;color:#2c6744}
.text-action{display:inline-flex;align-items:center;min-height:40px;font-weight:600;font-size:14px}
.list-search{margin:14px 0;font-size:13px;font-weight:600}
.list-search input{font-weight:400;min-height:44px;width:100%}
.search-empty{padding:20px 8px;text-align:center;color:#697885;font-size:14px}
.event-create-panel{margin-top:0}
.event-create-panel>summary{display:flex;align-items:center;gap:12px;list-style:none;font-size:18px}
.event-create-panel>summary::-webkit-details-marker{display:none}
.event-create-panel>summary:after{content:'+';margin-left:auto;font-size:24px;color:#9c3437}
.event-create-panel[open]>summary:after{content:'−'}
.summary-hint{font-size:11px;color:#78858f;font-weight:400}
.event-create-panel>form{margin-top:14px}
.alarm-roster{margin-top:18px}
.roster-person{display:flex;align-items:center;gap:10px;margin:0;min-height:52px;padding:10px 12px;border:1px solid #e1e6eb;border-radius:8px;background:#f8fafb;cursor:pointer}
.roster-person input[type=checkbox]{width:22px;height:22px;margin:0;flex:none;accent-color:#c93235}
.roster-person .roster-name{flex:1;min-width:0;font-size:14px;font-weight:550;overflow-wrap:anywhere}
.roster-person .group-badge{font-size:11px;padding:4px 7px}
.roster-person.is-selected{border-color:#cc7173;background:#fff1f1}
.roster-person:has(input:focus-visible){outline:3px solid #338cbf;outline-offset:2px}
.selected-people{margin:12px 0}
[data-selected-chips]{display:flex;flex-wrap:wrap;gap:6px}
.selected-chip{padding:7px 10px;min-height:36px;font-size:12px;border-color:#e4aaaa;background:#fff1f1;color:#8b2c2f}
.alarm-submitbar{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #edf0f2;padding:18px 0 0}
.alarm-submitbar>div{display:flex;flex-direction:column;gap:5px;min-width:0}
.alarm-submitbar strong{font-size:14px}
.alarm-submitbar span{font-size:11px;color:#74828d;line-height:1.4}
.alarm-submitbar button{min-height:48px;white-space:nowrap}
.list-heading{font-size:18px;margin:24px 0 14px}
.eventcard>summary{display:flex;align-items:center;gap:14px;list-style:none;line-height:1.4}
.eventcard>summary::-webkit-details-marker{display:none}
.eventcard>summary:after{content:'+';font-size:22px;color:#9c3437}
.eventcard[open]>summary:after{content:'−'}
.event-summary-text{flex:1;min-width:0}
.event-date{display:block;font-size:12px;color:#74828d;font-weight:500;margin-bottom:5px}
.event-title{display:block;font-size:16px;overflow-wrap:anywhere}
.eventcard .pill{white-space:nowrap;font-size:11px}
.event-meta{display:flex;gap:16px;align-items:center;font-size:13px;margin:10px 0}
.attendance-form{display:flex;gap:10px}
.attendance-name{flex:1;min-width:190px}
.attendance-name>b{display:block;font-size:14px;line-height:1.4}
.attendance-name .group-badge{font-size:10px;margin-top:6px;padding:3px 7px}
.practice-options{display:flex;gap:10px;border:0;padding:0;margin:0;flex-basis:100%}
.practice-check{display:flex;align-items:center;gap:9px;padding:8px 12px;min-height:44px;margin:0;border:1px solid #e1e6eb;border-radius:7px;cursor:pointer;font-size:13px}
.practice-check input[type=checkbox]{width:20px;height:20px;margin:0;accent-color:#c93235}
.practice-disabled .practice-check{background:#f5f6f8;color:#7c8791;cursor:default}
.attendance-form .save-status{flex-basis:100%;min-height:0;margin:0}
.attendance-form .save-status:empty{display:none}
.event-options{border-top:1px solid #edf0f2;padding-top:15px;font-size:13px}
.event-options summary{font-size:13px;color:#697885}
.matrix-check-label{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;margin:0;cursor:pointer}
.matrix-check-label input{margin:0}
.matrix-person .group-badge{display:none}

@media(max-width:800px){
 #alarm-create,.eventcard,#event-edit{scroll-margin-top:84px}
 body:not(.standalone) main{padding:18px 14px 28px;width:100%;min-width:0}
 body.page-overview main{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}
 body.alarm-entry-open main{padding-bottom:calc(114px + env(safe-area-inset-bottom,0px))}
 aside{position:sticky;top:0;z-index:60;right:auto;width:100%;height:auto;padding:10px 14px;max-height:85vh;overflow:auto;box-shadow:0 2px 8px #17242e20}
 .mobile-brand-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
 .brand{padding:0}
 .fire-logo{width:110px;height:38px;min-height:0;margin:0;padding:5px;border-radius:5px}
 .brand small{font-size:8px;letter-spacing:.9px;margin-top:4px}
 .mobile-menu-toggle{display:block;min-width:75px;min-height:44px;color:white;background:#263744;border:1px solid #56636f;font-size:13px}
 aside[data-mobile-ready=true]:not(.nav-open) nav,aside[data-mobile-ready=true]:not(.nav-open) footer{display:none}
 aside.nav-open nav{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:14px;overflow:visible}
 aside.nav-open nav a{min-height:44px;padding:11px 12px;white-space:normal;font-size:13px;display:flex;align-items:center}
 aside.nav-open footer{font-size:11px;margin-top:12px;display:flex;justify-content:space-between}
 header{margin-bottom:16px;gap:10px}
 header>div>small,header>.badge{display:none}
 h1{font-size:26px;line-height:1.2;margin:3px 0 0}
 h2{font-size:19px;margin-top:3px}
 .card{padding:16px;margin-bottom:14px;border-radius:12px}
 .stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}
 .stats .card{padding:12px 9px;min-width:0}
 .stats .eyebrow{font-size:8px;letter-spacing:.4px;display:block;line-height:1.5}
 .stats .number{font-size:27px;margin:8px 0 0}
 input,select{font-size:16px;min-height:44px;min-width:0}
 input[type=checkbox]{min-height:0}
 label{font-size:13px;margin:12px 0}
 button{min-height:44px}
 .formgrid{gap:0 12px}
 .qualifications{padding:12px;margin:16px 0;min-width:0}
 .checkgrid{grid-template-columns:1fr;gap:8px}
 .check{font-size:14px;min-height:46px}
 .section-heading{gap:10px}
 .section-heading h2{font-size:20px}
 .year-filter label{font-size:10px}
 .year-filter select{width:85px;padding:8px}
 .practice-metrics{gap:8px}
 .practice-metrics>div{padding:14px 12px}
 .practice-metrics b{font-size:26px}
 .practice-metrics span{font-size:12px}
 .missing-practice-list ul{max-height:210px}
 .missing-practice-list li{font-size:13px}
 .report-note{font-size:11px}
 .practice-totals{gap:12px;font-size:11px}
 .mobile-alarm-button{right:14px;left:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));min-height:52px;font-size:16px}
 .event-create-panel>summary{font-size:17px}
 .summary-hint{display:none}
 .alarm-roster{border:0;padding:0;margin:18px 0 0}
 .alarm-roster legend{padding:0;font-size:16px}
 .roster-hint{font-size:11px}
 .roster-person{min-height:54px;padding:12px}
 .selected-chip{min-height:40px}
 .alarm-create-panel[open] .alarm-submitbar{position:fixed;bottom:0;right:0;left:0;z-index:55;background:#fff;padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px));box-shadow:0 -5px 20px #17242e18;border-top:1px solid #dfe4e9;gap:10px}
 .alarm-submitbar>div{flex:1}
 .alarm-submitbar strong{font-size:13px}
 .alarm-submitbar span{font-size:10px}
 .alarm-submitbar button{font-size:15px;padding:12px 17px;min-height:48px}
 .eventcard>summary{gap:8px;flex-wrap:wrap}
 .event-summary-text{min-width:140px}
 .eventcard .pill{font-size:10px;padding:5px 7px}
 .eventcard>summary:after{font-size:20px}
 .event-title{font-size:15px}
 .event-meta{gap:12px;flex-wrap:wrap}
 .attendance-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(115px,140px);gap:10px;padding:15px 0}
 .attendance-name{min-width:0}
 .attendance-name>b{font-size:14px}
 .statuslabel{width:100%;align-self:start;margin:0}
 .statuslabel select{min-width:0;width:100%;font-size:13px;padding:10px 7px}
 .attendance-form .status-badge{display:none}
 .practice-options{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .practice-check{font-size:13px;padding:10px;margin:0;min-height:46px}
 .attendance-form .save-status{grid-column:1 / -1;font-size:11px}
 .attendance-form .manual-save{display:none}
 .annual-status{font-size:10px;max-width:100%}
 .event-options{margin-top:8px}
 .event-options form button{margin-top:12px;width:100%}
 .mobile-card-table,.mobile-card-table tbody{display:block;width:100%;font-size:13px}
 .mobile-card-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .mobile-card-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 10px;border:1px solid #e1e6eb;border-radius:10px;margin-bottom:12px;padding:13px;background:#fff;position:relative}
 .mobile-card-table td{display:block;min-width:0!important;border:0;padding:7px 0;white-space:normal;overflow-wrap:anywhere;text-align:left!important}
 .mobile-card-table td[data-label]:before{content:attr(data-label);display:block;font-size:10px;font-weight:600;color:#74828d;margin-bottom:5px;line-height:1.4}
 .mobile-card-table td.wide-cell{grid-column:1 / -1}
 .mobile-card-table .person-name-cell{grid-column:1 / -1;font-size:16px;padding-top:0;margin-bottom:4px}
 .mobile-card-table .person-name-cell:before{display:none}
 .mobile-person-name{display:block}
 .desktop-person-first,.mobile-card-table .desktop-person-last{display:none}
 .person-actions>a{display:inline-flex;min-height:44px;align-items:center;font-weight:600}
 .person-actions details{margin-top:10px;font-size:12px}
 .person-actions summary{min-height:40px;line-height:40px}
 .trainingtag{font-size:11px;padding:4px 7px;margin:2px}
 .mobile-card-table .group-badge{font-size:11px;padding:5px 9px}
 .mobile-card-table .low-participation{background:#fee2e2;border-color:#efb0b0}
 .mobile-card-table .low-participation td{background:transparent}
 .matrix-person{grid-column:1;grid-row:1;padding:0 0 10px!important;align-self:start}
 .matrix-person>b{display:block;font-size:14px;line-height:1.5}
 .matrix-person .group-badge{display:inline-block;margin-top:5px}
 .matrix-actions{grid-column:2;grid-row:1;padding:0 0 10px!important;justify-self:end}
 .matrix-actions button{min-height:40px;padding:8px 12px;font-size:12px}
 .matrix-qualification{display:flex!important;align-items:center;justify-content:space-between;border-top:1px solid #edf0f2!important;gap:4px;min-height:48px;padding:4px 0!important}
 .matrix-qualification:before{font-size:11px!important;color:#34424c!important;margin:0!important}
 .matrix-qualification input{width:22px;height:22px;min-height:0;flex-shrink:0}
 .matrix-license{grid-column:1 / -1}
 .matrix-license select{width:100%;min-width:0}
 .matrix .save-status{font-size:10px}
 .toolbar{gap:8px}
 .toolbar .button{width:100%;text-align:center;min-height:44px}
}
@media(max-width:360px){.attendance-form{grid-template-columns:1fr}.statuslabel{grid-column:1}.eventcard .pill{font-size:9px}.matrix tbody tr{grid-template-columns:1fr 1fr;gap:0 8px}.alarm-submitbar button{font-size:14px;padding:12px}}

.status-badge.dispensiert{background:#e0e7ff;color:#3730a3}

.mobile-quick-actions{display:none}
@media(max-width:800px){
 .mobile-quick-actions{display:grid;gap:8px;position:fixed;left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:50}
 .mobile-quick-actions .mobile-alarm-button,.mobile-quick-actions .mobile-exercise-button{display:flex;position:static;align-items:center;justify-content:center;min-height:52px;padding:12px 16px;background:#c93235;color:#fff;border-radius:12px;text-decoration:none;font-size:15px;font-weight:700;box-shadow:0 6px 22px rgba(116,24,28,.2)}
 body.page-overview main{padding-bottom:calc(170px + env(safe-area-inset-bottom,0px))}
 .page-overview .annual-report>.text-action{display:none}
 .practice-options{grid-template-columns:1fr 1fr}
 .practice-options .practice-check:last-child{grid-column:1 / -1}
}

/* Ausbildung: gemeinsamer Bearbeitungsmodus und lesbare Spalten */
.training-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;position:sticky;top:0;background:#fff;z-index:5;padding:10px 0}
.training-toolbar h2{margin:0;flex:1}.training-toolbar p{flex-basis:100%;margin:0;font-size:13px}
.training-scroll{max-height:65vh;max-height:65dvh;overflow:auto;overscroll-behavior:contain;border:1px solid #dce3e8;border-radius:8px}
.training-scroll .matrix{border-collapse:separate;border-spacing:0;width:100%}
.training-scroll .matrix th{position:sticky;top:0;z-index:3;background:#eaf0f4;white-space:normal;min-width:95px;padding:12px 8px;box-shadow:0 1px #ccd5dc}
.training-scroll .matrix td:first-child{position:sticky;left:0;z-index:2;background:#fff;box-shadow:1px 0 #dce3e8;min-width:180px;max-width:230px}
.training-scroll .matrix th:first-child{left:0;z-index:4;min-width:180px}
.member-toggle{display:none}
@media(min-width:801px) and (max-width:1200px){.training-panel{padding:14px}.training-scroll .matrix th{font-size:11px;min-width:85px}.training-scroll .matrix td{padding:10px 7px}}
@media(max-width:800px){
 .training-toolbar{top:106px;padding:8px 0}.training-toolbar button{min-height:44px}.training-toolbar h2{font-size:20px}
 .training-scroll{max-height:none;overflow:visible;border:0;overscroll-behavior:auto}
 .training-scroll .matrix td:first-child{position:static;box-shadow:none;max-width:none;grid-column:1 / -1;background:transparent}
 .training-scroll .matrix th{position:absolute}
 .member-toggle{display:block;margin-top:8px;min-height:44px;padding:8px 12px;font-size:13px}
 .training-scroll .matrix tr:not(.member-expanded) .matrix-qualification,.training-scroll .matrix tr:not(.member-expanded) .matrix-license{display:none!important}
 .training-scroll .matrix .matrix-person b{font-size:16px;display:block;margin-bottom:5px}
 .compact-members tr:not(.member-expanded) .member-detail{display:none!important}
 .compact-members .person-name-cell{margin-bottom:0}.compact-members td{padding:5px 0}
 .compact-members .person-name-cell .member-toggle{float:right;margin-top:4px}
 .mobile-card-table tr[hidden]{display:none!important}
}

.training-column-filter{background:transparent;color:#243744;border:0;padding:6px 3px;font:inherit;font-weight:700;white-space:normal;width:100%;min-height:44px;cursor:pointer;border-radius:5px}
.training-column-filter:hover,.training-column-filter[aria-pressed="true"]{background:#d8e7f3;color:#163f65;box-shadow:inset 0 -3px #245d88}
[data-training-filter]{width:100%;max-width:420px;min-height:44px}
[data-training-count]{margin:8px 0 12px;font-size:13px}

.group-black{background:#111;color:#fff}.group-gray{background:#e5e7eb;color:#374151}

.practice-check.practice-unavailable{background:#eceff2;color:#687480;border-color:#dce1e6;cursor:not-allowed}.practice-check.practice-unavailable input{opacity:.45;cursor:not-allowed}.practice-requirement{font-size:10px;display:block;font-weight:normal}.practice-check{flex-wrap:wrap}.practice-requirement{flex-basis:100%;padding-left:29px}

.portal-credit{position:fixed;bottom:calc(4px + env(safe-area-inset-bottom,0px));font-size:10px;line-height:1.3;color:#65737d;background:#ffffffeb;padding:2px 6px;z-index:70;pointer-events:none;font-weight:400}.portal-credit-app{right:8px}.portal-credit-login{left:50%;transform:translateX(-50%);white-space:nowrap;bottom:12px}
@media(max-width:800px){.mobile-quick-actions{bottom:calc(24px + env(safe-area-inset-bottom,0px))}.alarm-create-panel[open] .alarm-submitbar{padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}}

.theme-switch{display:flex;align-items:center;gap:14px;position:relative;width:max-content;min-height:48px;cursor:pointer;font-size:15px}.theme-switch input{position:absolute;opacity:0;width:48px;height:28px;right:0;margin:0}.theme-switch-track{width:48px;height:28px;border-radius:20px;background:#98a3ad;position:relative;pointer-events:none}.theme-switch-track:after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .15s}.theme-switch input:checked+.theme-switch-track{background:#c93235}.theme-switch input:checked+.theme-switch-track:after{transform:translateX(20px)}.theme-switch input:focus-visible+.theme-switch-track{outline:3px solid #338cbf;outline-offset:3px}.theme-switch input:disabled+.theme-switch-track{opacity:.5}
body.dark-mode{color-scheme:dark;background:#111820;color:#e3eaf0;min-height:100vh}
.dark-mode .card,.dark-mode .mobile-card-table tbody tr,.dark-mode .training-toolbar,.dark-mode .training-scroll .matrix td:first-child{background:#1c2732;border-color:#394957;color:#e3eaf0}
.dark-mode input,.dark-mode select,.dark-mode textarea,.dark-mode button{background:#263541;border-color:#4b606f;color:#e3eaf0}.dark-mode button.primary,.dark-mode .button{background:#c93235;color:#fff}
.dark-mode th,.dark-mode .training-scroll .matrix th{background:#253540;color:#bdcbd5}.dark-mode td,.dark-mode th,.dark-mode .practice-check{border-color:#3b4c59}.dark-mode .training-scroll{border-color:#3b4c59}
.dark-mode .muted,.dark-mode .report-note,.dark-mode td small,.dark-mode .eyebrow,.dark-mode header small,.dark-mode .mobile-card-table td[data-label]:before{color:#aebfcb}
.dark-mode a{color:#ff9698}.dark-mode aside a{color:#d2dde5}.dark-mode .notice{background:#3e321f;color:#ffe0a0;border-color:#806c3e}
.dark-mode .pill,.dark-mode .trainingtag,.dark-mode .selected-chip{background:#304550;color:#d9e8f0}.dark-mode .badge,.dark-mode .success,.dark-mode .practice-complete{background:#223f35;color:#b1e6cc}
.dark-mode .practice-missing,.dark-mode .practice-attention{background:#44351e;color:#ffe0a0}.dark-mode .practice-check.practice-unavailable,.dark-mode .practice-disabled .practice-check{background:#202c36;color:#8ea0ae;border-color:#3b4c59}
.dark-mode .low-participation,.dark-mode .low-participation td{background:#4c272c;color:#ffd7dc}.dark-mode .low-participation td small{color:#ffb8c3}
.dark-mode .portal-credit{background:#111820ed;color:#acbac5}.dark-mode .alarm-create-panel[open] .alarm-submitbar{background:#1c2732;border-color:#3b4c59}
.dark-mode .matrix select:disabled{background:#263541;color:#aebfcb}.dark-mode .training-column-filter{background:transparent;color:#d4e2ec}.dark-mode .training-column-filter[aria-pressed="true"]{background:#385064;color:#fff}
.dark-mode .group-blue{background:#243e68;color:#c3dbff}.dark-mode .group-red{background:#5e2930;color:#ffccd1}.dark-mode .group-green{background:#234c36;color:#c2efcf}.dark-mode .group-gray{background:#3c4650;color:#e0e5ea}.dark-mode .group-black{background:#080b0e;color:#fff}
@media(prefers-reduced-motion:reduce){.theme-switch-track:after{transition:none}}
@media print{body.dark-mode{background:#fff;color:#000}.dark-mode .card,.dark-mode td,.dark-mode th{background:#fff;color:#000}.portal-credit{display:none}}

.participation-grid>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;min-height:44px;list-style:none}.participation-grid>summary:after{content:"+";font-size:23px}.participation-grid[open]>summary:after{content:"−"}.participation-grid>summary span{font-size:12px;color:#74828d}.grid-legend{font-size:12px;line-height:1.7;color:#657580}.participation-grid-scroll{max-height:65vh;max-height:65dvh;overflow:auto;border:1px solid #dce3e8;border-radius:8px}.participation-grid-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.participation-grid-table thead th{position:sticky;top:0;z-index:3;background:#eaf0f4;min-width:110px;text-align:center;vertical-align:top}.participation-grid-table small{display:block;letter-spacing:0;font-weight:400;font-size:10px;line-height:1.4;margin-top:5px}.grid-event-title{max-width:130px;white-space:normal}.participation-grid-table tbody th{position:sticky;left:0;z-index:2;background:white;min-width:210px;max-width:260px;color:#202c37;text-transform:none;letter-spacing:0;font-size:13px}.participation-grid-table thead th:first-child{left:0;z-index:4;text-align:left}.participation-grid-table .group-badge{font-size:10px;margin-left:6px;padding:3px 6px}.participation-grid-table td{text-align:center;white-space:nowrap}.grid-present{background:#e5f4e9;color:#185832;font-weight:700}.grid-not-counted{background:#f1f3f5!important;color:#74828d}.grid-low{background:#fee2e2;color:#7f1d1d;font-weight:700}.participation-grid-table tr[hidden]{display:none!important}
.dark-mode .participation-grid-table th{background:#253540;color:#d7e3eb}.dark-mode .participation-grid-scroll{border-color:#3b4c59}.dark-mode .grid-present{background:#244937;color:#c9f1d5}.dark-mode .grid-not-counted{background:#202c36!important;color:#aebfcb}.dark-mode .grid-low{background:#4c272c;color:#ffd7dc}.dark-mode .grid-legend,.dark-mode .participation-grid>summary span{color:#aebfcb}
@media(max-width:800px){.participation-grid>summary{flex-wrap:wrap}.participation-grid>summary b{font-size:16px}.participation-grid-table tbody th,.participation-grid-table thead th:first-child{min-width:150px;max-width:180px}.participation-grid-table th,.participation-grid-table td{padding:10px 8px}.participation-grid-table thead th{min-width:100px}}

.report-collapse>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;min-height:44px;list-style:none;font-size:18px}.report-collapse>summary:after{content:"+";font-size:23px}.report-collapse[open]>summary:after{content:"−"}.report-collapse[open]>summary{margin-bottom:16px}

label.runaway-gf{position:fixed!important;z-index:10000!important;display:flex!important;align-items:center;justify-content:center;gap:8px;min-height:52px;margin:0!important;padding:8px!important;background:#fff!important;color:#202c37!important;border:2px solid #c93235!important;border-radius:9px;box-shadow:0 4px 18px #0003;cursor:pointer;font-size:12px}.runaway-gf input[type=checkbox]{width:21px!important;height:21px!important;margin:0!important}.dark-mode label.runaway-gf{background:#263541!important;color:#e3eaf0!important}

/* Gut lesbare Überschriften und Klappzeichen im Darkmode */
.dark-mode h1,.dark-mode h2,.dark-mode h3,.dark-mode h4,.dark-mode .card>summary,.dark-mode .report-collapse>summary,.dark-mode .participation-grid>summary{color:#e7eef5}
.dark-mode .card>summary:after,.dark-mode .report-collapse>summary:after,.dark-mode .participation-grid>summary:after,.dark-mode .event-create-panel>summary:after{color:#d2e0eb}
.dark-mode .missing-practice-list summary{color:#ffe0a0}
.dark-mode .practice-totals,.dark-mode .summary-hint{color:#aebfcb}
.dark-mode .card>summary:hover{color:#fff}
.org-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.org-toolbar h2{flex:1;margin:0}.org-toolbar label{display:flex;align-items:center;gap:8px;margin:0}.org-toolbar input{width:120px}.org-scroll{overflow:auto;max-height:75vh;border:1px solid #dce3e8;border-radius:10px;background:#f3f5f7;margin-top:16px}.org-scroll svg{display:block;max-width:none}.org-editor[hidden]{display:none!important}.org-node-text{font:12px system-ui,sans-serif;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;overflow:auto;line-height:1.4}.org-node-text strong{font-size:14px}.org-node-notes{white-space:pre-wrap;margin-top:7px}.org-node-people{font-weight:700;margin-top:6px}.org-editor textarea{display:block;width:100%;font:inherit;border:1px solid #d7dfe5;border-radius:6px;padding:10px}.org-coordinates{display:grid;grid-template-columns:repeat(2,1fr);gap:0 10px}.org-editor ul{max-height:260px;overflow:auto;padding-left:20px}.org-editor li{margin:8px 0;font-size:13px}.org-editor li button{font-size:11px;padding:5px 8px}.org-editor small{color:#74828d}.dark-mode .org-scroll{background:#111820;border-color:#3b4c59}.dark-mode .org-editor textarea{background:#263541;color:#e3eaf0;border-color:#4b606f}.org-scroll:has([data-node][role=button]) svg{touch-action:none}.org-scroll [data-node][role=button]{cursor:move}

/* Große Arbeitsflächen bis 4K */
@media(min-width:1200px){body:not(.standalone) main{max-width:none;padding-left:clamp(28px,2vw,76px);padding-right:clamp(28px,2vw,76px)}}
.page-organigram .org-scroll{height:clamp(450px,calc(100dvh - 250px),1900px);max-height:none}.page-organigram .org-scroll svg{margin:0 auto}
@media(min-width:2400px){body{font-size:17px}.card{padding:28px}table{font-size:16px}h1{font-size:36px}.report-collapse>summary,.participation-grid>summary{font-size:21px}}
@media(max-width:800px){.page-organigram .org-scroll{height:65dvh;min-height:380px}.org-release form button{max-width:100%;white-space:normal}.org-toolbar{gap:10px}.org-toolbar h2{flex-basis:100%}}
