@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-primary:#f2f2f7;--bg-secondary:#fff;--bg-tertiary:#f8f9fa;--border-color:#e5e5ea;--text-primary:#1c1c1e;--text-secondary:#8e8e93;--text-muted:#aeaeb2;--accent-red:#d32f2f;--accent-red-hover:#b71c1c;--accent-red-light:#d32f2f1a;--accent-orange:#ff9500;--accent-green:#34c759;--accent-blue:#007aff;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #0000000f, 0 2px 4px #0000000a;--shadow-glow:0 0 15px #d32f2f26;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}img,svg{max-width:100%;height:auto}a,button,[role=button],select,label,summary,input,textarea,.btn,.tab-btn,.nav-item,.sidebar-link,[style*="cursor: pointer"]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.main-content,.modal-content,[style*="overflow-y: auto"],[style*=overflowY]{touch-action:pan-y}.table-container,.tab-navigation{touch-action:pan-x pan-y}a,button,[role=button],summary,.btn,.glass-panel[onclick],.tab-btn,[style*="cursor: pointer"],.nav-item,.sidebar-link{cursor:pointer}.app-container{width:100vw;height:100vh;display:flex;overflow:clip}.main-content{background-color:var(--bg-primary);flex-direction:column;flex:1;width:100%;min-width:0;max-width:100vw;display:flex;overflow:clip auto}.main-content>*{width:100%;min-width:0;max-width:100%}.glass-panel{background:var(--bg-secondary);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:2rem}.page-container{padding:max(1rem, env(safe-area-inset-left));width:100%;max-width:1200px;margin:0 auto}@media (width<=768px){.glass-panel{padding:1rem}}h1{color:var(--text-primary);letter-spacing:-.025em;font-size:1.875rem;font-weight:700}h2{color:var(--text-primary);font-size:1.5rem;font-weight:600}h3{color:var(--text-primary);font-size:1.25rem;font-weight:600}p{color:var(--text-secondary)}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);border:none;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:inline-flex}.btn:focus-visible{box-shadow:0 0 0 2px var(--bg-primary), 0 0 0 4px var(--accent-red)}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--accent-red);color:#fff;box-shadow:var(--shadow-sm)}@media (hover:hover) and (pointer:fine){.btn-primary:hover{background-color:var(--accent-red-hover);box-shadow:var(--shadow-glow)}}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}@media (hover:hover) and (pointer:fine){.btn-secondary:hover{background-color:var(--border-color)}}.btn-ghost{color:var(--text-secondary);background-color:#0000}@media (hover:hover) and (pointer:fine){.btn-ghost:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}}.btn-icon{flex-shrink:0;min-width:36px;min-height:36px;padding:.5rem}.btn-icon svg{flex-shrink:0;min-width:16px;min-height:16px}.input-group{flex-direction:column;gap:.375rem;margin-bottom:1rem;display:flex}.input-label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.input-field{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-md);padding:.625rem;font-size:.875rem}.input-field:focus-visible{border-color:var(--accent-red);box-shadow:0 0 0 1px var(--accent-red);outline:none}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;align-items:center;padding:.125rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-einsatz{background-color:var(--accent-red-light);color:var(--accent-red)}.badge-jugend{color:var(--accent-blue);background-color:#007aff1a}.badge-ehren{color:#8e8e93;background-color:#8e8e931a}.table-container{-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary);isolation:isolate;width:100%;max-width:100%;position:relative;overflow:auto visible}.table-container table{width:100%;min-width:500px}@media (width<=600px){.monat-grid-cell{flex-direction:column;align-items:center;display:flex;min-height:40px!important;padding:2px!important}.monat-grid-cell-day{margin-bottom:2px!important}.monat-grid-cell .termin-badge{display:inline-block;background:var(--badge-color)!important;border:none!important;border-radius:50%!important;width:10px!important;height:10px!important;margin:1px!important;padding:0!important}.monat-grid-cell .termin-badge>*{display:none!important}.monat-grid-cell .termin-badge-container{flex-wrap:wrap;justify-content:center;gap:2px;display:flex}.monat-grid-cell .weitere-termine{display:none!important}}table{border-collapse:collapse;text-align:left;width:100%;min-width:600px}th{background-color:var(--bg-tertiary);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);padding:.75rem 1rem;font-size:.75rem;font-weight:600}td{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:1rem;font-size:.875rem}tr:last-child td{border-bottom:none}@media (hover:hover) and (pointer:fine){tr:hover td{background-color:var(--bg-tertiary)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn var(--transition-normal) forwards}.modal-backdrop{z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;width:90%;max-width:600px;max-height:90vh;padding:1.5rem;position:relative;overflow-y:auto}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (width<=768px){.app-container{height:auto;min-height:100vh;padding:0;overflow:visible}.main-content{-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto;overflow-y:auto}.modal-backdrop{position:fixed;overflow:hidden}.modal-content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:85vh}.page-header{flex-direction:column;gap:1rem;align-items:flex-start!important;margin-bottom:1rem!important}.dashboard-page,.members-page,.animate-fade-in,.glass-panel{padding:1rem!important}h1{font-size:1.5rem}h2{font-size:1.25rem}div[style*=grid-template-columns]:not(.no-mobile-stack){grid-template-columns:1fr!important}.table-container{-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;border-radius:4px;width:100%}th,td{padding:.75rem .5rem;font-size:.8rem}.filters-bar{flex-direction:column;gap:1rem}.filters-bar>div,.filters-bar>button{width:100%}.filters-bar button{margin-left:0!important}}.tab-navigation{background:var(--bg-tertiary);border:1px solid var(--border-color);scrollbar-width:none;border-radius:12px;gap:.5rem;padding:.5rem;display:flex;overflow-x:auto}.tab-navigation::-webkit-scrollbar{display:none}.tab-btn{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;flex-shrink:0;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-weight:500;transition:all .2s;display:flex}@media (hover:hover) and (pointer:fine){.tab-btn:hover{color:var(--text-primary);background:#0000000d}}.tab-btn.active{background:var(--accent-red);color:#fff;box-shadow:0 4px 12px var(--accent-red-light)}@media (prefers-color-scheme:dark){:root{--bg-primary:#000;--bg-secondary:#1c1c1e;--bg-tertiary:#2c2c2e;--border-color:#38383a;--text-primary:#fff;--text-secondary:#ebebf599;--text-muted:#8e8e93;--accent-red:#ff3b30;--accent-red-hover:#ff453a;--accent-red-light:#ff3b3026}}.login-container{background-color:var(--bg-primary);background-image:radial-gradient(circle at 50% -20%,#e5393526 0%,#0000 50%);justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex}.login-card{width:100%;max-width:500px;margin:1rem;padding:1.5rem}.login-header{text-align:center;margin-bottom:2rem}.login-icon-wrapper{background:var(--accent-red-light);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1.5rem;display:flex;box-shadow:0 0 20px #e539351a}.login-header h1{margin-bottom:.5rem}.login-header p{font-size:.875rem}.login-form{flex-direction:column;display:flex}.login-btn{margin-top:1rem;padding:.75rem;font-size:1rem}.sidebar{background-color:var(--bg-secondary);border-right:1px solid var(--border-color);flex-direction:column;width:260px;height:100%;display:flex}.sidebar-header{padding:1.5rem;padding-top:max(1.5rem, env(safe-area-inset-top));border-bottom:1px solid var(--border-color);align-items:center;gap:1rem;display:flex}.logo-icon{background:var(--accent-red);border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 4px 10px #d32f2f40}.flame-icon{animation:3s infinite pulse-flame}@keyframes pulse-flame{0%{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}to{opacity:.9;transform:scale(1)}}.logo-text{flex-direction:column;display:flex}.logo-title{color:var(--text-primary);font-size:1.125rem;font-weight:700;line-height:1.2}.logo-subtitle{color:var(--accent-red);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.sidebar-nav{flex-direction:column;flex:1;gap:.5rem;padding:1.5rem 1rem;display:flex;overflow-y:auto}.nav-item{border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast);align-items:center;gap:.75rem;padding:.75rem 1rem;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.nav-item.active{background-color:var(--accent-red-light);color:var(--accent-red)}.nav-item.active svg{color:var(--accent-red)}.nav-group-header{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);justify-content:space-between;align-items:center;margin-top:.5rem;padding:.75rem 1rem;font-size:.85rem;font-weight:600;display:flex}.nav-group-header:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.nav-group-content{border-left:2px solid var(--border-color);flex-direction:column;gap:.25rem;margin-top:.25rem;margin-bottom:.5rem;margin-left:1rem;padding-left:.5rem;display:flex}.sidebar-footer{border-top:1px solid var(--border-color);flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.user-info{justify-content:center;align-items:center;display:flex}.user-role-badge{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.logout-btn{width:100%;color:var(--text-muted);justify-content:flex-start}.logout-btn:hover{color:var(--accent-red)}.mobile-header{background-color:var(--bg-secondary);padding:1rem;padding-top:max(1rem, env(safe-area-inset-top));border-bottom:1px solid var(--border-color);z-index:50;justify-content:space-between;align-items:center;display:none}.mobile-menu-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.sidebar-overlay{z-index:90;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;display:none;position:fixed;inset:0}@media (width<=768px){.app-container{flex-direction:column}.mobile-header{display:flex}.sidebar{z-index:100;width:280px;box-shadow:var(--shadow-md);transition:transform .3s ease-in-out;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block}}.member-link:hover{text-decoration:underline}.members-page{max-width:1200px;margin:0 auto;padding:2rem}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:2rem;display:flex}.page-header h1{margin-bottom:.25rem}.filters-bar{align-items:center;gap:1rem;margin-bottom:2rem;padding:1rem 1.5rem;display:flex}.search-box{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color var(--transition-fast);flex:1;align-items:center;padding:.5rem 1rem;display:flex}.search-box:focus-within{border-color:var(--accent-red)}.search-icon{color:var(--text-muted);margin-right:.5rem}.search-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:.875rem}.filter-select-wrapper{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);align-items:center;gap:.5rem;height:2.5rem;padding:0 1rem;display:flex}.filter-icon{color:var(--text-muted)}.filter-select{color:var(--text-primary);background:0 0;border:none;outline:none;font-size:.875rem}.member-name{font-size:.9375rem}.courses-list{flex-wrap:wrap;gap:.375rem;display:flex}.course-chip{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);white-space:nowrap;padding:.125rem .5rem;font-size:.75rem}.course-chip-more{background-color:var(--bg-tertiary);color:var(--text-muted);border-radius:var(--radius-sm);padding:.125rem .375rem;font-size:.75rem;font-weight:500}.status-icons{align-items:center;gap:.75rem;display:flex}.status-ok{color:var(--accent-green);align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;display:flex}.status-warn{color:var(--accent-orange);align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;display:flex}.btn-sm{padding:.375rem .75rem;font-size:.75rem}.clickable-row{cursor:pointer;transition:background-color .2s ease-in-out}.clickable-row:hover{background-color:#ffffff0d}.member-detail-page{max-width:1200px;margin:0 auto;padding:2rem 2rem 4rem}.detail-header{margin-bottom:2rem}.header-title-box{align-items:center;gap:1rem;display:flex}.btn-icon{border-radius:var(--radius-md);color:var(--text-muted);padding:.5rem}.btn-icon:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.action-buttons{gap:1rem;display:flex}.text-red{color:var(--accent-red)}.text-red:hover{color:var(--accent-red-hover);background-color:#e539351a}.text-red-accent{color:var(--accent-red)}.detail-cards-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;display:grid}.detail-card{flex-direction:column;display:flex}.card-header{border-bottom:1px solid var(--border-color);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);background-color:#0000001a;padding:1.25rem 1.5rem}.card-title{align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:600;display:flex}.card-body{flex:1;padding:1.5rem}.divider{border:none;border-top:1px solid var(--border-color);margin:1.5rem 0}.input-field:disabled{color:var(--text-muted);cursor:not-allowed;background-color:#ffffff08;border-color:#0000}
