@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.sidebar{width:var(--sidebar-width);background:var(--color-bg-elevated);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;height:100%;display:flex}.sidebar-brand{align-items:center;gap:var(--space-3);height:var(--topbar-height);padding:0 var(--space-5);border-bottom:1px solid var(--color-border);display:flex}.sidebar-brand-mark{border-radius:var(--radius-md);background:var(--color-primary);color:#fff;width:32px;height:32px;font-weight:var(--font-weight-semibold);justify-content:center;align-items:center;display:flex}.sidebar-brand-name{font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-nav{gap:var(--space-1);padding:var(--space-4);flex-direction:column;display:flex;overflow-y:auto}.sidebar-link{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-body);text-decoration:none}.sidebar-link:hover{background:var(--color-bg-surface-hover);color:var(--color-text-primary)}.sidebar-link-active{background:var(--color-primary-dark);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.avatar{background:var(--color-primary-dark);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.topbar{height:var(--topbar-height);border-bottom:1px solid var(--color-border);padding:0 var(--space-5);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.topbar-search{max-width:420px;height:40px;padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-primary);flex:1;font-family:inherit}.topbar-search::placeholder{color:var(--color-text-muted)}.topbar-user{align-items:center;gap:var(--space-3);display:flex}.topbar-user-link{align-items:center;gap:var(--space-3);text-decoration:none;display:flex}.topbar-user-email{color:var(--color-text-secondary);font-size:var(--font-size-small)}.topbar-logout{border:1px solid var(--color-border-strong);color:var(--color-text-secondary);border-radius:var(--radius-md);height:32px;padding:0 var(--space-3);cursor:pointer;font-size:var(--font-size-small);background:0 0}.topbar-logout:hover{background:var(--color-bg-surface-hover);color:var(--color-text-primary)}.profil-hinweis{border:1px solid var(--color-warning);background:var(--color-warning-bg);border-radius:var(--radius-md,8px);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);font-size:var(--font-size-small)}.app-layout{height:100%;display:flex}.app-layout-main{flex-direction:column;flex:1;min-width:0;display:flex}.app-layout-content{padding:var(--space-6);flex:1;overflow-y:auto}.card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.field{gap:var(--space-2);flex-direction:column;display:flex}.field-label{font-size:var(--font-size-small);color:var(--color-text-secondary)}.field-input{height:40px;padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-body)}.field-input::placeholder{color:var(--color-text-muted)}.field-input:focus{border-color:var(--color-primary);outline:none}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:40px;padding:0 var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);cursor:pointer;border:1px solid #0000;transition:background-color .15s,border-color .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{border-color:var(--color-border-strong);color:var(--color-text-primary);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--color-bg-surface-hover)}.btn-destructive{background:var(--color-danger);color:#fff}.btn-destructive:hover:not(:disabled){background:#dc2626}.login-page{justify-content:center;align-items:center;height:100%;display:flex}.login-card{width:360px}.login-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.login-mark{border-radius:var(--radius-md);background:var(--color-primary);color:#fff;width:40px;height:40px;font-weight:var(--font-weight-semibold);justify-content:center;align-items:center;display:flex}.login-form{gap:var(--space-4);flex-direction:column;display:flex}.login-error{color:var(--color-danger);font-size:var(--font-size-small)}.login-info{color:var(--color-success);font-size:var(--font-size-small)}.login-link{color:var(--color-text-secondary);font-size:var(--font-size-small);text-align:center}.login-link:hover{color:var(--color-text-primary)}.recovery-codes{gap:var(--space-3);flex-direction:column;display:flex}.recovery-codes-list{padding:var(--space-3);gap:var(--space-2);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:1fr;margin:0;list-style:none;display:grid}.recovery-codes-actions{gap:var(--space-2);display:flex}.recovery-codes-confirm{align-items:center;gap:var(--space-2);display:flex}.admin-page{max-width:560px;padding:var(--space-6) var(--space-4);gap:var(--space-5);flex-direction:column;margin:0 auto;display:flex}.admin-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.admin-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-small)}.admin-trenner{border:0;border-top:1px solid var(--color-border);margin:var(--space-5) 0}.dashboard-page{gap:var(--space-2);flex-direction:column;display:flex}.dashboard-subtitle{color:var(--color-text-secondary);margin-bottom:var(--space-5)}.dashboard-stats{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.dashboard-stat{gap:var(--space-1);flex-direction:column;display:flex}.dashboard-stat-value{font-size:var(--font-size-h1);font-weight:var(--font-weight-semibold)}.dashboard-stat-label{color:var(--color-text-secondary);font-size:var(--font-size-small)}.dashboard-sections{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.dashboard-sections h3{margin-bottom:var(--space-3)}.dashboard-empty{color:var(--color-text-muted);font-size:var(--font-size-small)}.badge{height:24px;padding:0 var(--space-3);border-radius:var(--radius-pill);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);white-space:nowrap;align-items:center;display:inline-flex}.badge-aktiv,.badge-zusage{background:var(--color-success-bg);color:var(--color-success)}.badge-inaktiv,.badge-absage,.badge-abgelaufen{background:var(--color-danger-bg);color:var(--color-danger)}.badge-vielleicht,.badge-eingeladen{background:var(--color-warning-bg);color:var(--color-warning)}.badge-geplant{background:var(--color-info-bg);color:var(--color-info)}.mitglieder-page{gap:var(--space-4);flex-direction:column;display:flex}.mitglieder-header{justify-content:space-between;align-items:flex-start;display:flex}.mitglieder-subtitle{color:var(--color-text-secondary);margin-top:var(--space-1)}.mitglieder-einladung-form{align-items:flex-end;gap:var(--space-3);display:flex}.mitglieder-einladung-form .field{flex:1;max-width:320px}.mitglieder-erfolg{color:var(--color-success);font-size:var(--font-size-small)}.mitglieder-fehler{color:var(--color-danger);font-size:var(--font-size-small)}.mitglieder-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.mitglieder-toolbar .field{flex:1;max-width:360px}.mitglieder-filter{gap:var(--space-1);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-1);display:flex}.mitglieder-filter-btn{color:var(--color-text-secondary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-small);background:0 0;border:none}.mitglieder-filter-btn-active{background:var(--color-primary);color:#fff}.mitglieder-tabelle-card{padding:0;overflow:hidden}.mitglieder-tabelle{border-collapse:collapse;width:100%}.mitglieder-tabelle th{text-align:left;padding:var(--space-3) var(--space-5);font-size:var(--font-size-small);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.mitglieder-tabelle td{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border)}.mitglieder-zeile{cursor:pointer}.mitglieder-zeile:hover{background:var(--color-bg-surface-hover)}.mitglieder-name-zelle{align-items:center;gap:var(--space-3);display:flex}.mitglieder-leer{text-align:center;color:var(--color-text-muted);padding:var(--space-6)}.mitglieder-einladung-zeile{color:var(--color-text-secondary)}.mitglieder-einladung-hinweis{font-style:italic}.rolle-liste{margin:0 0 var(--space-3);gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.rolle-liste li{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);display:flex}.rolle-amt{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.rolle-form{gap:var(--space-3);margin-top:var(--space-3);flex-direction:column;display:flex}.rolle-hinweis{color:var(--color-text-secondary);font-size:var(--font-size-small);margin-top:var(--space-2)}.rolle-fehler{color:var(--color-danger);font-size:var(--font-size-small);margin-top:var(--space-2)}.mitglied-detail{gap:var(--space-4);flex-direction:column;display:flex}.mitglied-zurueck{color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-small);background:0 0;border:none;align-self:flex-start;padding:0}.mitglied-zurueck:hover{color:var(--color-text-primary)}.mitglied-kopf{align-items:center;gap:var(--space-4);display:flex}.mitglied-kopf-info{flex:1}.mitglied-kopf-info h1{align-items:center;gap:var(--space-3);display:flex}.mitglied-kopf-sub{color:var(--color-text-secondary);margin-top:var(--space-1)}.mitglied-actions{gap:var(--space-3);display:flex}.mitglied-fehler{color:var(--color-danger);font-size:var(--font-size-small)}.mitglied-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.mitglied-grid h3{margin-bottom:var(--space-3)}.mitglied-felder{gap:var(--space-2) var(--space-3);grid-template-columns:auto 1fr;margin:0;display:grid}.mitglied-felder dt{color:var(--color-text-secondary);font-size:var(--font-size-small)}.mitglied-felder dd{margin:0}.mitglied-badges{gap:var(--space-2);flex-wrap:wrap;display:flex}.mitglied-leer{color:var(--color-text-muted);font-size:var(--font-size-small)}.mitglied-qualifikationen{grid-column:1/-1}.mitglied-qualifikationen-liste{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.mitglied-qualifikationen-liste li{padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);justify-content:space-between;display:flex}.mitglied-qualifikation-ablauf{color:var(--color-text-secondary);font-size:var(--font-size-small)}.teams-page{gap:var(--space-4);flex-direction:column;display:flex}.teams-header{justify-content:space-between;align-items:flex-start;display:flex}.teams-subtitle{color:var(--color-text-secondary);margin-top:var(--space-1)}.teams-neu-form{align-items:flex-end;gap:var(--space-3);display:flex}.teams-neu-form .field{flex:1;max-width:320px}.teams-fehler{color:var(--color-danger);font-size:var(--font-size-small)}.teams-tabelle-card{padding:0;overflow:hidden}.teams-tabelle{border-collapse:collapse;width:100%}.teams-tabelle th{text-align:left;padding:var(--space-3) var(--space-5);font-size:var(--font-size-small);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.teams-tabelle td{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border)}.teams-zeile{cursor:pointer}.teams-zeile:hover{background:var(--color-bg-surface-hover)}.teams-leer{text-align:center;color:var(--color-text-muted);padding:var(--space-6)}.warnungen-box{border:1px solid var(--color-warning);background:var(--color-warning-bg);border-radius:var(--radius-md,8px);padding:var(--space-3) var(--space-4);font-size:var(--font-size-small)}.warnungen-box ul{margin:var(--space-2) 0 0;padding-left:var(--space-5)}.team-detail{gap:var(--space-4);flex-direction:column;display:flex}.team-zurueck{color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-small);background:0 0;border:none;align-self:flex-start;padding:0}.team-zurueck:hover{color:var(--color-text-primary)}.team-kopf{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.team-fehler{color:var(--color-danger);font-size:var(--font-size-small)}.team-actions{gap:var(--space-3);display:flex}.team-saison-kopf{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.team-saison-form{align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.team-saison-form .field{max-width:220px}.team-saison-tabs{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.team-saison-tab{background:var(--color-bg-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);cursor:pointer;font-size:var(--font-size-small)}.team-saison-tab-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.team-spielklasse-form{align-items:flex-end;gap:var(--space-3);display:flex}.team-spielklasse-form .field{flex:1;max-width:320px}.team-leer{text-align:center;color:var(--color-text-muted);padding:var(--space-6)}.team-kader-tabelle{border-collapse:collapse;width:100%;margin-bottom:var(--space-4)}.team-kader-tabelle th{text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--font-size-small);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.team-kader-tabelle td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.team-kader-name-zelle{align-items:center;gap:var(--space-3);display:flex}.team-kader-entfernen{color:var(--color-danger);cursor:pointer;font-size:var(--font-size-small);background:0 0;border:none;padding:0}.team-kader-entfernen:hover{text-decoration:underline}.team-kader-form{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.team-kader-form .field{min-width:180px}.team-termin-buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.team-termin-form{align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.team-termin-form .field{min-width:160px}.team-termin-zeile{cursor:pointer}.team-termin-zeile:hover{background:var(--color-bg-surface-hover)}.wochenkalender-scroll{overflow-x:auto}.wochenkalender-raster{grid-template-columns:56px repeat(7,minmax(110px,1fr));min-width:840px;display:grid}.wk-kopf{padding:var(--space-2);text-align:center;font-size:var(--font-size-small);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);font-weight:600}.wk-stunde{font-size:var(--font-size-small);color:var(--color-text-muted);padding-right:var(--space-2);text-align:right;box-sizing:border-box}.wk-spalte{border-left:1px solid var(--color-border);position:relative}.wk-linie{border-top:1px solid var(--color-border);opacity:.5;position:absolute;left:0;right:0}.wk-block{box-sizing:border-box;text-align:left;font:inherit;font-size:var(--font-size-small);color:var(--color-text-primary,#fff);border:1px solid var(--wk-farbe);background:color-mix(in srgb, var(--wk-farbe) 25%, transparent);cursor:pointer;border-left-width:4px;border-radius:6px;flex-direction:column;gap:2px;padding:4px 6px;line-height:1.25;display:flex;position:absolute;overflow:hidden}.wk-block:hover,.wk-block-aktiv{background:color-mix(in srgb, var(--wk-farbe) 45%, transparent)}.wk-farbe-0{--wk-farbe:#3b82f6}.wk-farbe-1{--wk-farbe:#10b981}.wk-farbe-2{--wk-farbe:#f59e0b}.wk-farbe-3{--wk-farbe:#ec4899}.wk-farbe-4{--wk-farbe:#8b5cf6}.wk-farbe-5{--wk-farbe:#06b6d4}.wk-details{margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);background:var(--color-bg-surface-hover);border-radius:10px;max-width:420px}.wk-details-kopf{justify-content:space-between;align-items:center;display:flex}.wk-schliessen{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;font-size:1.5rem}.wk-details dl{gap:var(--space-2);margin:var(--space-3) 0;grid-template-columns:60px 1fr;display:grid}.wk-details dt{color:var(--color-text-secondary)}.wk-details dd{margin:0}.wk-details-links{gap:var(--space-4);display:flex}.hallen-page{gap:var(--space-4);flex-direction:column;display:flex}.hallen-header{justify-content:space-between;align-items:flex-start;display:flex}.hallen-subtitle{color:var(--color-text-secondary);margin-top:var(--space-1)}.hallen-neu-form{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.hallen-neu-form .field{flex:1;max-width:320px}.hallen-fehler{color:var(--color-danger);font-size:var(--font-size-small)}.hallen-tabelle-card{padding:0;overflow:hidden}.hallen-tabelle{border-collapse:collapse;width:100%}.hallen-tabelle th{text-align:left;padding:var(--space-3) var(--space-5);font-size:var(--font-size-small);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.hallen-tabelle td{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border)}.hallen-zeile{cursor:pointer}.hallen-zeile:hover{background:var(--color-bg-surface-hover)}.hallen-leer{text-align:center;color:var(--color-text-muted);padding:var(--space-6)}.hallen-belegung-tag{margin-bottom:var(--space-4)}.hallen-belegung-tag h4{color:var(--color-text-secondary);font-size:var(--font-size-small);margin-bottom:var(--space-2)}.hallen-belegung-tabelle{border-collapse:collapse;width:100%}.hallen-belegung-tabelle td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.spielplan-page{gap:var(--space-4);flex-direction:column;display:flex}.spielplan-header{justify-content:space-between;align-items:flex-start;display:flex}.spielplan-subtitle{color:var(--color-text-secondary);margin-top:var(--space-1)}.spielplan-form{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.spielplan-form .field{flex:1;min-width:180px;max-width:280px}.spielplan-fehler{color:var(--color-danger);font-size:var(--font-size-small)}.spielplan-filter{align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.spielplan-filter .field{min-width:220px}.spielplan-checkbox{align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-small);display:flex}.spielplan-tabelle-card{padding:0;overflow-x:auto}.spielplan-tabelle{border-collapse:collapse;width:100%}.spielplan-tabelle th{text-align:left;padding:var(--space-3) var(--space-5);font-size:var(--font-size-small);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.spielplan-tabelle td{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border)}.spielplan-aktionen{gap:var(--space-2);justify-content:flex-end;display:flex}.spielplan-leer{color:var(--color-text-muted);text-align:center}.halle-detail{gap:var(--space-4);flex-direction:column;display:flex}.halle-zurueck{color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-small);background:0 0;border:none;align-self:flex-start;padding:0}.halle-zurueck:hover{color:var(--color-text-primary)}.halle-kopf-sub{color:var(--color-text-secondary);margin-top:var(--space-1)}.halle-fehler{color:var(--color-danger);font-size:var(--font-size-small)}.halle-actions{gap:var(--space-3);display:flex}.halle-bearbeiten-form{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.halle-bearbeiten-form .field{flex:1;max-width:320px}.halle-leer{text-align:center;color:var(--color-text-muted);padding:var(--space-6)}.halle-zuteilungen-tabelle{border-collapse:collapse;width:100%;margin-bottom:var(--space-4)}.halle-zuteilungen-tabelle th{text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--font-size-small);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.halle-zuteilungen-tabelle td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.halle-zuteilung-entfernen{color:var(--color-danger);cursor:pointer;font-size:var(--font-size-small);background:0 0;border:none;padding:0}.halle-zuteilung-entfernen:hover{text-decoration:underline}.halle-zuteilung-form{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.halle-zuteilung-form .field{min-width:150px}.halle-woche{margin-bottom:var(--space-3);max-width:220px}.anfragen-page{gap:var(--space-4);flex-direction:column;display:flex}.anfragen-subtitle,.anfrage-sub{color:var(--color-text-secondary);margin-top:var(--space-1)}.anfragen-filter{max-width:220px}.anfrage-kopf{justify-content:space-between;gap:var(--space-4);display:flex}.anfrage-notiz{margin-top:var(--space-2)}.anfrage-belegung{margin-top:var(--space-3);font-size:var(--font-size-small)}.anfrage-belegung ul{margin:var(--space-2) 0 0 var(--space-4)}.anfrage-ueberbelegt{color:var(--color-danger)}.anfrage-frei{color:var(--color-text-secondary)}.anfrage-aktionen{gap:var(--space-3);margin-top:var(--space-4);flex-direction:column;max-width:480px;display:flex}.anfrage-checkbox{align-items:center;gap:var(--space-2);display:flex}.anfrage-fehler{color:var(--color-danger);font-size:var(--font-size-small)}.anfrage-buttons{gap:var(--space-3);display:flex}.termine-page{gap:var(--space-4);flex-direction:column;display:flex}.termine-header{justify-content:space-between;align-items:flex-start;display:flex}.termine-subtitle{color:var(--color-text-secondary);margin-top:var(--space-1)}.termine-neu-form{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.termine-neu-form .field{flex:1;max-width:260px}.termine-fehler{color:var(--color-danger);font-size:var(--font-size-small)}.termine-tabelle-card{padding:0;overflow:hidden}.termine-tabelle{border-collapse:collapse;width:100%}.termine-tabelle th{text-align:left;padding:var(--space-3) var(--space-5);font-size:var(--font-size-small);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.termine-tabelle td{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border)}.termine-zeile{cursor:pointer}.termine-zeile:hover{background:var(--color-bg-surface-hover)}.termine-leer{text-align:center;color:var(--color-text-muted);padding:var(--space-6)}.termine-ansicht{max-width:320px}.termine-filter{flex-wrap:wrap;gap:16px;display:flex}.termine-filter .field{min-width:200px}.termin-bearbeiten-form{align-items:flex-end;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.termin-bearbeiten-form .field{flex:1;min-width:200px;max-width:320px}.termin-bearbeiten-aktionen{gap:var(--space-2);width:100%;display:flex}.termin-bearbeiten-hinweis{color:var(--color-text-secondary);font-size:var(--font-size-small);margin-top:var(--space-2)}.termin-bearbeiten-fehler{color:var(--color-danger);font-size:var(--font-size-small);margin-top:var(--space-2)}.termin-detail{gap:var(--space-4);flex-direction:column;display:flex}.termin-zurueck{color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-small);background:0 0;border:none;align-self:flex-start;padding:0}.termin-zurueck:hover{color:var(--color-text-primary)}.termin-kopf{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.termin-kopf-sub{color:var(--color-text-secondary);margin-top:var(--space-1)}.termin-fehler{color:var(--color-danger);font-size:var(--font-size-small)}.termin-frist{color:var(--color-text-secondary);font-size:var(--font-size-small)}.termin-actions{gap:var(--space-3);display:flex}.termin-felder{gap:var(--space-2) var(--space-3);grid-template-columns:auto 1fr;margin:0;display:grid}.termin-felder dt{color:var(--color-text-secondary);font-size:var(--font-size-small)}.termin-felder dd{margin:0}.termin-rueckmeldung-form{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.termin-rueckmeldung-form .field{min-width:160px}.termin-rueckmeldungen-tabelle{border-collapse:collapse;width:100%}.termin-rueckmeldungen-tabelle th{text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--font-size-small);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.termin-rueckmeldungen-tabelle td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.termin-rueckmeldung-name-zelle{align-items:center;gap:var(--space-3);display:flex}.termin-leer{text-align:center;color:var(--color-text-muted);padding:var(--space-6)}.termin-halle-hinweis{color:var(--color-text-secondary);font-size:var(--font-size-small)}.termin-halle-abgelehnt{color:var(--color-danger)}.profil-page{gap:var(--space-4);flex-direction:column;max-width:720px;display:flex}.profil-subtitle{color:var(--color-text-secondary);margin-bottom:var(--space-2)}.profil-form{gap:var(--space-4);flex-direction:column;display:flex}.profil-form-grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.profil-erfolg{color:var(--color-success);font-size:var(--font-size-small)}.profil-fehler{color:var(--color-danger);font-size:var(--font-size-small)}.profil-qualifikationen-liste{margin:0 0 var(--space-4);gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.profil-qualifikationen-liste li{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);display:flex}.profil-qualifikation-ablauf{color:var(--color-text-secondary);font-size:var(--font-size-small);flex:1}.profil-qualifikation-entfernen{color:var(--color-danger);cursor:pointer;font-size:var(--font-size-small);background:0 0;border:none}.profil-leer{color:var(--color-text-muted);font-size:var(--font-size-small)}.profil-qualifikation-form{align-items:flex-end;gap:var(--space-3);display:flex}.profil-qualifikation-form .field{flex:1}:root{--color-bg:#0b1220;--color-bg-elevated:#111a2e;--color-bg-surface:#16213a;--color-bg-surface-hover:#1c2a47;--color-border:#223050;--color-border-strong:#2c3d63;--color-primary:#2f6fed;--color-primary-hover:#245ed1;--color-primary-dark:#16305c;--color-text-primary:#f5f7fa;--color-text-secondary:#9aa7bd;--color-text-muted:#6b7690;--color-success:#22c55e;--color-success-bg:#22c55e29;--color-warning:#f59e0b;--color-warning-bg:#f59e0b29;--color-danger:#ef4444;--color-danger-bg:#ef444429;--color-info:#3b82f6;--color-info-bg:#3b82f629;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-h1:1.75rem;--font-size-h2:1.375rem;--font-size-h3:1.125rem;--font-size-h4:1rem;--font-size-body:.9375rem;--font-size-small:.8125rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--sidebar-width:240px;--topbar-height:64px}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-family);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);color:var(--color-text-primary);background:var(--color-bg);margin:0}h1,h2,h3,h4{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}h4{font-size:var(--font-size-h4)}p{margin:0}a{color:inherit}button{font-family:inherit}
