:root{--rot-dunkel: #6d1723;--rot-mittel: #aa1a1d;--rot-hell: #dc0d1d;--beige: #d4c9b5;--grau: #575e62;--primary: #6d1723;--primary-dark: #4a0f18;--primary-light: rgba(109, 23, 35, .1);--secondary: #aa1a1d;--success: #15803d;--success-dark: #166534;--success-light: rgba(21, 128, 61, .1);--warning: #d97706;--warning-dark: #b45309;--warning-light: rgba(217, 119, 6, .1);--danger: #dc0d1d;--danger-dark: #aa1a1d;--danger-light: rgba(220, 13, 29, .1);--info: #2563eb;--info-dark: #1d4ed8;--info-light: rgba(37, 99, 235, .1);--text-primary: #1f2937;--text-secondary: #575e62;--text-tertiary: #9ca3af;--bg-primary: #f8f7f4;--surface-primary: #ffffff;--surface-secondary:#f9fafb;--border-color: #d4c9b5;--border-light: #e5e7eb;--shadow-sm: 0 1px 2px 0 rgba(109, 23, 35, .05);--shadow-md: 0 4px 6px -1px rgba(109, 23, 35, .1), 0 2px 4px -2px rgba(109, 23, 35, .1);--shadow-lg: 0 10px 15px -3px rgba(109, 23, 35, .1), 0 4px 6px -4px rgba(109, 23, 35, .1);--shadow-xl: 0 20px 25px -5px rgba(109, 23, 35, .1), 0 8px 10px -6px rgba(109, 23, 35, .1);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px}:root.dark{--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-tertiary: #9ca3af;--bg-primary: #1a1a1a;--surface-primary: #262626;--surface-secondary: #333333;--border-color: #404040;--border-light: #525252;--primary-light: rgba(109, 23, 35, .3);--shadow-sm: 0 1px 2px 0 rgba(0,0,0,.3);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.4), 0 2px 4px -2px rgba(0,0,0,.3);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.4), 0 4px 6px -4px rgba(0,0,0,.3);--shadow-xl: 0 20px 25px -5px rgba(0,0,0,.4), 0 8px 10px -6px rgba(0,0,0,.3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--surface-secondary)}::-webkit-scrollbar-thumb{background:var(--beige);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--grau)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::selection{background:var(--primary);color:#fff}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.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}.layout{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary)}.header{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;height:64px;background:var(--surface-primary);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center}.logo{display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:opacity .2s}.logo:hover{opacity:.8}.logo-icon{color:var(--primary);width:32px;height:32px}.logo-text{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.header-nav{display:flex;gap:.25rem}.nav-btn{display:flex;align-items:center;gap:.4rem;padding:.45rem .75rem;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.nav-btn:hover{background:var(--surface-secondary);color:var(--primary)}.nav-btn.active{background:var(--primary-light);color:var(--primary);font-weight:600}.header-right{display:flex;align-items:center;gap:.75rem}.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .2s}.theme-toggle:hover{background:var(--surface-secondary);border-color:var(--primary);color:var(--primary)}.user-info-wrapper{position:relative}.user-info{display:flex;align-items:center;gap:.625rem;padding:.4rem .625rem;background:var(--surface-secondary);border:1px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all .2s}.user-info:hover{border-color:var(--border-color)}.user-avatar{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;border-radius:50%}.user-details{display:flex;flex-direction:column}.user-name{font-size:.875rem;font-weight:600;color:var(--text-primary)}.user-role{font-size:.6875rem;color:var(--text-tertiary)}.user-chevron{color:var(--text-tertiary);transition:transform .2s;flex-shrink:0}.user-chevron.rotated{transform:rotate(180deg)}.user-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:230px;background:var(--surface-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:200;overflow:hidden}.user-dropdown-header{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--surface-secondary);border-bottom:1px solid var(--border-color)}.user-dropdown-avatar{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0}.user-dropdown-name{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.user-dropdown-email{font-size:.75rem;color:var(--text-secondary);margin-top:2px}.user-dropdown-role{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.8125rem;color:var(--text-secondary)}.user-dropdown-role svg{color:var(--primary)}.user-dropdown-divider{height:1px;background:var(--border-color)}.user-dropdown-item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.625rem 1rem;background:transparent;border:none;font-size:.875rem;color:var(--text-secondary);cursor:pointer;transition:all .15s;text-align:left}.user-dropdown-item:hover{background:var(--surface-secondary);color:var(--text-primary)}.user-dropdown-logout{display:flex;align-items:center;gap:.625rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;font-size:.875rem;color:var(--text-secondary);cursor:pointer;transition:all .15s;text-align:left}.user-dropdown-logout:hover{background:#fef2f2;color:#dc2626}.main-content{flex:1;padding:2rem;max-width:1400px;width:100%;margin:0 auto}.footer{padding:1.25rem;text-align:center;background:var(--surface-primary);border-top:1px solid var(--border-color);color:var(--text-tertiary);font-size:.875rem}@media(max-width:900px){.header{padding:0 1rem}.logo-text,.nav-btn span,.user-details{display:none}.main-content{padding:1rem}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary, #f8f7f5);padding:1rem}.login-container{width:100%;max-width:400px;background:var(--surface-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden}.login-header{text-align:center;padding:2.5rem 2rem 2rem;background:linear-gradient(160deg,#6d1723,#aa1a1d);color:#fff}.login-logo{width:72px;height:72px;margin:0 auto 1.25rem;display:flex;align-items:center;justify-content:center;background:#ffffff26;border-radius:50%;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.login-title{font-size:1.625rem;font-weight:700;color:#fff;margin:0 0 .375rem;letter-spacing:-.02em}.login-subtitle{font-size:.9375rem;color:#ffffffbf;margin:0}.login-body{padding:2rem}.login-error{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#fef2f2;border:1px solid #fca5a5;border-radius:var(--radius-md);color:#b91c1c;font-size:.875rem;margin-bottom:1.25rem}.google-login-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.875rem;padding:.875rem 1.25rem;font-size:1rem;font-weight:600;color:var(--text-primary);background:var(--surface-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.google-login-btn:hover:not(:disabled){border-color:#4285f4;box-shadow:0 0 0 4px #4285f41f;transform:translateY(-1px)}.google-login-btn:active:not(:disabled){transform:translateY(0)}.google-login-btn:disabled{opacity:.65;cursor:not-allowed}.login-hint{margin:1.25rem 0 0;font-size:.8125rem;color:var(--text-tertiary);text-align:center;line-height:1.5}.login-footer-bar{padding:1rem 2rem;background:var(--surface-secondary);border-top:1px solid var(--border-color);font-size:.8125rem;color:var(--text-secondary);text-align:center}.loading-spinner{width:20px;height:20px;border:2px solid rgba(0,0,0,.15);border-top-color:var(--text-primary);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.login-divider{display:flex;align-items:center;margin-top:1.5rem}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.email-toggle{display:flex;align-items:center;gap:.375rem;padding:0 .75rem;font-size:.8125rem;color:var(--text-tertiary);background:none;border:none;cursor:pointer;white-space:nowrap;transition:color .15s}.email-toggle:hover{color:var(--text-secondary)}.email-toggle svg{transition:transform .2s;flex-shrink:0}.email-toggle svg.rotated{transform:rotate(180deg)}.email-form{display:flex;flex-direction:column;gap:.625rem;margin-top:1rem}.email-field{display:flex;align-items:center;gap:.625rem;padding:.625rem .875rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-primary);color:var(--text-tertiary);transition:border-color .15s}.email-field:focus-within{border-color:#6d1723;color:var(--text-secondary)}.email-field input{flex:1;border:none;outline:none;background:transparent;font-size:.875rem;color:var(--text-primary)}.email-field input::placeholder{color:var(--text-tertiary)}.email-submit-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.625rem 1rem;font-size:.9375rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#6d1723,#aa1a1d);border:none;border-radius:var(--radius-md);cursor:pointer;transition:opacity .15s,transform .15s}.email-submit-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.email-submit-btn:disabled{opacity:.65;cursor:not-allowed}.loading-spinner.small{width:16px;height:16px;border-color:#ffffff4d;border-top-color:#fff}.profile-page{max-width:640px;margin:0 auto;padding:2rem 1rem}.profile-container{background:var(--surface-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden}.profile-header{padding:2rem 2rem 1.5rem;border-bottom:1px solid var(--border-color)}.profile-title{font-size:1.375rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem}.profile-subtitle{font-size:.875rem;color:var(--text-secondary);margin:0}.profile-body{padding:2rem;display:flex;flex-direction:column;gap:2rem}.profile-avatar-section{display:flex;align-items:center;gap:1.25rem}.profile-avatar-large{width:80px;height:80px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;border:3px solid var(--border-color)}.profile-avatar-large img{width:100%;height:100%;object-fit:cover}.profile-avatar-initials{font-size:1.75rem;font-weight:700;color:#fff}.profile-avatar-info{display:flex;flex-direction:column;gap:.375rem}.profile-display-name{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.profile-role-badge{display:inline-block;padding:.25rem .75rem;background:var(--primary-light);color:var(--primary);border-radius:999px;font-size:.75rem;font-weight:600}.profile-form{display:flex;flex-direction:column;gap:1.25rem}.profile-field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.profile-field{display:flex;flex-direction:column;gap:.375rem}.profile-field label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.profile-optional{font-weight:400;color:var(--text-tertiary)}.profile-field input{padding:.625rem .875rem;background:var(--surface-primary);border:1.5px solid var(--border-color);border-radius:var(--radius-md);font-size:.9375rem;color:var(--text-primary);outline:none;transition:border-color .2s}.profile-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6d172314}.profile-input-disabled{background:var(--surface-secondary)!important;color:var(--text-tertiary)!important;cursor:not-allowed}.profile-field-hint{font-size:.75rem;color:var(--text-tertiary)}.profile-avatar-input-row{position:relative}.profile-avatar-input-row input{width:100%;box-sizing:border-box;padding-right:2.5rem}.profile-avatar-clear{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.25rem;color:var(--text-tertiary)}.profile-avatar-clear:hover{color:var(--text-primary)}.profile-error{padding:.75rem 1rem;background:#fef2f2;border:1px solid #fca5a5;border-radius:var(--radius-md);color:#b91c1c;font-size:.875rem}.profile-form-footer{display:flex;justify-content:flex-end}.profile-save-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.5rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}.profile-save-btn:hover:not(:disabled){background:var(--primary-dark)}.profile-save-btn:disabled{opacity:.7;cursor:not-allowed}.profile-save-btn.saved{background:#16a34a}.profile-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.profile-info-section{display:flex;flex-direction:column;gap:.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.profile-info-row{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-tertiary)}@media(max-width:480px){.profile-field-row{grid-template-columns:1fr}.profile-body{padding:1.25rem}}.modal-backdrop{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}.modal{background:var(--surface-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-sm{width:100%;max-width:400px}.modal-md{width:100%;max-width:560px}.modal-lg{width:100%;max-width:800px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color)}.modal-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .2s}.modal-close:hover{background:var(--surface-secondary);color:var(--danger)}.modal-content{padding:1.5rem;overflow-y:auto}.form-group{margin-bottom:1.25rem}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem 1rem;font-size:.9375rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-primary);color:var(--text-primary);transition:all .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-textarea{min-height:100px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--surface-secondary);color:var(--text-primary)}.btn-secondary:hover{background:var(--border-color)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-dark)}.crud-page{padding:2rem;max-width:1200px}.crud-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.75rem}.crud-header-text h1{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem}.crud-header-text p{font-size:.9375rem;color:var(--text-secondary);margin:0}.crud-toolbar{display:flex;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.crud-search-wrap{position:relative;flex:1;min-width:180px;max-width:360px}.crud-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.crud-search{width:100%;padding:.6rem 1rem .6rem 2.25rem;font-size:.875rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-primary);color:var(--text-primary);transition:border-color .2s,box-shadow .2s}.crud-search:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.crud-filter-select{padding:.6rem 1rem;font-size:.875rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-primary);color:var(--text-primary);cursor:pointer;transition:border-color .2s}.crud-filter-select:focus{outline:none;border-color:var(--primary)}.crud-table-card{background:var(--surface-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.crud-table{width:100%;border-collapse:collapse}.crud-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:var(--surface-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap}.crud-table td{padding:.875rem 1rem;font-size:.9375rem;color:var(--text-primary);border-bottom:1px solid var(--border-light);vertical-align:middle}.crud-table tr:last-child td{border-bottom:none}.crud-table tr:hover td{background:var(--surface-secondary)}.crud-table .col-actions{text-align:right;width:1%;white-space:nowrap}.cell-name{font-weight:600}.cell-sub{font-size:.8125rem;color:var(--text-secondary);margin-top:.125rem}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .625rem;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.badge-active{background:var(--success-light);color:var(--success-dark)}.badge-inactive{background:var(--surface-secondary);color:var(--text-tertiary)}.badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.color-swatch{display:inline-block;width:20px;height:20px;border-radius:var(--radius-sm);border:1px solid rgba(0,0,0,.1);flex-shrink:0}.action-btns{display:inline-flex;gap:.375rem;align-items:center}.action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.action-btn:hover{background:var(--surface-secondary);color:var(--primary);border-color:var(--primary)}.action-btn.danger:hover{background:var(--danger-light);color:var(--danger);border-color:var(--danger)}.crud-empty{padding:3rem 2rem;text-align:center;color:var(--text-tertiary)}.crud-empty-icon{margin-bottom:1rem;opacity:.4}.crud-empty h3{font-size:1rem;font-weight:600;color:var(--text-secondary);margin-bottom:.375rem}.crud-empty p{font-size:.875rem}.crud-loading{padding:2rem;display:flex;flex-direction:column;gap:.75rem}.skeleton-row{height:48px;border-radius:var(--radius-md);background:linear-gradient(90deg,var(--surface-secondary) 25%,var(--border-light) 50%,var(--surface-secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.delete-confirm-body{display:flex;flex-direction:column;align-items:center;text-align:center;padding:.5rem 0 1rem;gap:1rem}.delete-confirm-icon{width:56px;height:56px;border-radius:50%;background:var(--danger-light);display:flex;align-items:center;justify-content:center;color:var(--danger)}.delete-confirm-body p{color:var(--text-secondary);font-size:.9375rem;line-height:1.6;max-width:320px}.form-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.form-toggle-label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background:var(--border-color);border-radius:999px;cursor:pointer;transition:background .2s}.toggle-slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s}.toggle input:checked+.toggle-slider{background:var(--success)}.toggle input:checked+.toggle-slider:before{transform:translate(20px)}.btn-create{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.btn-create:hover{background:var(--primary-dark)}.btn-create:disabled{opacity:.5;cursor:not-allowed}.crud-stats{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.crud-stat{background:var(--surface-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:.875rem 1.125rem;display:flex;flex-direction:column;gap:.125rem;min-width:140px;flex:1;box-shadow:var(--shadow-sm)}.crud-stat-label{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.crud-stat-value{font-size:1.375rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.crud-stat-sub{font-size:.75rem;color:var(--text-secondary)}.crud-pagination{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-top:1px solid var(--border-color);background:var(--surface-secondary);font-size:.875rem;color:var(--text-secondary)}.crud-pagination-info{font-variant-numeric:tabular-nums}.crud-pagination-controls{display:flex;gap:.375rem;align-items:center}.page-btn{display:inline-flex;align-items:center;justify-content:center;height:32px;min-width:32px;padding:0 .625rem;border:1px solid var(--border-color);background:var(--surface-primary);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;font-size:.8125rem;font-weight:500;transition:all .15s}.page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.badge-status-mitglied{background:var(--success-light);color:var(--success-dark)}.badge-status-vereinbart{background:var(--info-light);color:var(--info-dark)}.badge-status-ehemalig{background:var(--surface-secondary);color:var(--text-tertiary)}.badge-status-warteliste{background:var(--warning-light);color:var(--warning-dark)}.badge-status-blacklist{background:var(--danger-light);color:var(--danger-dark)}.badge-status-followup{background:var(--warning-light);color:var(--warning-dark)}.badge-status-default{background:var(--surface-secondary);color:var(--text-secondary)}.cell-avatar{display:flex;align-items:center;gap:.625rem}.avatar-circle{width:36px;height:36px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:600;flex-shrink:0;overflow:hidden}.avatar-circle img{width:100%;height:100%;object-fit:cover}.sport-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;padding:1rem}.sport-card{background:var(--surface-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:all .2s;position:relative;display:flex;flex-direction:column}.sport-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.sport-card-image{width:100%;aspect-ratio:16/10;background:var(--surface-secondary);position:relative;overflow:hidden}.sport-card-image img{width:100%;height:100%;object-fit:cover;display:block}.sport-card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#fff}.sport-card-color-strip{position:absolute;bottom:0;left:0;right:0;height:4px}.sport-card-body{padding:.875rem 1rem 1rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.sport-card-name{font-size:1rem;font-weight:600;color:var(--text-primary);line-height:1.3}.sport-card-meta{display:flex;flex-wrap:wrap;gap:.4rem}.sport-card-actions{position:absolute;top:.625rem;right:.625rem;display:flex;gap:.375rem;opacity:0;transition:opacity .15s}.sport-card:hover .sport-card-actions{opacity:1}.sport-card-action{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background:#fffffff2;color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .15s}.sport-card-action:hover{background:#fff;color:var(--primary);border-color:var(--primary)}.sport-card-action.danger:hover{color:var(--danger);border-color:var(--danger)}.badge-age{background:var(--info-light);color:var(--info-dark)}.badge-adults{background:var(--primary-light);color:var(--primary)}.badge-kids{background:var(--warning-light);color:var(--warning-dark)}.k-form-section{border-top:1px solid var(--border-light);padding-top:1.25rem;margin-top:1.25rem}.k-form-section:first-of-type{border-top:none;padding-top:0;margin-top:0}.k-form-section h3{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0 0 1rem}.k-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.k-grid-3{display:grid;grid-template-columns:1fr 2fr 1fr;gap:.75rem}@media(max-width:600px){.k-grid-2,.k-grid-3{grid-template-columns:1fr}}.k-chips{display:flex;flex-wrap:wrap;gap:.4rem}.k-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border-radius:999px;border:1px solid var(--border-color);background:var(--surface-primary);color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s}.k-chip:hover{border-color:var(--primary);color:var(--primary)}.k-chip.active{border-color:transparent;color:#fff;font-weight:600}.k-chip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cell-sports{display:flex;flex-wrap:wrap;gap:.3rem}.cell-sport{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .5rem;border-radius:999px;font-size:.6875rem;font-weight:600;color:#fff}.badge-status-active{background:var(--success-light);color:var(--success-dark)}.badge-status-paused{background:var(--warning-light);color:var(--warning-dark)}.badge-status-inactive{background:var(--surface-secondary);color:var(--text-tertiary)}.badge-status-former{background:var(--danger-light);color:var(--danger-dark)}.stundenplan-toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1.25rem}.stundenplan-toolbar-left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.stundenplan-toolbar-right{display:flex;align-items:center;gap:.5rem}.stundenplan-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.75rem;min-width:900px}.stundenplan-scroll{overflow-x:auto;padding-bottom:.5rem}.stundenplan-day-col{display:flex;flex-direction:column;gap:.5rem;min-width:120px}.stundenplan-day-header{font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);padding:.4rem .5rem;text-align:center;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-color)}.stundenplan-day-add{text-align:center}.btn-add-slot{width:100%;padding:.35rem 0;background:none;border:1px dashed var(--border-color);border-radius:6px;color:var(--text-tertiary);font-size:.75rem;cursor:pointer;transition:all .15s}.btn-add-slot:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-ultra-light, rgba(109,23,35,.04))}.sched-card{border-radius:8px;overflow:hidden;border:1px solid var(--border-color);background:var(--bg-primary);cursor:pointer;transition:box-shadow .15s,transform .1s;position:relative}.sched-card:hover{box-shadow:0 2px 10px #0000001a;transform:translateY(-1px)}.sched-card-stripe{height:4px}.sched-card-body{padding:.5rem .625rem}.sched-card-time{font-size:.6875rem;font-weight:600;color:var(--text-secondary);margin-bottom:.2rem}.sched-card-sport{font-size:.8125rem;font-weight:600;color:var(--text-primary);line-height:1.2;margin-bottom:.2rem}.sched-card-room{font-size:.6875rem;color:var(--text-tertiary)}.sched-card-caps{display:flex;gap:.3rem;margin-top:.35rem;flex-wrap:wrap}.cap-badge{font-size:.625rem;font-weight:600;padding:.1rem .35rem;border-radius:99px;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.sched-card-actions{position:absolute;top:4px;right:4px;display:none;gap:2px}.sched-card:hover .sched-card-actions{display:flex}.sched-action-btn{width:22px;height:22px;border:none;border-radius:4px;background:#ffffffe6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background .15s,color .15s;padding:0}.sched-action-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.sched-action-btn.danger:hover{background:var(--danger-light, #fef2f2);color:var(--danger)}.stundenplan-empty{text-align:center;padding:3rem 1rem;color:var(--text-tertiary)}.stundenplan-no-slots{font-size:.75rem;color:var(--text-tertiary);text-align:center;padding:.75rem .25rem;font-style:italic}.version-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;padding:.2rem .5rem;border-radius:99px;font-weight:500}.version-badge-published{background:var(--success-light, #f0fdf4);color:var(--success-dark, #15803d)}.version-badge-draft{background:var(--bg-secondary);color:var(--text-secondary)}
