/* Veranstaltungsplanung — Werkbank, Dienstleisteransicht, Pläne.
   Die Filament-Basis liefert nur Filaments eigene Klassen; jede zusätzlich
   verwendete Utility steht deshalb hier. Dark Mode über Filaments `.dark`. */

.eo-stack{display:grid;gap:1rem}
.eo-muted{color:rgb(107 114 128);font-size:.75rem}
.dark .eo-muted{color:rgb(156 163 175)}
.eo-strong{font-weight:600}
.eo-nowrap{white-space:nowrap}
.eo-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Karten und Kopfzeilen */
.eo-card{border:1px solid rgb(229 231 235);border-radius:.75rem;background:#fff}
.dark .eo-card{border-color:rgb(255 255 255/.1);background:rgb(17 24 39)}
.eo-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;
  padding:.75rem 1rem;border-bottom:1px solid rgb(229 231 235)}
.dark .eo-card>header{border-color:rgb(255 255 255/.1)}
.eo-card h2{font-size:.95rem;font-weight:700}
.eo-card h3{font-size:.85rem;font-weight:600}
.eo-card-body{padding:1rem}

/* Kennzahlen */
.eo-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.65rem}
.eo-metric{display:grid;gap:.15rem;border:1px solid rgb(229 231 235);border-radius:.65rem;padding:.75rem;background:#fff}
.dark .eo-metric{border-color:rgb(255 255 255/.1);background:rgb(17 24 39)}
.eo-metric strong{font-size:1.35rem;line-height:1.1}
.eo-metric span{color:rgb(107 114 128);font-size:.72rem}
.dark .eo-metric span{color:rgb(156 163 175)}
.eo-metric-danger strong{color:rgb(220 38 38)}
.eo-metric-warning strong{color:rgb(217 119 6)}
.eo-metric-success strong{color:rgb(5 150 105)}

/* Merker: Deckung, Status, Freigabe */
.eo-badge{display:inline-flex;align-items:center;gap:.25rem;border-radius:9999px;
  padding:.1rem .5rem;font-size:.7rem;font-weight:600;white-space:nowrap}
.eo-badge-neutral{background:rgb(243 244 246);color:rgb(55 65 81)}
.dark .eo-badge-neutral{background:rgb(255 255 255/.1);color:rgb(229 231 235)}
.eo-badge-success{background:rgb(209 250 229);color:rgb(6 95 70)}
.dark .eo-badge-success{background:rgb(6 78 59/.5);color:rgb(167 243 208)}
.eo-badge-warning{background:rgb(254 243 199);color:rgb(146 64 14)}
.dark .eo-badge-warning{background:rgb(120 53 15/.5);color:rgb(253 230 138)}
.eo-badge-danger{background:rgb(254 226 226);color:rgb(153 27 27)}
.dark .eo-badge-danger{background:rgb(127 29 29/.5);color:rgb(254 202 202)}
.eo-badge-info{background:rgb(219 234 254);color:rgb(30 64 175)}
.dark .eo-badge-info{background:rgb(30 58 138/.5);color:rgb(191 219 254)}

/* Geerbt oder abweichend — der wichtigste Unterschied der Oberfläche */
.eo-inherited{color:rgb(107 114 128);font-style:italic}
.dark .eo-inherited{color:rgb(156 163 175)}
.eo-override{color:rgb(180 83 9);font-weight:600}
.dark .eo-override{color:rgb(252 211 77)}
.eo-override-dot::before{content:"●";margin-right:.25rem;color:rgb(217 119 6);font-size:.6rem}

/* Werkbank: Liste links, Tafel rechts */
.eo-workbench{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start}
@media (min-width:1280px){.eo-workbench.eo-has-detail{grid-template-columns:minmax(0,1fr) 26rem}}
.eo-detail{position:sticky;top:1rem;max-height:calc(100vh - 6rem);overflow-y:auto}
@media (max-width:1279px){.eo-detail{position:static;max-height:none}}

/* Tabelle */
.eo-table-wrap{overflow-x:auto}
.eo-table{width:100%;border-collapse:collapse;font-size:.8rem}
.eo-table th{position:sticky;top:0;z-index:1;background:rgb(249 250 251);color:rgb(107 114 128);
  font-size:.68rem;font-weight:600;text-align:left;text-transform:uppercase;letter-spacing:.03em}
.dark .eo-table th{background:rgb(31 41 55);color:rgb(156 163 175)}
.eo-table th,.eo-table td{padding:.5rem .6rem;vertical-align:top;border-bottom:1px solid rgb(229 231 235)}
.dark .eo-table th,.dark .eo-table td{border-color:rgb(255 255 255/.08)}
.eo-table tbody tr:hover{background:rgb(249 250 251)}
.dark .eo-table tbody tr:hover{background:rgb(255 255 255/.03)}
.eo-table tr.eo-selected{background:rgb(239 246 255)}
.dark .eo-table tr.eo-selected{background:rgb(30 58 138/.25)}
.eo-table td.num,.eo-table th.num{text-align:right;white-space:nowrap}
.eo-table .eo-sub{display:block;color:rgb(107 114 128);font-size:.7rem;margin-top:.1rem}
.dark .eo-table .eo-sub{color:rgb(156 163 175)}
.eo-empty{padding:2.5rem 1rem;text-align:center;color:rgb(107 114 128);font-size:.85rem}
.dark .eo-empty{color:rgb(156 163 175)}

/* Anforderungen: hierarchische Werkbank mit kompakter Schnellerfassung. */
.eo-quick-requirement{display:grid;grid-template-columns:minmax(13rem,1.2fr) minmax(13rem,1.2fr) 9rem 7rem auto;gap:.5rem;align-items:end}
.eo-filter-search{max-width:20rem}.eo-check{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;white-space:nowrap}
.eo-filter-panel{display:grid;gap:.35rem;min-width:14rem;max-height:18rem;overflow:auto;padding:.65rem}
.eo-requirement-grid{max-height:calc(100vh - 20rem)}
.eo-sticky-core{position:sticky!important;left:0;z-index:2!important;background:#fff!important;min-width:15rem}
thead .eo-sticky-core{z-index:4!important;background:rgb(249 250 251)!important}
.dark .eo-sticky-core{background:rgb(17 24 39)!important}.dark thead .eo-sticky-core{background:rgb(31 41 55)!important}
.eo-summary-row,.eo-resource-row{font-weight:600}.eo-summary-row td{background:rgb(243 244 246)}.eo-resource-row td{background:rgb(249 250 251)}
.dark .eo-summary-row td{background:rgb(31 41 55)}.dark .eo-resource-row td{background:rgb(255 255 255/.03)}
.eo-tree-button{display:inline-flex;align-items:center;gap:.35rem;width:100%;text-align:left}.eo-indent-1{padding-left:1.25rem}.eo-indent-2{padding-left:2.5rem}
.eo-cell-input{width:7.2rem;border:1px solid transparent;border-radius:.3rem;background:transparent;padding:.2rem .3rem;font:inherit;color:inherit}
.eo-cell-input:hover,.eo-cell-input:focus{border-color:rgb(209 213 219);background:#fff;outline:none}.dark .eo-cell-input:hover,.dark .eo-cell-input:focus{background:rgb(31 41 55);border-color:rgb(255 255 255/.18)}
.eo-cell-input.eo-num{width:4.5rem;text-align:right}.eo-matrix th,.eo-matrix td{text-align:center;white-space:nowrap}.eo-matrix .eo-sticky-core{text-align:left}
.eo-weekend{background:rgb(254 249 195)!important}.dark .eo-weekend{background:rgb(113 63 18/.35)!important}.eo-today{box-shadow:inset 0 -3px rgb(37 99 235)}
.eo-slot-list{display:grid;gap:.35rem}.eo-slot-button{display:grid;grid-template-columns:6rem 1fr auto;gap:.5rem;text-align:left;border:1px solid rgb(229 231 235);border-radius:.45rem;padding:.45rem;font-size:.75rem}.eo-slot-button.eo-selected{border-color:rgb(59 130 246);background:rgb(239 246 255)}
.dark .eo-slot-button{border-color:rgb(255 255 255/.12)}.dark .eo-slot-button.eo-selected{background:rgb(30 58 138/.25)}
@media(max-width:900px){.eo-quick-requirement{grid-template-columns:1fr 1fr}.eo-quick-requirement .eo-btn{grid-column:1/-1}.eo-requirement-grid{max-height:none}}

/* Aufgeklappte Zeile: die einzelnen Zuordnungen */
.eo-expansion{background:rgb(249 250 251)}
.dark .eo-expansion{background:rgb(255 255 255/.03)}
.eo-expansion ul{display:grid;gap:.35rem;margin:0;list-style:none;padding:.25rem 0}
.eo-expansion li{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.75rem}

/* Bedienelemente */
.eo-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.eo-tabs{display:flex;flex-wrap:wrap;gap:.3rem}
.eo-tab{border:1px solid rgb(229 231 235);border-radius:9999px;padding:.25rem .8rem;font-size:.78rem;
  background:#fff;color:rgb(55 65 81);cursor:pointer}
.dark .eo-tab{border-color:rgb(255 255 255/.15);background:rgb(31 41 55);color:rgb(229 231 235)}
.eo-tab:hover{background:rgb(243 244 246)}
.dark .eo-tab:hover{background:rgb(55 65 81)}
.eo-tab-active{background:rgb(17 24 39);color:#fff;border-color:rgb(17 24 39)}
.dark .eo-tab-active{background:rgb(229 231 235);color:rgb(17 24 39);border-color:rgb(229 231 235)}
.eo-field{display:grid;gap:.15rem}
.eo-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;align-items:end}
.eo-field>label,.eo-field>span{font-size:.7rem;color:rgb(107 114 128)}
.dark .eo-field>label,.dark .eo-field>span{color:rgb(156 163 175)}
.eo-input,.eo-select,.eo-textarea{width:100%;min-width:0;border:1px solid rgb(209 213 219);border-radius:.45rem;
  padding:.3rem .5rem;font-size:.8rem;background:#fff;color:rgb(17 24 39)}
.dark .eo-input,.dark .eo-select,.dark .eo-textarea{border-color:rgb(255 255 255/.15);background:rgb(31 41 55);color:rgb(243 244 246)}
.eo-input:focus,.eo-select:focus,.eo-textarea:focus{outline:2px solid rgb(59 130 246);outline-offset:-1px}
.eo-textarea{min-height:4rem;resize:vertical}
.eo-btn{display:inline-flex;align-items:center;gap:.3rem;border:1px solid rgb(209 213 219);border-radius:.45rem;
  padding:.28rem .65rem;font-size:.78rem;background:#fff;color:rgb(55 65 81);cursor:pointer;white-space:nowrap}
.dark .eo-btn{border-color:rgb(255 255 255/.15);background:rgb(55 65 81);color:rgb(229 231 235)}
.eo-btn:hover{background:rgb(243 244 246)}
.dark .eo-btn:hover{background:rgb(75 85 99)}
.eo-btn-primary{background:rgb(17 24 39);color:#fff;border-color:rgb(17 24 39)}
.eo-btn-primary:hover{background:rgb(55 65 81)}
.dark .eo-btn-primary{background:rgb(229 231 235);color:rgb(17 24 39);border-color:rgb(229 231 235)}
.dark .eo-btn-primary:hover{background:#fff}
.eo-btn-danger{color:rgb(185 28 28);border-color:rgb(252 165 165)}
.dark .eo-btn-danger{color:rgb(254 202 202);border-color:rgb(153 27 27);background:rgb(69 10 10)}
.eo-btn:disabled{opacity:.5;cursor:not-allowed}
.eo-btn-link{border:0;background:none;padding:0;color:rgb(2 132 199);text-decoration:underline;cursor:pointer;font-size:.75rem}
.dark .eo-btn-link{color:rgb(125 211 252)}

/* Filterraster */
.eo-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.6rem;
  padding:.75rem 1rem;border-bottom:1px solid rgb(229 231 235)}
.dark .eo-filters{border-color:rgb(255 255 255/.1)}
.eo-quickadd{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.5rem;align-items:end;
  padding:.75rem 1rem;background:rgb(249 250 251);border-bottom:1px solid rgb(229 231 235)}
.dark .eo-quickadd{background:rgb(255 255 255/.03);border-color:rgb(255 255 255/.1)}

/* Auswahlleiste für Massenaktionen */
.eo-bulkbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem 1rem;
  background:rgb(239 246 255);border-bottom:1px solid rgb(191 219 254);font-size:.8rem}
.dark .eo-bulkbar{background:rgb(30 58 138/.3);border-color:rgb(30 64 175)}
.eo-bulkbar-spacer{flex:1 1 auto}
.eo-bulkbar-actions{display:flex;align-items:center;gap:.4rem}
.eo-bulk-more-actions{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;min-height:1.8rem;
  list-style:none;font-weight:700;letter-spacing:.08em}
.eo-bulk-more-actions::-webkit-details-marker{display:none}
.eo-menu-item-danger strong{color:rgb(185 28 28)}
.dark .eo-menu-item-danger strong{color:rgb(254 202 202)}

/* Detailtafel */
.eo-panel-section{padding:.85rem 1rem;border-bottom:1px solid rgb(229 231 235)}
.dark .eo-panel-section{border-color:rgb(255 255 255/.1)}
.eo-panel-section:last-child{border-bottom:0}
.eo-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.eo-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.eo-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}
@media (max-width:480px){.eo-grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}
.eo-fulfillment{border:1px solid rgb(229 231 235);border-radius:.6rem;padding:.65rem;display:grid;gap:.5rem}
.dark .eo-fulfillment{border-color:rgb(255 255 255/.12)}
.eo-fulfillment-head{display:flex;align-items:center;justify-content:space-between;gap:.4rem;flex-wrap:wrap}

/* Hinweise: gezeigt, nicht verboten */
.eo-notice{display:grid;gap:.2rem;border-left:3px solid rgb(217 119 6);background:rgb(254 252 232);
  padding:.4rem .6rem;font-size:.73rem;color:rgb(120 53 15);border-radius:0 .35rem .35rem 0}
.dark .eo-notice{background:rgb(120 53 15/.25);color:rgb(253 230 138)}
.eo-notice-danger{border-left-color:rgb(220 38 38);background:rgb(254 242 242);color:rgb(153 27 27)}
.dark .eo-notice-danger{background:rgb(127 29 29/.3);color:rgb(254 202 202)}

/* Pläne und Auftragsgruppen */
.eo-day{display:grid;gap:.6rem}
.eo-day-head{display:flex;align-items:baseline;gap:.6rem;padding:.4rem 0;font-weight:700}
.eo-group{border:1px solid rgb(229 231 235);border-radius:.6rem;overflow:hidden}
.dark .eo-group{border-color:rgb(255 255 255/.12)}
.eo-group-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;
  padding:.6rem .8rem;background:rgb(249 250 251)}
.dark .eo-group-head{background:rgb(255 255 255/.04)}
.eo-group-body{padding:.5rem .8rem}
.eo-chiplist{display:flex;flex-wrap:wrap;gap:.3rem}
.eo-chip{display:inline-flex;align-items:center;gap:.25rem;border-radius:.4rem;background:rgb(243 244 246);
  padding:.15rem .45rem;font-size:.72rem;color:rgb(55 65 81)}
.dark .eo-chip{background:rgb(255 255 255/.08);color:rgb(229 231 235)}

/* Historie */
.eo-history{display:grid;gap:.5rem;list-style:none;margin:0;padding:0;font-size:.75rem}
.eo-history li{border-left:2px solid rgb(229 231 235);padding-left:.6rem}
.dark .eo-history li{border-color:rgb(255 255 255/.15)}

/* Auf schmalen Fenstern nur das Wesentliche */
@media (max-width:1023px){
  .eo-hide-md{display:none}
  .eo-table{font-size:.75rem}
  .eo-table th,.eo-table td{padding:.45rem .4rem}
}
@media (max-width:640px){
  .eo-hide-sm{display:none}
  .eo-grid2,.eo-grid3,.eo-grid4{grid-template-columns:minmax(0,1fr)}
  .eo-metrics{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr))}
}

/* Breite Planungsmatrizen erhalten kontrollierte Spalten, einen stets
   erreichbaren zweiten Scrollbalken und eine eigene vertikale Arbeitsfläche. */
.eo-matrix-shell{position:relative;width:100%;max-width:100%;min-width:0}
.eo-matrix-top-scroll{position:sticky;top:0;z-index:7;height:.82rem;overflow-x:auto;overflow-y:hidden;background:rgb(249 250 251);scrollbar-color:rgb(156 163 175) transparent;scrollbar-width:auto}
.eo-matrix-top-scroll[hidden]{display:none}
.eo-matrix-top-scroll>div{height:1px}
.dark .eo-matrix-top-scroll{background:rgb(31 41 55);scrollbar-color:rgb(107 114 128) transparent}
.eo-crew-matrix-wrap,.eo-matrix-viewport{max-width:100%;overflow:auto;overscroll-behavior:contain;scrollbar-color:rgb(156 163 175) transparent;scrollbar-gutter:stable}
.eo-matrix-viewport{max-height:min(70dvh,46rem)}
.eo-matrix-top-scroll::-webkit-scrollbar,.eo-matrix-viewport::-webkit-scrollbar{width:11px;height:11px}
.eo-matrix-top-scroll::-webkit-scrollbar-thumb,.eo-matrix-viewport::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:rgb(156 163 175);background-clip:padding-box}
.eo-crew-matrix{--eo-matrix-fixed:18rem;--eo-matrix-date:5.25rem;width:max(100%,var(--eo-matrix-min-width));table-layout:fixed}
.eo-crew-matrix th,.eo-crew-matrix td{min-width:0;max-width:100%;overflow:hidden;text-align:center}
.eo-crew-matrix .eo-matrix-date{width:var(--eo-matrix-date);min-width:var(--eo-matrix-date);max-width:var(--eo-matrix-date);overflow:hidden;padding:.3rem .22rem;vertical-align:middle}
.eo-matrix-shell .eo-sub{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.eo-date-label{display:grid;justify-items:center;line-height:1.15;white-space:nowrap}
.eo-crew-matrix .eo-crew-sticky{position:sticky;left:0;z-index:3;width:var(--eo-matrix-fixed);min-width:var(--eo-matrix-fixed);max-width:var(--eo-matrix-fixed);overflow:hidden;text-align:left;background:#fff;box-shadow:3px 0 5px rgb(0 0 0/.06)}
.eo-crew-matrix thead th{position:sticky;top:0;z-index:4;background:rgb(249 250 251)}
.eo-crew-matrix thead .eo-crew-sticky{z-index:6;background:rgb(249 250 251)}
.eo-crew-matrix tbody tr:hover .eo-crew-sticky{background:rgb(249 250 251)}
.dark .eo-crew-matrix .eo-crew-sticky{background:rgb(17 24 39)}
.dark .eo-crew-matrix thead .eo-crew-sticky{background:rgb(31 41 55)}
.dark .eo-crew-matrix tbody tr:hover .eo-crew-sticky{background:rgb(22 30 43)}
.eo-matrix-value{border:0;background:none;min-width:2.6rem;padding:.25rem .35rem;border-radius:.3rem;cursor:pointer;color:inherit;text-align:right}
.eo-matrix-value:hover{background:rgb(219 234 254);color:rgb(30 64 175)}
.dark .eo-matrix-value:hover{background:rgb(30 58 138/.5);color:rgb(191 219 254)}
.eo-total-row td{overflow:hidden;background:rgb(249 250 251);border-top:2px solid rgb(209 213 219)}
.dark .eo-total-row td{background:rgb(31 41 55);border-top-color:rgb(255 255 255/.15)}
.eo-matrix-summary{display:grid;width:100%;min-width:0;gap:.08rem;justify-items:end;overflow:hidden;line-height:1.12;text-align:right}
.eo-matrix-summary>strong,.eo-matrix-summary>span{display:block;width:100%;max-width:100%;overflow:hidden}
.eo-matrix-summary>strong{font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}
.eo-matrix-status{color:rgb(107 114 128);font-size:.58rem;font-weight:400;overflow-wrap:normal;white-space:normal}
.dark .eo-matrix-status{color:rgb(156 163 175)}
.eo-card-actions{display:flex;justify-content:flex-end;gap:.5rem;padding:.65rem 1rem;border-top:1px solid rgb(229 231 235)}
.dark .eo-card-actions{border-color:rgb(255 255 255/.1)}
.eo-subcard{display:grid;gap:.55rem;border:1px solid rgb(229 231 235);border-radius:.6rem;padding:.75rem}
.dark .eo-subcard{border-color:rgb(255 255 255/.12)}
.eo-compact-list{display:grid;gap:.3rem;list-style:none;margin:0;padding:0;font-size:.78rem}
.eo-compact-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-bottom:.25rem;border-bottom:1px solid rgb(243 244 246)}
.dark .eo-compact-list li{border-color:rgb(255 255 255/.07)}
.eo-inline-form{display:flex;align-items:end;flex-wrap:wrap;gap:.4rem}
.eo-inline-form>.eo-field,.eo-inline-form>.eo-input,.eo-inline-form>.eo-select{flex:1 1 9rem}
.eo-allocation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.5rem;margin-top:.4rem}
.eo-count-input{width:5rem;margin-left:auto;text-align:right}
.eo-provider-crew{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:center;gap:.7rem;
  border:1px solid rgb(229 231 235);border-radius:.6rem;padding:.6rem .8rem;background:rgb(249 250 251)}
.dark .eo-provider-crew{border-color:rgb(255 255 255/.12);background:rgb(255 255 255/.03)}
.eo-provider-crew>div{display:grid;gap:.05rem;font-size:.75rem}
.eo-provider-crew-unassigned{border-style:dashed}
.eo-window-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:.4rem;padding:.6rem 1rem;border-top:1px solid rgb(229 231 235)}
.dark .eo-window-toolbar{border-color:rgb(255 255 255/.1)}
.eo-window-arrow{min-width:2rem;font-size:1.15rem;line-height:1}
.eo-window-label{min-width:10.5rem;text-align:center}
.eo-custom-window{display:flex;align-items:end;flex-wrap:wrap;gap:.4rem}
.eo-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.eo-field-inline{display:flex;align-items:center;gap:.3rem}
.eo-field-inline .eo-input{width:9rem}
.eo-btn-active{border-color:rgb(59 130 246);color:rgb(29 78 216);background:rgb(239 246 255)}
.dark .eo-btn-active{color:rgb(147 197 253);background:rgb(30 58 138/.3)}
.eo-hints{display:flex;flex-wrap:wrap;gap:.4rem}
.eo-hints .eo-notice{cursor:pointer;text-align:left}
.eo-notice-warning{border-color:rgb(245 158 11);background:rgb(255 251 235)}
.dark .eo-notice-warning{background:rgb(120 53 15/.2)}
.eo-range-fields{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem;padding:.35rem 1rem;font-size:.78rem}
.eo-impact{margin-right:auto;font-size:.8rem}
.eo-crew-layout{display:block;width:100%;min-width:0}
.eo-crew-main{width:100%;min-width:0}
.eo-crew-sidebar.eo-detail-drawer{position:fixed;z-index:55;top:4.75rem;right:1rem;width:min(28rem,calc(100vw - 2rem));max-height:calc(100dvh - 5.75rem);overflow:auto;box-shadow:0 16px 45px rgb(15 23 42/.24)}
.eo-operations-nav-control{display:none}
@media (min-width:1024px){
  .eo-operations-nav-control{display:flex;margin-bottom:.75rem}
  .eo-operations-nav-toggle{gap:.4rem;font-size:.72rem}
  .eo-operations-nav-toggle>span:first-child{font-size:1rem;line-height:1}
  html.eo-operations-nav-collapsed .fi-page.fi-page-has-sub-navigation-start .fi-page-main{grid-template-columns:minmax(0,1fr)}
  html.eo-operations-nav-collapsed .fi-page.fi-page-has-sub-navigation-start .fi-page-sub-navigation-sidebar-ctn{display:none}
}
.eo-grid-span{grid-column:1/-1}
.eo-matrix-input{width:3.25rem;height:1.9rem;border:1px solid transparent;border-radius:.3rem;background:transparent;text-align:right;font:inherit;font-weight:600;color:inherit;padding:.15rem .2rem}
.eo-matrix-input:hover,.eo-matrix-input:focus{border-color:rgb(147 197 253);background:#fff;outline:2px solid transparent}
.dark .eo-matrix-input:hover,.dark .eo-matrix-input:focus{background:rgb(17 24 39);border-color:rgb(59 130 246)}
.eo-matrix-cell-editor{display:flex;align-items:center;justify-content:flex-end;gap:.1rem}
.eo-day-detail{display:inline-grid;place-items:center;width:1.35rem;height:1.35rem;border:0;border-radius:.3rem;background:transparent;color:rgb(107 114 128);cursor:pointer;opacity:.45}
.eo-day-detail:hover,.eo-day-detail:focus-visible{background:rgb(219 234 254);color:rgb(29 78 216);opacity:1;outline:none}
.dark .eo-day-detail{color:rgb(156 163 175)}
.dark .eo-day-detail:hover,.dark .eo-day-detail:focus-visible{background:rgb(30 58 138/.45);color:rgb(147 197 253)}
.eo-value-open{font-style:italic;color:rgb(107 114 128)}
.eo-date-weekend{background:rgb(255 251 235)}
tr.eo-date-weekend>th,tr.eo-date-weekend>td{background:rgb(255 251 235)}
tr.eo-date-weekend>.eo-sticky-core{background:rgb(255 251 235)!important}
.dark .eo-date-weekend,.dark tr.eo-date-weekend>th,.dark tr.eo-date-weekend>td{background:rgb(120 53 15/.16)}
.dark tr.eo-date-weekend>.eo-sticky-core{background:rgb(38 29 22)!important}
.eo-date-today{box-shadow:inset 0 3px 0 rgb(59 130 246)}
tr.eo-date-today>th,tr.eo-date-today>td{box-shadow:inset 0 3px 0 rgb(59 130 246)}
.eo-requirement-line{text-align:left;white-space:normal}
.eo-hotel-matrix{--eo-matrix-date:5.75rem}
.eo-hotel-matrix td{vertical-align:top}
.eo-cell-danger{background:rgb(254 242 242)!important}
.dark .eo-cell-danger{background:rgb(127 29 29/.25)!important}
.eo-team-allocation{display:block;width:100%;border:0;background:none;color:inherit;cursor:pointer;font-size:.68rem;text-align:left;padding:.08rem 0}
.eo-team-allocation:hover{text-decoration:underline}
.eo-capacity-input{display:block;width:4.5rem;margin:.2rem auto 0;border:1px solid rgb(209 213 219);border-radius:.3rem;background:transparent;color:inherit;font-size:.68rem;padding:.15rem .25rem;text-align:right}
.eo-drilldown-matrix tbody td{height:2.15rem;padding:.25rem .35rem}
.eo-drilldown-matrix .eo-group-row>td{border-top:1px solid rgb(209 213 219)}
.eo-drilldown-matrix .eo-group-row-open>td{background:rgb(239 246 255)}
.dark .eo-drilldown-matrix .eo-group-row-open>td{background:rgb(30 58 138/.2)}
.eo-drilldown-toggle{display:inline-flex;align-items:center;gap:.35rem;max-width:calc(100% - 2rem);border:0;background:none;color:inherit;text-align:left;cursor:pointer;padding:.1rem 0}
.eo-drilldown-toggle>span:last-child,.eo-member-name{display:grid;min-width:0}
.eo-drilldown-toggle small,.eo-member-name small{overflow:hidden;color:rgb(107 114 128);font-size:.66rem;font-weight:400;text-overflow:ellipsis;white-space:nowrap}
.dark .eo-drilldown-toggle small,.dark .eo-member-name small{color:rgb(156 163 175)}
.eo-chevron{display:inline-block;width:.8rem;color:rgb(107 114 128);font-size:.65rem;text-align:center}
.eo-row-detail{float:right;border:0;background:none;color:rgb(107 114 128);cursor:pointer;padding:.15rem .25rem;letter-spacing:.05rem}
.eo-cell-summary{display:block;max-width:100%;overflow:hidden;color:rgb(107 114 128);font-size:.61rem;font-weight:400;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.eo-member-row>td{background:rgb(249 250 251);border-bottom:1px dotted rgb(229 231 235)}
.dark .eo-member-row>td{background:rgb(255 255 255/.025);border-bottom-color:rgb(255 255 255/.08)}
.eo-member-row .eo-crew-sticky{padding-left:.55rem}
.eo-tree-indent{display:inline-block;width:1.15rem;height:.85rem;margin-right:.25rem;border-left:1px solid rgb(209 213 219);border-bottom:1px solid rgb(209 213 219);vertical-align:top}
.eo-tree-indent-deep{width:2rem;margin-left:.5rem}
.eo-member-name{display:inline-grid;max-width:calc(100% - 2.2rem);border:0;background:none;color:inherit;text-align:left;cursor:pointer;padding:.05rem}
.eo-member-name:hover strong{text-decoration:underline}
.eo-assignment-cell{display:grid;place-items:center;width:100%;min-height:1.65rem;border:1px solid transparent;border-radius:.3rem;background:transparent;color:rgb(156 163 175);cursor:pointer;font-weight:700}
.eo-assignment-cell:hover,.eo-assignment-cell:focus{border-color:rgb(147 197 253);background:rgb(239 246 255);outline:none}
.eo-assignment-active{background:rgb(220 252 231);color:rgb(21 128 61)}
.eo-assignment-other{color:rgb(180 83 9)}
.dark .eo-assignment-active{background:rgb(20 83 45/.35);color:rgb(134 239 172)}
.eo-open-row>td{background:rgb(255 251 235);font-size:.7rem}
.dark .eo-open-row>td{background:rgb(120 53 15/.12)}
.eo-add-member-row>td{height:1.8rem!important;background:rgb(249 250 251);border-bottom:1px solid rgb(209 213 219)}
.dark .eo-add-member-row>td{background:rgb(255 255 255/.025);border-color:rgb(255 255 255/.1)}
.eo-add-person{border:0;background:none;color:rgb(37 99 235);cursor:pointer;font-size:.72rem;padding:.1rem 1.35rem}
.eo-add-person:hover{text-decoration:underline}
.eo-member-editor-row>td{padding:.55rem .75rem!important;background:rgb(248 250 252)!important;text-align:left!important}
.dark .eo-member-editor-row>td{background:rgb(15 23 42)!important}
.eo-member-editor{display:grid;gap:.65rem;white-space:normal}
.eo-member-editor>header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:0;border:0}
.eo-member-editor>header>div{display:grid}
.eo-member-fields,.eo-stay-editor{display:flex;align-items:end;flex-wrap:wrap;gap:.4rem}
.eo-member-fields>.eo-field{flex:1 1 8rem}
.eo-member-fields>.eo-member-notes{flex-basis:13rem}
.eo-rooming-inline{display:grid;gap:.45rem;padding-top:.5rem;border-top:1px solid rgb(229 231 235)}
.dark .eo-rooming-inline{border-color:rgb(255 255 255/.1)}
.eo-rooming-list{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}
.eo-stay-chip{display:grid;border:1px solid rgb(209 213 219);border-radius:.35rem;background:#fff;color:inherit;cursor:pointer;font-size:.68rem;padding:.2rem .4rem;text-align:left}
.eo-stay-chip span{color:rgb(107 114 128);font-size:.61rem}
.eo-stay-chip-active{border-color:rgb(59 130 246);background:rgb(239 246 255)}
.dark .eo-stay-chip{background:rgb(31 41 55);border-color:rgb(255 255 255/.15)}
.eo-stay-editor>.eo-field{flex:1 1 8rem}
.eo-hotel-team-row>td{background:rgb(248 250 252)}
.dark .eo-hotel-team-row>td{background:rgb(255 255 255/.025)}
.eo-warning{color:rgb(180 83 9)}
.eo-input-warning{border-color:rgb(245 158 11)!important;background:rgb(255 251 235)!important}
.dark .eo-input-warning{background:rgb(120 53 15/.2)!important}
.eo-meal-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;padding:.65rem 1rem;border-bottom:1px solid rgb(229 231 235)}
.dark .eo-meal-actions{border-color:rgb(255 255 255/.1)}
.eo-meal-actions>.eo-input{width:9rem}
.eo-meal-actions>.eo-select{max-width:14rem}
.eo-range-preview{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;padding:.65rem 1rem;border-bottom:1px solid rgb(191 219 254);background:rgb(239 246 255);font-size:.78rem}
.eo-range-preview>span{color:rgb(75 85 99)}
.eo-range-preview .eo-toolbar{margin-left:auto}
.eo-range-preview-danger{border-color:rgb(253 186 116);background:rgb(255 247 237)}
.dark .eo-range-preview{border-color:rgb(30 64 175);background:rgb(30 58 138/.25)}
.dark .eo-range-preview>span{color:rgb(209 213 219)}
.dark .eo-range-preview-danger{border-color:rgb(154 52 18);background:rgb(124 45 18/.24)}
.eo-export-menu{min-width:22rem;gap:.5rem}
@media (max-width:800px){.eo-grid4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:800px){.eo-provider-crew{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.eo-window-toolbar .eo-field-inline{width:100%}.eo-field-inline .eo-input{flex:1}.eo-matrix-input{width:3rem}.eo-crew-sidebar.eo-detail-drawer{top:4rem;right:.5rem;width:calc(100vw - 1rem);max-height:calc(100dvh - 4.5rem)}.eo-crew-matrix{--eo-matrix-fixed:11rem;--eo-matrix-date:4.75rem}.eo-hotel-matrix{--eo-matrix-date:5.25rem}.eo-matrix-viewport{max-height:62dvh}.eo-member-fields{display:grid;grid-template-columns:minmax(0,1fr)}.eo-member-fields>.eo-field{width:100%}}

/* Helferplanung: drei linke Hierarchiespalten bleiben unabhängig von der
 * Datumsbreite sichtbar; nur Bedarfspositionen enthalten Eingabefelder. */
.eo-staff-matrix{--eo-staff-requester:11rem;--eo-staff-type:10rem;--eo-staff-spec:14rem;--eo-matrix-fixed:35rem;--eo-matrix-date:5.15rem}
.eo-staff-matrix .eo-matrix-date{width:var(--eo-matrix-date);min-width:var(--eo-matrix-date);max-width:var(--eo-matrix-date)}
.eo-staff-matrix .eo-staff-sticky-requester,.eo-staff-matrix .eo-staff-sticky-type,.eo-staff-matrix .eo-staff-sticky-spec{position:sticky;z-index:2;text-align:left;background:#fff}
.eo-staff-matrix .eo-staff-sticky-requester{left:0;min-width:var(--eo-staff-requester);max-width:var(--eo-staff-requester)}
.eo-staff-matrix .eo-staff-sticky-type{left:var(--eo-staff-requester);min-width:var(--eo-staff-type);max-width:var(--eo-staff-type)}
.eo-staff-matrix .eo-staff-sticky-spec{left:calc(var(--eo-staff-requester) + var(--eo-staff-type));min-width:var(--eo-staff-spec);max-width:var(--eo-staff-spec);box-shadow:3px 0 5px rgb(0 0 0/.05)}
.eo-staff-matrix thead .eo-staff-sticky-requester,.eo-staff-matrix thead .eo-staff-sticky-type,.eo-staff-matrix thead .eo-staff-sticky-spec{z-index:4;background:rgb(249 250 251)}
.eo-staff-matrix tbody tr:hover .eo-staff-sticky-requester,.eo-staff-matrix tbody tr:hover .eo-staff-sticky-type,.eo-staff-matrix tbody tr:hover .eo-staff-sticky-spec{background:rgb(249 250 251)}
.dark .eo-staff-matrix .eo-staff-sticky-requester,.dark .eo-staff-matrix .eo-staff-sticky-type,.dark .eo-staff-matrix .eo-staff-sticky-spec{background:rgb(17 24 39)}
.dark .eo-staff-matrix thead .eo-staff-sticky-requester,.dark .eo-staff-matrix thead .eo-staff-sticky-type,.dark .eo-staff-matrix thead .eo-staff-sticky-spec{background:rgb(31 41 55)}
.dark .eo-staff-matrix tbody tr:hover .eo-staff-sticky-requester,.dark .eo-staff-matrix tbody tr:hover .eo-staff-sticky-type,.dark .eo-staff-matrix tbody tr:hover .eo-staff-sticky-spec{background:rgb(22 30 43)}
.eo-staff-type-row td{background:rgb(249 250 251);border-top:1px solid rgb(229 231 235)}
.dark .eo-staff-type-row td{background:rgb(255 255 255/.025);border-color:rgb(255 255 255/.08)}
.eo-staff-demand-row td{height:2.65rem;padding:.2rem .35rem}
.eo-staff-summary-cell{max-width:var(--eo-matrix-date);overflow:hidden;font-size:.78rem}
.eo-staff-cell{vertical-align:middle}
.eo-staff-provider{display:block;width:100%;max-width:100%;overflow:hidden;margin:.12rem 0 0;border:0;background:transparent;color:rgb(37 99 235);cursor:pointer;font-size:.61rem;line-height:1.15;padding:0;text-align:center;text-overflow:ellipsis;white-space:nowrap}
.eo-staff-provider:hover,.eo-staff-provider:focus-visible{text-decoration:underline;outline:none}
.dark .eo-staff-provider{color:rgb(147 197 253)}
.eo-staff-provider-help{margin:.35rem 0 0;font-size:.72rem}
.eo-staff-open{background:rgb(254 242 242)!important;color:rgb(185 28 28)}
.eo-staff-over{box-shadow:inset 0 -2px 0 rgb(245 158 11)}
.dark .eo-staff-open{background:rgb(127 29 29/.22)!important;color:rgb(254 202 202)}
.eo-staff-spec-button{display:grid;max-width:100%;text-align:left}.eo-staff-spec-button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgb(107 114 128)}
.eo-staff-add-link{font-size:.7rem;white-space:nowrap}
.eo-staff-create-row>td{padding:.45rem;background:rgb(239 246 255);border-block:1px solid rgb(191 219 254)}
.dark .eo-staff-create-row>td{background:rgb(30 58 138/.2);border-color:rgb(59 130 246/.35)}
.eo-staff-context-create{position:sticky;left:.45rem;width:max-content;max-width:calc(100vw - 5rem);border:0;background:transparent}
.eo-staff-context-create>.eo-muted{max-width:22rem;font-size:.7rem}
.eo-cell-summary b{color:rgb(185 28 28)}
.eo-staff-day-metrics{display:flex;flex-wrap:wrap;gap:.45rem}.eo-staff-day-metrics>span{padding:.3rem .5rem;border-radius:.4rem;background:rgb(243 244 246);font-size:.75rem}
.dark .eo-staff-day-metrics>span{background:rgb(255 255 255/.07)}
.eo-requirements-matrix{--eo-matrix-fixed:15rem;--eo-matrix-date:5.1rem;width:max(100%,var(--eo-matrix-min-width));table-layout:fixed}
.eo-requirements-matrix .eo-matrix-date{width:var(--eo-matrix-date);min-width:var(--eo-matrix-date);max-width:var(--eo-matrix-date);overflow:hidden;padding:.35rem .25rem}
.eo-requirements-matrix .eo-sticky-core{width:var(--eo-matrix-fixed);min-width:var(--eo-matrix-fixed);max-width:var(--eo-matrix-fixed);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:3px 0 5px rgb(0 0 0/.06)}
.eo-matrix-drawer{width:min(34rem,calc(100vw - 2rem))!important}
.eo-member-add-drawer .eo-member-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.eo-member-add-drawer .eo-member-fields>.eo-btn{align-self:end}
@media (max-width:760px){.eo-staff-matrix .eo-staff-sticky-requester,.eo-staff-matrix .eo-staff-sticky-type,.eo-staff-matrix .eo-staff-sticky-spec{position:static}.eo-member-add-drawer .eo-member-fields{grid-template-columns:minmax(0,1fr)}.eo-requirements-matrix{--eo-matrix-fixed:11rem;--eo-matrix-date:4.75rem}}
.eo-chip-active{border-color:rgb(59 130 246);background:rgb(239 246 255)}
.dark .eo-chip-active{background:rgb(30 58 138/.3)}
.eo-row-actions{display:flex;align-items:center;gap:.3rem}.eo-btn-small{padding:.2rem .4rem;font-size:.68rem}
.eo-form-span{grid-column:1/-1}.eo-daily-staffing td{white-space:nowrap}
@media (max-width:640px){.eo-staff-matrix{--eo-staff-requester:8.5rem;--eo-staff-type:7rem;--eo-staff-spec:10rem}.eo-staff-filters>*{width:100%}.eo-form-span{grid-column:auto}}
@media (max-width:640px){.eo-form-grid{grid-template-columns:minmax(0,1fr)}}
.eo-staff-allocation-form .eo-combobox{width:100%}

/* Personal & Crew: häufige Schritte stehen vorn, Verwaltungsfelder bleiben
   erreichbar, ohne die Arbeitsfläche dauerhaft zu überladen. */
.eo-primary-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}
.eo-progressive{border-top:1px solid rgb(229 231 235)}
.dark .eo-progressive{border-color:rgb(255 255 255/.1)}
.eo-progressive>summary{cursor:pointer;padding:.6rem 1rem;color:rgb(75 85 99);font-size:.78rem;font-weight:600}
.dark .eo-progressive>summary{color:rgb(209 213 219)}
.eo-quickadd-simple{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr)) auto}
.eo-overview-metrics .eo-metric{min-height:6.2rem}
.eo-metric-action{border:1px solid rgb(229 231 235);cursor:pointer;text-align:left;color:inherit}
.eo-metric-action:hover{border-color:rgb(147 197 253);box-shadow:0 1px 4px rgb(15 23 42/.08)}
.dark .eo-metric-action{border-color:rgb(255 255 255/.12)}
.eo-status-table td:first-child{display:grid;min-width:12rem}
.eo-status-table td:first-child span{color:rgb(107 114 128);font-size:.7rem}
.eo-status-table td:last-child{text-align:right;white-space:nowrap}
.eo-success{color:rgb(5 150 105)}
.eo-danger{color:rgb(185 28 28)}
.eo-process-steps{display:flex;align-items:center;justify-content:center;gap:.8rem;padding:.75rem 1rem;border:1px solid rgb(219 234 254);border-radius:.65rem;background:rgb(239 246 255)}
.dark .eo-process-steps{border-color:rgb(30 64 175);background:rgb(30 58 138/.2)}
.eo-process-steps span{display:grid;grid-template-columns:auto 1fr;column-gap:.4rem;align-items:center}
.eo-process-steps b{grid-row:1/3;display:grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:999px;background:rgb(37 99 235);color:#fff}
.eo-process-steps small{color:rgb(75 85 99)}
.dark .eo-process-steps small{color:rgb(209 213 219)}
.eo-chevron-button{display:inline-grid;place-items:center;width:1.5rem;height:1.7rem;border:0;background:none;color:rgb(107 114 128);cursor:pointer;vertical-align:top}
.eo-team-name{display:inline-grid;max-width:calc(100% - 2rem);border:0;background:none;color:inherit;text-align:left;cursor:pointer;padding:.05rem}
.eo-team-name:hover strong{text-decoration:underline}
.eo-team-name small{overflow:hidden;color:rgb(107 114 128);font-size:.66rem;font-weight:400;text-overflow:ellipsis;white-space:nowrap}
.dark .eo-team-name small{color:rgb(156 163 175)}
.eo-matrix-legend{display:flex;flex-wrap:wrap;gap:.8rem;padding:.45rem 1rem;border-bottom:1px solid rgb(229 231 235);color:rgb(75 85 99);font-size:.7rem}
.dark .eo-matrix-legend{border-color:rgb(255 255 255/.1);color:rgb(209 213 219)}
.eo-cell-action{display:block;margin:.2rem auto 0;font-size:.6rem;white-space:normal}
.eo-drawer-tabs{display:flex;border-bottom:1px solid rgb(229 231 235);padding:0 .75rem}
.dark .eo-drawer-tabs{border-color:rgb(255 255 255/.1)}
.eo-drawer-tabs button{border:0;border-bottom:2px solid transparent;background:none;color:inherit;cursor:pointer;padding:.55rem .7rem;font-size:.75rem}
.eo-drawer-tabs .eo-tab-active{border-bottom-color:rgb(37 99 235);color:rgb(29 78 216)}
.eo-person-date-list{display:grid;gap:.3rem}
.eo-person-date-list>div{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border:1px solid rgb(229 231 235);border-radius:.4rem;padding:.35rem .45rem}
.dark .eo-person-date-list>div{border-color:rgb(255 255 255/.1)}
.eo-person-date-list span{display:grid;font-size:.72rem}.eo-person-date-list small{color:rgb(107 114 128)}
.eo-person-date-list .eo-assignment-cell{width:auto;padding:.25rem .45rem;font-size:.7rem}
.eo-staff-sentence-form{display:grid;grid-template-columns:repeat(3,minmax(10rem,1fr));align-items:end;gap:.55rem;padding:1rem}
.eo-staff-flow{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;padding:.45rem;border-radius:.4rem;background:rgb(249 250 251);font-size:.75rem}
.dark .eo-staff-flow{background:rgb(255 255 255/.04)}
.eo-meal-tools{border-block:1px solid rgb(229 231 235);background:rgb(249 250 251)}
.dark .eo-meal-tools{border-color:rgb(255 255 255/.1);background:rgb(255 255 255/.025)}
.eo-meal-tools>header{display:flex;align-items:center;justify-content:space-between;padding:.55rem 1rem}.eo-meal-tools>header>div{display:grid}
.eo-mobile-planning{display:none}
.eo-mobile-team-card{overflow:hidden;border:1px solid rgb(229 231 235);border-radius:.6rem;background:#fff}
.dark .eo-mobile-team-card{border-color:rgb(255 255 255/.12);background:rgb(17 24 39)}
.eo-mobile-team-card>header{display:flex;align-items:start;padding:.65rem}
.eo-mobile-day-list{display:grid;border-top:1px solid rgb(229 231 235)}
.eo-mobile-day-list label{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .65rem}
.eo-mobile-day-list label>span{display:grid;font-size:.75rem}.eo-mobile-day-list small{color:rgb(107 114 128)}
.eo-mobile-day-list .eo-input{width:5rem;text-align:right}
.eo-mobile-person-list{display:grid;gap:.3rem;border-top:1px solid rgb(229 231 235);padding:.55rem .65rem}
.eo-mobile-person-list>button:not(.eo-btn-link){display:grid;border:0;background:none;color:inherit;text-align:left}.eo-mobile-person-list>button span{color:rgb(107 114 128);font-size:.68rem}
.eo-mobile-person-add{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:.4rem;padding-top:.4rem;border-top:1px solid rgb(229 231 235)}

@media (max-width:760px){
  .eo-desktop-matrix{display:none}.eo-mobile-planning{display:grid;gap:.65rem}
  .eo-status-table thead{display:none}.eo-status-table,.eo-status-table tbody,.eo-status-table tr,.eo-status-table td{display:block;width:100%}
  .eo-status-table tr{padding:.65rem;border-bottom:1px solid rgb(229 231 235)}.eo-status-table td{border:0!important;padding:.2rem 0!important}.eo-status-table td:last-child{text-align:left}
  .eo-process-steps{align-items:stretch;flex-direction:column}.eo-process-steps>i{display:none}
  .eo-staff-sentence-form{grid-template-columns:1fr 1fr}.eo-staff-sentence-form .eo-btn{grid-column:1/-1}
  .eo-window-label{min-width:8.5rem}.eo-custom-window{width:100%}
  .eo-mobile-person-add{grid-template-columns:1fr}
}

/* ---------------------------------------------------------------------------
   Raster: die Pflegeoberfläche.
   Eine Zelle hat zwei Zustände — Wert oder Eingabefeld. Der Wechsel darf die
   Zeilenhöhe nicht ändern, sonst springt beim Tabben die ganze Tabelle.
   --------------------------------------------------------------------------- */

.eo-grid-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem}
.eo-grid-header-left{display:grid;gap:.6rem;flex:1 1 22rem}
.eo-input-search{min-width:14rem}
.eo-input-narrow{max-width:8rem}

.eo-grid-wrap{overflow-x:auto;overflow-y:visible}
.eo-grid{min-width:100%;font-size:.8rem;table-layout:auto}
.eo-grid th{white-space:nowrap;padding:.4rem .55rem}
.eo-grid td{padding:0;vertical-align:middle;height:2.1rem}
.eo-grid .eo-cell{padding:.25rem .55rem;position:relative}
.eo-col-select{width:2.2rem;text-align:center;padding:.25rem!important}
.eo-col-actions{width:4rem;text-align:right;white-space:nowrap;padding:.25rem .4rem!important}

.eo-row-demand>td{border-bottom:1px solid rgb(229 231 235)}
.dark .eo-row-demand>td{border-bottom-color:rgb(255 255 255/.08)}
.eo-row-fulfillment{background:rgb(249 250 251)}
.dark .eo-row-fulfillment{background:rgb(255 255 255/.025)}
.eo-row-fulfillment>td{border-bottom:1px dotted rgb(229 231 235)}
.dark .eo-row-fulfillment>td{border-bottom-color:rgb(255 255 255/.08)}
.eo-row-fulfillment .eo-cell{font-size:.76rem}
.eo-row-new>td{background:rgb(249 250 251);border-top:2px solid rgb(229 231 235)}
.dark .eo-row-new>td{background:rgb(255 255 255/.03);border-top-color:rgb(255 255 255/.1)}

.eo-subrow-marker{color:rgb(156 163 175);margin-right:.3rem}
.eo-subrow-toggle{border:0;background:none;cursor:pointer;color:rgb(107 114 128);font-size:.7rem;padding:0 .25rem}
.dark .eo-subrow-toggle{color:rgb(156 163 175)}
.eo-subrow-toggle:hover{color:rgb(17 24 39)}
.dark .eo-subrow-toggle:hover{color:#fff}

/* Bearbeitbare Zellen erkennt man daran, dass sie auf den Zeiger reagieren —
   nicht an einem Rahmen um jede Zelle: das wäre ein Gitter aus Kästchen. */
.eo-cell-editable{cursor:text}
.eo-cell-editable:hover{background:rgb(243 244 246);box-shadow:inset 0 0 0 1px rgb(209 213 219)}
.dark .eo-cell-editable:hover{background:rgb(255 255 255/.06);box-shadow:inset 0 0 0 1px rgb(255 255 255/.15)}
.eo-cell-editable:focus-visible{outline:2px solid rgb(59 130 246);outline-offset:-2px}
.eo-cell-text{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
.eo-editor{position:relative}
.eo-editor .eo-input{padding:.15rem .35rem;font-size:.78rem;height:1.6rem}
.eo-cell-error{background:rgb(254 242 242)}
.dark .eo-cell-error{background:rgb(127 29 29/.3)}
.eo-cell-message{position:absolute;left:0;top:100%;z-index:20;margin-top:.15rem;white-space:normal;
  min-width:14rem;max-width:22rem;border-radius:.35rem;padding:.3rem .5rem;font-size:.72rem;
  background:rgb(153 27 27);color:#fff;box-shadow:0 4px 10px rgb(0 0 0/.2)}

.eo-source-internal{font-style:italic}
.eo-sort{border:0;background:none;padding:0;cursor:pointer;font:inherit;color:inherit;text-transform:inherit;
  letter-spacing:inherit;display:inline-flex;align-items:center;gap:.2rem}
.eo-sort:hover{color:rgb(17 24 39)}
.dark .eo-sort:hover{color:#fff}
.eo-sort-active{font-size:.6rem}

.eo-icon-btn{border:1px solid transparent;border-radius:.35rem;background:none;cursor:pointer;
  color:rgb(107 114 128);padding:.05rem .3rem;font-size:.85rem;line-height:1.3}
.dark .eo-icon-btn{color:rgb(156 163 175)}
.eo-icon-btn:hover{background:rgb(243 244 246);color:rgb(17 24 39)}
.dark .eo-icon-btn:hover{background:rgb(255 255 255/.1);color:#fff}

.eo-quickadd{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.35rem .55rem}
.eo-quickadd .eo-input{max-width:16rem}
.eo-grid-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem 1rem}

/* Merker der aktiven Filter */
.eo-chipbar{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.5rem 1rem;
  border-bottom:1px solid rgb(229 231 235)}
.dark .eo-chipbar{border-color:rgb(255 255 255/.1)}
.eo-chip-removable{border:1px solid rgb(209 213 219);cursor:pointer}
.dark .eo-chip-removable{border-color:rgb(255 255 255/.15)}
.eo-chip-removable:hover{background:rgb(229 231 235)}
.dark .eo-chip-removable:hover{background:rgb(255 255 255/.15)}
.eo-chip-btn{border:0;background:none;cursor:pointer;color:inherit;padding:0 .15rem;font-size:.8rem}
.eo-chip-btn:disabled{opacity:.35;cursor:not-allowed}

/* Aufklappmenü für die Mehrfachauswahl im Kopf */
.eo-dropdown{position:relative}
.eo-dropdown>summary{list-style:none;cursor:pointer}
.eo-dropdown>summary::-webkit-details-marker{display:none}
.eo-dropdown-panel{position:absolute;right:0;top:calc(100% + .3rem);z-index:30;min-width:15rem;max-height:18rem;
  overflow-y:auto;display:grid;gap:.15rem;padding:.5rem;border:1px solid rgb(229 231 235);border-radius:.5rem;
  background:#fff;box-shadow:0 10px 25px rgb(0 0 0/.12)}
.dark .eo-dropdown-panel{border-color:rgb(255 255 255/.15);background:rgb(31 41 55);box-shadow:0 10px 25px rgb(0 0 0/.5)}
.eo-check{display:flex;align-items:center;gap:.4rem;font-size:.78rem;cursor:pointer}
.eo-check-fixed{opacity:.6;cursor:not-allowed}

/* Spaltenwahl */
.eo-columns-panel{display:grid;gap:.6rem;padding:.75rem 1rem;border-bottom:1px solid rgb(229 231 235)}
.dark .eo-columns-panel{border-color:rgb(255 255 255/.1)}
.eo-columns-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.25rem}
.eo-columns-order{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem}

/* Massenpflege: rechts über der Werkbank statt als hohes Formular im Raster. */
.eo-bulk-drawer-backdrop{display:none}
.eo-bulk-drawer{position:fixed;z-index:60;top:4.75rem;right:1rem;width:min(30rem,calc(100vw - 2rem));
  max-width:calc(100vw - 2rem);height:calc(100dvh - 5.75rem);min-width:0;overflow:hidden;
  display:flex;flex-direction:column;box-shadow:0 18px 50px rgb(15 23 42/.24)}
.eo-bulk-drawer>header{flex:0 0 auto}
.eo-bulk-drawer-body{display:grid;flex:1 1 auto;align-content:start;gap:.85rem;min-width:0;padding:.85rem 1rem;overflow-y:auto;overflow-x:hidden;
  overscroll-behavior:contain}
.eo-bulk-drawer-footer{display:flex;flex:0 0 auto;justify-content:flex-end;gap:.45rem;padding:.75rem 1rem;
  border-top:1px solid rgb(229 231 235);background:#fff}
.dark .eo-bulk-drawer-footer{border-color:rgb(255 255 255/.1);background:rgb(17 24 39)}
.eo-bulk-notices{display:grid;gap:.4rem}
.eo-bulk-section{display:grid;gap:.4rem;min-width:0}
.eo-bulk-section>h3{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:rgb(107 114 128)}
.dark .eo-bulk-section>h3{color:rgb(156 163 175)}
.eo-bulk-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:.35rem;min-width:0}
.eo-bulk-fields-primary{gap:.45rem}
.eo-bulk-field{min-width:0;border:1px solid rgb(229 231 235);border-radius:.5rem;background:#fff}
.dark .eo-bulk-field{border-color:rgb(255 255 255/.12);background:rgb(17 24 39)}
.eo-bulk-field-active{border-color:rgb(147 197 253);background:rgb(239 246 255/.45)}
.dark .eo-bulk-field-active{border-color:rgb(59 130 246);background:rgb(30 58 138/.18)}
.eo-bulk-field-compact,.eo-bulk-field-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;
  min-width:0;padding:.42rem .55rem;font-size:.78rem}
.eo-bulk-field-compact>span:first-child,.eo-bulk-field-head>strong{min-width:0;overflow-wrap:anywhere}
.eo-bulk-field-actions{display:flex;flex:0 0 auto;align-items:center;gap:.55rem}
.eo-bulk-field-actions .eo-btn-link{text-decoration:none}
.eo-bulk-field-actions .eo-btn-link:hover{text-decoration:underline}
.eo-bulk-remove{color:rgb(153 27 27)!important}
.dark .eo-bulk-remove{color:rgb(254 202 202)!important}
.eo-bulk-editor{min-width:0;padding:0 .55rem .55rem}
.eo-bulk-editor>.eo-input,.eo-bulk-editor>.eo-select,.eo-bulk-editor>.eo-combobox,
.eo-bulk-editor>.eo-date-input{width:100%;max-width:none;min-width:0}
.eo-bulk-clear-hint{padding:0 .55rem .55rem;color:rgb(153 27 27);font-size:.72rem;line-height:1.35}
.dark .eo-bulk-clear-hint{color:rgb(254 202 202)}
.eo-bulk-more,.eo-bulk-source-action{min-width:0;border-top:1px solid rgb(229 231 235);padding-top:.7rem}
.dark .eo-bulk-more,.dark .eo-bulk-source-action{border-color:rgb(255 255 255/.1)}
.eo-bulk-more>summary,.eo-bulk-source-action>summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;
  list-style:none;cursor:pointer;font-size:.8rem;font-weight:650}
.eo-bulk-more>summary::-webkit-details-marker,.eo-bulk-source-action>summary::-webkit-details-marker{display:none}
.eo-bulk-more>summary span{font-size:1.15rem;transition:transform .15s}
.eo-bulk-more[open]>summary span{transform:rotate(90deg)}
.eo-bulk-more-body{display:grid;gap:.9rem;padding-top:.75rem}
.eo-bulk-source-action>div{display:grid;gap:.5rem;padding-top:.55rem}
.eo-bulk-source-action .eo-btn{justify-self:start}
.eo-bulk-drawer .eo-dropdown-panel{z-index:65}

@media (max-width:640px){
  .eo-bulkbar{align-items:flex-start}
  .eo-bulkbar-spacer{display:none}
  .eo-bulkbar-actions{width:100%;flex-wrap:wrap}
  .eo-bulk-drawer-backdrop{display:block;position:fixed;z-index:59;inset:0;border:0;background:rgb(15 23 42/.42)}
  .eo-bulk-drawer{top:0;right:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}
  .eo-bulk-field-actions{gap:.4rem}
}

@media (max-width:1023px){
  .eo-grid td{height:auto}
  .eo-grid-header{flex-direction:column}
  .eo-columns-list{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr))}
}

/* ---------------------------------------------------------------------------
   Aufteilen: eine Position auf mehrere Quellen verteilen — im Raster, nicht
   in einem Panel. Der Knopf erscheint beim Überfahren der Zeile; sichtbar
   bleibt er, sobald er den Tastaturfokus hat.
   --------------------------------------------------------------------------- */

.eo-split-btn{margin-left:.4rem;border:1px solid transparent;border-radius:.35rem;background:none;cursor:pointer;
  color:rgb(107 114 128);font-size:.68rem;padding:.05rem .3rem;white-space:nowrap;opacity:0;transition:opacity .1s}
.dark .eo-split-btn{color:rgb(156 163 175)}
.eo-row-demand:hover .eo-split-btn,.eo-split-btn:focus-visible{opacity:1}
.eo-split-btn:hover{background:rgb(243 244 246);color:rgb(17 24 39);border-color:rgb(209 213 219)}
.dark .eo-split-btn:hover{background:rgb(255 255 255/.1);color:#fff;border-color:rgb(255 255 255/.2)}

/* Teilzeilen: nur die Menge einer Teilmenge, nicht des Bedarfs. */
.eo-part-qty{font-weight:600}
.eo-part-open{color:rgb(107 114 128);font-style:italic}
.dark .eo-part-open{color:rgb(156 163 175)}
.eo-row-hover-only{opacity:0}
.eo-row-fulfillment:hover .eo-row-hover-only,.eo-row-hover-only:focus-visible{opacity:1}

/* Fuß einer aufgeklappten Gruppe */
.eo-row-groupfoot>td{background:rgb(249 250 251);border-bottom:1px solid rgb(229 231 235);padding:.3rem .55rem!important}
.dark .eo-row-groupfoot>td{background:rgb(255 255 255/.025);border-bottom-color:rgb(255 255 255/.08)}
.eo-groupfoot{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.75rem}
.eo-btn-tiny{padding:.1rem .45rem;font-size:.72rem}

/* Der Editor unter der Zeile */
.eo-split-row>td{background:rgb(239 246 255);border-bottom:1px solid rgb(191 219 254);padding:.6rem .8rem!important}
.dark .eo-split-row>td{background:rgb(30 58 138/.25);border-bottom-color:rgb(30 64 175)}
.eo-split{display:grid;gap:.5rem}
.eo-split-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem;font-size:.82rem}
.eo-split-parts{display:grid;gap:.3rem}
.eo-split-part{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}
.eo-split-nr{min-width:1.4rem;color:rgb(107 114 128);font-size:.72rem;text-align:right}
.dark .eo-split-nr{color:rgb(156 163 175)}
.eo-split-qty{max-width:5.5rem}
.eo-split-type{max-width:10rem}
.eo-split-source{max-width:16rem;flex:1 1 10rem}
.eo-split-foot{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.78rem;padding-top:.2rem;
  border-top:1px solid rgb(191 219 254)}
.dark .eo-split-foot{border-top-color:rgb(30 64 175)}
.eo-split-actions{margin-left:auto;display:flex;gap:.35rem}

@media (max-width:640px){
  .eo-split-btn{opacity:1}
  .eo-row-hover-only{opacity:1}
  .eo-split-actions{margin-left:0}
}

/* Eine Bereitstellungsspalte auf einer Zeile mit mehreren Quellen lässt sich
   nicht bearbeiten — welche Quelle wäre gemeint? Der Klick klappt stattdessen
   auf. Das darf sich anfassbar anfühlen, aber nicht wie ein Eingabefeld. */
.eo-cell-expands{cursor:zoom-in}
.eo-cell-expands:hover{background:rgb(249 250 251)}
.dark .eo-cell-expands:hover{background:rgb(255 255 255/.04)}
.eo-cell-expands:focus-visible{outline:2px solid rgb(59 130 246);outline-offset:-2px}

/* Ein Eingabefeld füllt seine Zelle aus, statt darin zu schweben. */
.eo-editor .eo-input{width:100%}
.eo-editor input[type="date"]{min-width:8.5rem}

/* ---------------------------------------------------------------------------
   Exportdialoge. Sie liegen über der Werkbank, weil die Frage „was genau
   exportiere ich" den Blick auf die Liste voraussetzt — der Dialog verdeckt
   sie, aber die Werkbank bleibt dahinter stehen.
   --------------------------------------------------------------------------- */

.eo-modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-start;justify-content:center;
  padding:3rem 1rem;background:rgb(17 24 39/.45);overflow-y:auto}
.eo-modal{width:100%;max-width:56rem;border-radius:.75rem;background:#fff;box-shadow:0 25px 50px -12px rgb(0 0 0/.4);
  display:flex;flex-direction:column;max-height:calc(100vh - 6rem)}
.dark .eo-modal{background:rgb(17 24 39);color:rgb(229 231 235)}
.eo-modal-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;
  padding:.9rem 1.1rem;border-bottom:1px solid rgb(229 231 235)}
.dark .eo-modal-head{border-color:rgb(255 255 255/.1)}
.eo-modal-head h2{font-size:1rem;font-weight:700}
.eo-modal-body{padding:1rem 1.1rem;overflow-y:auto}
.eo-modal-foot{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end;
  padding:.8rem 1.1rem;border-top:1px solid rgb(229 231 235)}
.dark .eo-modal-foot{border-color:rgb(255 255 255/.1)}
.eo-modal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.1rem}
.eo-modal-grid h3{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;
  color:rgb(107 114 128);margin-bottom:.35rem}
.dark .eo-modal-grid h3{color:rgb(156 163 175)}
.eo-modal-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.15rem;
  max-height:13rem;overflow-y:auto;padding:.3rem;border:1px solid rgb(229 231 235);border-radius:.4rem}
.dark .eo-modal-columns{border-color:rgb(255 255 255/.12)}
.eo-modal-preview{margin-top:1rem;padding-top:.8rem;border-top:1px solid rgb(229 231 235)}
.dark .eo-modal-preview{border-color:rgb(255 255 255/.1)}
.eo-modal-preview h3{font-size:.82rem;font-weight:700;margin:.6rem 0 .35rem}
.eo-modal-preview .eo-table{font-size:.75rem}

.eo-radio{display:flex;align-items:baseline;gap:.4rem;font-size:.82rem;padding:.12rem 0;cursor:pointer}
.eo-radio-off{opacity:.45;cursor:not-allowed}
.eo-radio .eo-muted{margin-left:auto}
.eo-dropdown-menu{min-width:19rem;padding:.3rem}
.eo-menu-item{display:grid;gap:.05rem;width:100%;text-align:left;border:0;border-radius:.4rem;
  background:none;cursor:pointer;padding:.4rem .5rem;font-size:.82rem;color:inherit}
.eo-menu-item:hover{background:rgb(243 244 246)}
.dark .eo-menu-item:hover{background:rgb(255 255 255/.08)}
.eo-menu-item:disabled{opacity:.45;cursor:not-allowed}
.eo-menu-item strong{font-weight:600}

@media (max-width:640px){
  .eo-modal-backdrop{padding:1rem .5rem}
  .eo-modal-grid{grid-template-columns:1fr}
}

/* Die Karte schnitt früher alles ab, was über ihren Rand ragte — und damit
   auch ein Aufklappmenü in ihrer Kopfzeile, sobald die Tabelle darunter kurz
   war. Gerundet wird jetzt am Inhalt statt durch Beschneiden der Karte. */
.eo-grid-wrap{border-radius:0 0 .75rem .75rem}
.eo-card>header:first-child{border-radius:.75rem .75rem 0 0}

/* Über Filaments eigenen Ebenen: ein Dialog, den die Topbar überdeckt, ist
   kein Dialog. */
.eo-modal-backdrop{z-index:60}
.eo-dropdown-panel{z-index:55}

/* ─────────────────────────────────────────────────────────────────────
   Werkbank, zweiter Ausbau: Sticky-Kopf, fixe Kernspalten, Combobox,
   Zellbereiche, Rücknahme. Alles ohne Framework — dieselbe Datei, die
   das Paket ohnehin ausliefert.
   ───────────────────────────────────────────────────────────────────── */

/* Eine breite Tabelle scrollt in ihrem eigenen Fenster und schiebt nicht die
   ganze Seite nach rechts. Rasterelemente haben von sich aus `min-width:auto`
   und wachsen sonst mit ihrem Inhalt — dann wandert die Werkzeugleiste aus dem
   Bild, und genau die braucht man, um die Spalte wieder schmaler zu ziehen. */
.eo-workbench,.eo-stack,.eo-card{min-width:0;max-width:100%}

/* Der Tabellenkopf bleibt stehen. Bei dreihundert Positionen ist die
   Alternative, sich zu merken, welche Spalte die vierte war. */
.eo-grid-wrap{overflow:auto;max-height:calc(100vh - 19rem);position:relative}
.eo-grid{table-layout:fixed}
.eo-grid thead th{position:sticky;top:0;z-index:20;background:rgb(249 250 251)}
.dark .eo-grid thead th{background:rgb(31 41 55)}
/* Ein durchgehender Strich unter dem Kopf: `border-bottom` wandert beim
   Scrollen mit der Zelle und wirkt dabei löchrig. */
.eo-grid thead th::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:rgb(229 231 235)}
.dark .eo-grid thead th::after{background:rgb(255 255 255/.12)}

/* Auswahl und erste Spalte bleiben beim Querscrollen stehen. Ohne sie
   weiß beim vierzehnten Feld niemand mehr, zu welcher Position es gehört. */
/* Die Zellenregel weiter oben setzt `position:relative` und ist spezifischer
   als eine einzelne Klasse — deshalb hier ausdrücklich über Elementname. */
.eo-grid td.eo-sticky-0,.eo-grid th.eo-sticky-0{position:sticky;left:0;z-index:15}
.eo-grid td.eo-sticky-1,.eo-grid th.eo-sticky-1{position:sticky;left:2.2rem;z-index:14}
.eo-grid thead .eo-sticky-0{z-index:25}
.eo-grid thead .eo-sticky-1{z-index:24}
/* Fixierte Zellen brauchen einen eigenen Hintergrund — sonst scheint die
   Tabelle darunter durch. Er folgt der Zeilenart. */
.eo-row-demand>.eo-sticky-0,.eo-row-demand>.eo-sticky-1{background:#fff}
.dark .eo-row-demand>.eo-sticky-0,.dark .eo-row-demand>.eo-sticky-1{background:rgb(17 24 39)}
.eo-row-fulfillment>.eo-sticky-0,.eo-row-fulfillment>.eo-sticky-1{background:rgb(249 250 251)}
.dark .eo-row-fulfillment>.eo-sticky-0,.dark .eo-row-fulfillment>.eo-sticky-1{background:rgb(26 33 47)}
.eo-row-groupfoot>.eo-sticky-0{background:rgb(249 250 251)}
.dark .eo-row-groupfoot>.eo-sticky-0{background:rgb(26 33 47)}
.eo-row-new>.eo-sticky-0{background:rgb(249 250 251)}
.dark .eo-row-new>.eo-sticky-0{background:rgb(26 33 47)}
.eo-split-row>.eo-sticky-0{background:rgb(239 246 255)}
.dark .eo-split-row>.eo-sticky-0{background:rgb(24 40 78)}
.eo-table tbody tr:hover>.eo-sticky-0,.eo-table tbody tr:hover>.eo-sticky-1{background:rgb(243 244 246)}
.dark .eo-table tbody tr:hover>.eo-sticky-0,.dark .eo-table tbody tr:hover>.eo-sticky-1{background:rgb(31 41 55)}
.eo-table tr.eo-selected>.eo-sticky-0,.eo-table tr.eo-selected>.eo-sticky-1{background:rgb(239 246 255)}
.dark .eo-table tr.eo-selected>.eo-sticky-0,.dark .eo-table tr.eo-selected>.eo-sticky-1{background:rgb(24 40 78)}
/* Die Kante, an der das Fixierte endet — sonst klebt der Text aneinander. */
.eo-sticky-1{box-shadow:1px 0 0 rgb(229 231 235)}
.dark .eo-sticky-1{box-shadow:1px 0 0 rgb(255 255 255/.12)}

.eo-colgroup-select{width:2.2rem}
.eo-colgroup-actions{width:4rem}

/* Die Erfassung oben klebt unter dem Kopf. */
.eo-row-quickadd-top>td{position:sticky;top:2.15rem;z-index:12;background:rgb(249 250 251)}
.dark .eo-row-quickadd-top>td{background:rgb(26 33 47)}
.eo-row-quickadd-top>.eo-sticky-0{z-index:16}

/* Spaltenbreite ziehen */
.eo-resize{position:absolute;top:0;right:0;width:.45rem;height:100%;cursor:col-resize;
  user-select:none;touch-action:none}
.eo-grid th{position:relative;overflow:hidden;text-overflow:ellipsis}
.eo-resize:hover,.eo-resize:focus-visible{background:rgb(59 130 246/.35)}
body.eo-resizing{cursor:col-resize;user-select:none}
/* Auf Touchgeräten ist ein Griff dieser Breite kein Bedienelement. */
@media (pointer:coarse){.eo-resize{display:none}}

/* Combobox: Partner oder eigene Quelle, gesucht auf dem Server */
.eo-combobox{position:relative;min-width:9rem}
.eo-combobox-panel{position:absolute;left:0;top:calc(100% + .15rem);z-index:60;min-width:18rem;max-width:26rem;
  max-height:17rem;overflow:auto;border:1px solid rgb(209 213 219);border-radius:.5rem;background:#fff;
  box-shadow:0 10px 25px rgb(0 0 0/.12);padding:.25rem}
.dark .eo-combobox-panel{border-color:rgb(255 255 255/.15);background:rgb(31 41 55);box-shadow:0 10px 25px rgb(0 0 0/.5)}
.eo-combobox-group+.eo-combobox-group{border-top:1px solid rgb(243 244 246);margin-top:.2rem;padding-top:.2rem}
.dark .eo-combobox-group+.eo-combobox-group{border-top-color:rgb(255 255 255/.08)}
.eo-combobox-label{padding:.25rem .45rem .1rem;font-size:.65rem;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;color:rgb(107 114 128)}
.dark .eo-combobox-label{color:rgb(156 163 175)}
.eo-combobox-option{display:flex;align-items:center;gap:.4rem;width:100%;padding:.3rem .45rem;border:0;
  border-radius:.35rem;background:none;text-align:left;font-size:.8rem;cursor:pointer;color:inherit}
.eo-combobox-option:hover,.eo-combobox-active{background:rgb(243 244 246)}
.dark .eo-combobox-option:hover,.dark .eo-combobox-active{background:rgb(255 255 255/.1)}
.eo-combobox-create{border-top:1px solid rgb(229 231 235);margin-top:.2rem;padding-top:.4rem;font-weight:600}
.dark .eo-combobox-create{border-top-color:rgb(255 255 255/.12)}
.eo-combobox-clear{color:rgb(153 27 27)}
.dark .eo-combobox-clear{color:rgb(254 202 202)}
.eo-combobox-note{padding:.4rem .45rem;font-size:.75rem;color:rgb(107 114 128)}
.dark .eo-combobox-note{color:rgb(156 163 175)}
.eo-combobox-floating{z-index:9999;overflow:auto;overscroll-behavior:contain}
.eo-date-input{position:relative;display:grid;grid-template-columns:minmax(7.4rem,1fr) 1.65rem;align-items:center;min-width:9.25rem}
.eo-date-input>.eo-date-text{min-width:0;width:100%;padding-right:.3rem}
.eo-date-button{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:100%;min-height:1.6rem;
  border:1px solid rgb(209 213 219);border-left:0;border-radius:0 .35rem .35rem 0;background:rgb(249 250 251);color:rgb(75 85 99);cursor:pointer}
.dark .eo-date-button{border-color:rgb(255 255 255/.15);background:rgb(255 255 255/.06);color:rgb(209 213 219)}
.eo-date-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.eo-date-error{grid-column:1/-1;color:rgb(185 28 28);font-size:.68rem;line-height:1.2;margin-top:.12rem;white-space:normal}
.dark .eo-date-error{color:rgb(254 202 202)}
.eo-editor .eo-date-input{width:100%;min-width:9.25rem}
.eo-time-window{display:grid;grid-template-columns:minmax(4.5rem,1fr) auto minmax(4.5rem,1fr);align-items:center;gap:.2rem;min-width:9.8rem}
.eo-time-window>.eo-input{min-width:0;width:100%}
/* Markierte Zellen und ihr kompakter Editor */
.eo-cell-marked{background:rgb(219 234 254)!important;box-shadow:inset 0 0 0 1px rgb(59 130 246)}
.dark .eo-cell-marked{background:rgb(30 58 138/.45)!important;box-shadow:inset 0 0 0 1px rgb(96 165 250)}
.eo-cellbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.8rem;
  background:rgb(239 246 255);border-top:1px solid rgb(191 219 254);border-bottom:1px solid rgb(191 219 254)}
.dark .eo-cellbar{background:rgb(30 58 138/.3);border-color:rgb(30 64 175)}
.eo-cellbar-field{display:flex;align-items:center;gap:.4rem}
.eo-cellbar-field>span{color:rgb(107 114 128);font-size:.72rem}
.dark .eo-cellbar-field>span{color:rgb(156 163 175)}

/* Speichern und Rücknahme — leise, an einer Stelle */
.eo-savebar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;min-height:1.6rem;padding:.15rem 1rem;
  font-size:.75rem;color:rgb(107 114 128)}
.dark .eo-savebar{color:rgb(156 163 175)}
.eo-save-indicator{display:inline-flex;align-items:center;gap:.25rem}
.eo-save-done{color:rgb(5 150 105)}
.dark .eo-save-done{color:rgb(52 211 153)}
.eo-undo{display:inline-flex;align-items:center;gap:.4rem;padding:.15rem .5rem;border-radius:.4rem;
  background:rgb(243 244 246);color:rgb(55 65 81)}
.dark .eo-undo{background:rgb(255 255 255/.08);color:rgb(229 231 235)}

/* Feldfehler im Aufteilen-Editor */
.eo-split-field{display:inline-grid;gap:.1rem}
.eo-split-part-error{background:rgb(254 242 242);border-radius:.4rem;padding:.15rem .25rem}
.dark .eo-split-part-error{background:rgb(127 29 29/.25)}
.eo-input-error{border-color:rgb(220 38 38)!important}
.eo-field-error{font-size:.68rem;color:rgb(185 28 28);max-width:16rem}
.dark .eo-field-error{color:rgb(252 165 165)}

/* Anfragen in der Detailtafel */
.eo-inquiry-list{list-style:none;padding:0;margin:.4rem 0 0;display:grid;gap:.35rem}
.eo-inquiry{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.78rem}

/* Dialoge: Liste und Vorschau */
.eo-modal-list{max-height:12rem;overflow:auto;display:grid;gap:.1rem;margin-top:.3rem}
.eo-modal-preview{margin-top:.8rem}

/* Kleine Bildschirme: fixierte Spalten dürfen nicht die halbe Breite
   belegen, und ein Sticky-Kopf braucht Platz zum Scrollen. */
@media (max-width:768px){
  .eo-grid-wrap{max-height:none}
  .eo-sticky-1{position:static;box-shadow:none}
  .eo-row-quickadd-top>td{position:static}
  .eo-combobox-panel{min-width:14rem;max-width:90vw}
}

[x-cloak]{display:none!important}

/* ─────────────────────────────────────────────────────────────────────
   SketchUp-Abgleich. Der Vergleich ist ein eigener Arbeitsbereich: links
   Modell, rechts operative Planung, dazwischen ausschließlich bewusste
   Entscheidungen.
   ───────────────────────────────────────────────────────────────────── */

.eo-su-stand{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .55rem;font-size:.78rem}
.eo-su-leer{display:grid;place-items:center;text-align:center;gap:.75rem;min-height:18rem;padding:2rem}
.eo-su-leer h3{font-size:1.05rem;font-weight:700}
.eo-su-leer p{max-width:45rem}

.eo-su-zaehler{display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.4rem;padding:.75rem 1rem;
  border-top:1px solid rgb(229 231 235);border-bottom:1px solid rgb(229 231 235)}
.dark .eo-su-zaehler{border-color:rgb(255 255 255/.1)}
.eo-su-kachel{display:grid;gap:.1rem;text-align:left;padding:.55rem .65rem;border:1px solid rgb(229 231 235);
  border-radius:.55rem;background:#fff;color:inherit;cursor:pointer}
.dark .eo-su-kachel{background:rgb(17 24 39);border-color:rgb(255 255 255/.12)}
.eo-su-kachel:hover,.eo-su-kachel.eo-su-aktiv{border-color:rgb(59 130 246);box-shadow:inset 0 0 0 1px rgb(59 130 246)}
.eo-su-kachel strong{font-size:1.05rem}.eo-su-kachel span{font-size:.7rem;color:rgb(107 114 128)}
.dark .eo-su-kachel span{color:rgb(156 163 175)}
.eo-su-kachel.eo-su-warning strong{color:rgb(180 83 9)}.eo-su-kachel.eo-su-danger strong{color:rgb(185 28 28)}
.eo-su-kachel.eo-su-success strong{color:rgb(5 150 105)}.eo-su-kachel.eo-su-info strong{color:rgb(37 99 235)}

.eo-su-seit{padding:.55rem 1rem;background:rgb(249 250 251);border-bottom:1px solid rgb(229 231 235)}
.dark .eo-su-seit{background:rgb(255 255 255/.025);border-color:rgb(255 255 255/.1)}
.eo-su-diff{display:grid;gap:.2rem;max-height:14rem;overflow:auto;margin:.5rem 0 0;padding:0;list-style:none}
.eo-su-diff li{display:grid;grid-template-columns:minmax(10rem,1fr) 5rem minmax(10rem,1fr);gap:.6rem;font-size:.78rem}
.eo-su-plus{color:rgb(5 150 105);font-weight:700}.eo-su-minus{color:rgb(185 28 28);font-weight:700}

.eo-su-filter{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.6rem 1rem;border-bottom:1px solid rgb(229 231 235)}
.dark .eo-su-filter{border-color:rgb(255 255 255/.1)}
.eo-su-filter .eo-select{width:auto;max-width:18rem}.eo-su-filter .eo-dropdown-panel{padding:.65rem;min-width:20rem}
.eo-check{display:flex;align-items:flex-start;gap:.45rem;font-size:.78rem;cursor:pointer}
.eo-check input{margin-top:.15rem}.eo-tag{display:inline-flex;margin:.08rem;padding:.08rem .35rem;border-radius:999px;
  background:rgb(243 244 246);font-size:.68rem;white-space:nowrap}
.dark .eo-tag{background:rgb(255 255 255/.09)}

.eo-su-row>td:first-child{border-left:3px solid transparent}
.eo-su-row-warning>td:first-child{border-left-color:rgb(245 158 11)}
.eo-su-row-danger>td:first-child{border-left-color:rgb(239 68 68)}
.eo-su-row-info>td:first-child{border-left-color:rgb(59 130 246)}
.eo-su-row-success>td:first-child{border-left-color:rgb(16 185 129)}
.eo-su-row td>small{display:block;margin-top:.15rem}.eo-su-actions{min-width:19rem}
.eo-su-grid{min-width:86rem}
.eo-su-grid th:nth-child(2){width:14rem}.eo-su-grid th:nth-child(3){width:4rem}
.eo-su-grid th:nth-child(4){width:14rem}.eo-su-grid th:nth-child(5){width:5rem}.eo-su-grid th:nth-child(6){width:4rem}
.eo-su-grid th:nth-child(7){width:10rem}.eo-su-grid th:nth-child(8){width:13rem}.eo-su-grid th:nth-child(9){width:8rem}
.eo-su-grid th:nth-child(10){width:11rem}.eo-su-grid th:nth-child(11){width:3rem}
.eo-su-grid .eo-su-sticky-actions{position:sticky;right:0;z-index:16;background:#fff;box-shadow:-1px 0 0 rgb(229 231 235)}
.eo-su-grid thead .eo-su-sticky-actions{z-index:26;background:rgb(249 250 251)}
.eo-su-row>.eo-sticky-0,.eo-su-row>.eo-sticky-1{background:#fff}
.dark .eo-su-grid .eo-su-sticky-actions,.dark .eo-su-row>.eo-sticky-0,.dark .eo-su-row>.eo-sticky-1{background:rgb(17 24 39)}
.eo-su-grid tbody tr:hover>.eo-sticky-0,.eo-su-grid tbody tr:hover>.eo-sticky-1,.eo-su-grid tbody tr:hover>.eo-su-sticky-actions{background:rgb(243 244 246)}
.dark .eo-su-grid tbody tr:hover>.eo-sticky-0,.dark .eo-su-grid tbody tr:hover>.eo-sticky-1,.dark .eo-su-grid tbody tr:hover>.eo-su-sticky-actions{background:rgb(31 41 55)}
.eo-su-grid tr.eo-selected>.eo-sticky-0,.eo-su-grid tr.eo-selected>.eo-sticky-1,.eo-su-grid tr.eo-selected>.eo-su-sticky-actions{background:rgb(239 246 255)}
.dark .eo-su-grid tr.eo-selected>.eo-sticky-0,.dark .eo-su-grid tr.eo-selected>.eo-sticky-1,.dark .eo-su-grid tr.eo-selected>.eo-su-sticky-actions{background:rgb(24 40 78)}
.eo-su-actions .eo-menu-item+ .eo-menu-item{border-top:1px solid rgb(243 244 246)}
.dark .eo-su-actions .eo-menu-item+ .eo-menu-item{border-color:rgb(255 255 255/.08)}
.eo-action-menu{display:inline-block}.eo-floating-menu{right:auto;z-index:58}
.eo-menu-note{margin:0;padding:.45rem .5rem;border-radius:.4rem;background:rgb(254 242 242);color:rgb(153 27 27);font-size:.74rem}
.dark .eo-menu-note{background:rgb(127 29 29/.25);color:rgb(254 202 202)}
.eo-menu-separator{height:1px;margin:.25rem 0;background:rgb(229 231 235)}
.dark .eo-menu-separator{background:rgb(255 255 255/.12)}
.eo-su-source-hint{max-width:24rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.eo-su-tag-list{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem}
.eo-su-conflict-note{max-width:13rem;color:rgb(185 28 28)}
.dark .eo-su-conflict-note{color:rgb(252 165 165)}
.eo-su-scope-choice{align-items:flex-start;padding:.55rem;border:1px solid rgb(229 231 235);border-radius:.45rem}
.dark .eo-su-scope-choice{border-color:rgb(255 255 255/.12)}
.eo-su-scope-choice>span{display:grid;gap:.05rem}

.eo-su-sets{padding:.8rem 1rem;border-bottom:1px solid rgb(229 231 235);background:rgb(249 250 251)}
.dark .eo-su-sets{background:rgb(255 255 255/.025);border-color:rgb(255 255 255/.1)}
.eo-su-sets>header{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.55rem}.eo-su-sets h3{font-weight:700}
.eo-su-set-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:.5rem}
.eo-su-set{border:1px solid rgb(229 231 235);border-radius:.5rem;background:#fff;overflow:hidden}
.dark .eo-su-set{background:rgb(17 24 39);border-color:rgb(255 255 255/.12)}
.eo-su-set summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.15rem .6rem;padding:.55rem .7rem;cursor:pointer}
.eo-su-set summary small{grid-column:1/-1;color:rgb(107 114 128)}
.eo-su-set-children{display:grid;border-top:1px solid rgb(229 231 235)}
.dark .eo-su-set-children{border-color:rgb(255 255 255/.1)}
.eo-su-set-children>div{display:flex;justify-content:space-between;gap:.75rem;padding:.35rem .7rem;font-size:.76rem}
.eo-su-set-children>div+div{border-top:1px solid rgb(243 244 246)}
.dark .eo-su-set-children>div+div{border-color:rgb(255 255 255/.06)}
.eo-su-child-set{padding-left:1.25rem!important;font-weight:600}.eo-su-child-set>span:first-child::before{content:"▣ ";color:rgb(107 114 128)}

.eo-su-upload{max-width:72rem}.eo-su-dialog{max-width:38rem}
.eo-su-dropzone{display:grid;place-items:center;gap:.25rem;padding:1.35rem;border:2px dashed rgb(156 163 175);
  border-radius:.65rem;background:rgb(249 250 251);text-align:center;cursor:pointer}
.dark .eo-su-dropzone{background:rgb(255 255 255/.03);border-color:rgb(107 114 128)}
.eo-su-dropzone input{max-width:100%}.eo-su-dropzone span{font-size:.75rem;color:rgb(107 114 128)}
.eo-su-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem;color:rgb(37 99 235)}
.eo-spinner{width:1rem;height:1rem;border:2px solid rgb(191 219 254);border-top-color:rgb(37 99 235);border-radius:50%;animation:eo-spin .7s linear infinite}
@keyframes eo-spin{to{transform:rotate(360deg)}}
.eo-su-preview-head{display:grid;grid-template-columns:repeat(5,1fr);gap:.4rem}
.eo-su-preview-head>div{display:grid;gap:.05rem;padding:.55rem;border-radius:.5rem;background:rgb(243 244 246)}
.dark .eo-su-preview-head>div{background:rgb(255 255 255/.07)}
.eo-su-preview-head strong{font-size:1.1rem}.eo-su-preview-head span{font-size:.68rem;color:rgb(107 114 128)}
.eo-su-matching-preview{display:flex;flex-wrap:wrap;gap:.35rem .8rem;padding:.55rem .65rem;border-radius:.5rem;
  background:rgb(239 246 255);font-size:.75rem;color:rgb(55 65 81)}
.dark .eo-su-matching-preview{background:rgb(30 58 138/.25);color:rgb(209 213 219)}
.eo-su-preview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}
.eo-su-preview-grid h3,.eo-su-dialog h3{margin-bottom:.45rem;font-size:.8rem;font-weight:700;text-transform:uppercase;color:rgb(107 114 128)}
.eo-su-tags{display:grid;max-height:17rem;overflow:auto;border:1px solid rgb(229 231 235);border-radius:.5rem}
.dark .eo-su-tags{border-color:rgb(255 255 255/.12)}
.eo-su-tag-choice{align-items:center;padding:.4rem .5rem}.eo-su-tag-choice+ .eo-su-tag-choice{border-top:1px solid rgb(243 244 246)}
.dark .eo-su-tag-choice+ .eo-su-tag-choice{border-color:rgb(255 255 255/.07)}
.eo-su-tag-choice>span{display:grid;min-width:0;flex:1}.eo-su-tag-choice small{color:rgb(107 114 128)}
.eo-su-tag-choice em{font-size:.65rem;color:rgb(180 83 9);font-style:normal}
.eo-su-component-preview{display:grid;max-height:17rem;overflow:auto;margin-bottom:.7rem;border:1px solid rgb(229 231 235);border-radius:.5rem}
.dark .eo-su-component-preview{border-color:rgb(255 255 255/.12)}
.eo-su-component-preview>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.6rem;padding:.35rem .5rem;font-size:.75rem}
.eo-su-component-preview>div+div{border-top:1px solid rgb(243 244 246)}
.dark .eo-su-component-preview>div+div{border-color:rgb(255 255 255/.07)}
.eo-su-component-preview small{color:rgb(107 114 128)}
.eo-su-suggestions,.eo-su-label-results{display:grid;gap:.3rem}
.eo-su-suggestion,.eo-su-label-results button{display:flex;justify-content:space-between;gap:.7rem;width:100%;padding:.55rem .65rem;
  border:1px solid rgb(209 213 219);border-radius:.45rem;background:#fff;color:inherit;cursor:pointer;text-align:left}
.dark .eo-su-suggestion,.dark .eo-su-label-results button{background:rgb(31 41 55);border-color:rgb(255 255 255/.15)}
.eo-su-suggestion:hover,.eo-su-label-results button:hover{border-color:rgb(59 130 246);background:rgb(239 246 255)}
.dark .eo-su-suggestion:hover,.dark .eo-su-label-results button:hover{background:rgb(30 58 138/.3)}
.eo-su-label-results{max-height:16rem;overflow:auto}.eo-su-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.eo-su-span-2{grid-column:1/-1}.eo-notice-warning{border-left-color:rgb(217 119 6)}

@media (max-width:768px){
  .eo-su-preview-grid,.eo-su-form-grid{grid-template-columns:1fr}.eo-su-span-2{grid-column:auto}
  .eo-su-preview-head{grid-template-columns:repeat(2,1fr)}.eo-su-diff li{grid-template-columns:1fr auto}.eo-su-diff li span:last-child{grid-column:1/-1}
  .eo-su-matching-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem .6rem}
  .eo-su-filter .eo-input-search,.eo-su-filter .eo-select{width:100%;max-width:none}.eo-su-row td{white-space:nowrap}
}
