:root{--primary-color: #638944;--secondary-color: #7AB5BC;--bg-color: #FAFAFA;--surface-color: #FFFFFF;--text-dark: #1A1A1A;--text-light: #FFFFFF;--border-color: #E0E0E0}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;margin:0;padding:0;overflow:hidden;font-family:Roboto,sans-serif;background-color:var(--bg-color);color:var(--text-dark);line-height:1.5}.app-layout{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden}.app-header{flex-shrink:0;z-index:1100}.app-content{flex:1;overflow-y:auto;padding-bottom:20px}.app-footer{flex-shrink:0;z-index:1000}.container{max-width:1200px;margin:0 auto;padding:20px}.card{background-color:var(--surface-color);border-radius:8px;box-shadow:0 2px 8px #00000014;padding:20px;margin-bottom:20px;border:1px solid var(--border-color)}.btn-primary{background-color:var(--primary-color);color:var(--text-light);border:none;padding:10px 18px;border-radius:6px;font-weight:500;cursor:pointer;transition:opacity .2s ease}.btn-primary:hover{opacity:.9}.btn-secondary{background-color:var(--secondary-color);color:var(--text-dark);border:none;padding:8px 14px;border-radius:6px;font-weight:500;cursor:pointer;transition:opacity .2s ease}.btn-secondary:hover{opacity:.9}.btn-danger{background-color:#d32f2f;color:#fff;border:none;padding:8px 14px;border-radius:6px;font-weight:500;cursor:pointer;transition:opacity .2s ease}.btn-danger:hover{opacity:.9}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500}.form-control{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:6px;font-size:14px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.input-with-clear{position:relative;display:flex;align-items:center;width:100%}.input-with-clear .form-control{padding-right:36px}.btn-clear-field{position:absolute;right:8px;background:transparent;border:none;font-size:14px;color:#888;cursor:pointer;padding:2px 6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color .15s ease,background .15s ease}.btn-clear-field:hover{color:#d32f2f;background:#ffebee}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .form-control{padding-right:44px}.toggle-password-btn{position:absolute;right:8px;background:transparent;border:none;font-size:18px;cursor:pointer;padding:4px;color:#666;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,opacity .2s ease}.toggle-password-btn:hover{opacity:.8;transform:scale(1.1)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-card{width:100%;max-width:550px;background:#fff;border-radius:8px;padding:24px;box-shadow:0 4px 20px #00000026}.filter-bar{display:flex;align-items:center;gap:12px;background:#fff;padding:12px 16px;border-radius:8px;margin-bottom:20px;border:1px solid var(--border-color)}table{width:100%;border-collapse:collapse;margin-top:10px}th,td{padding:12px;text-align:left;border-bottom:1px solid var(--border-color)}th{background-color:#f0f4ec;color:var(--primary-color);font-weight:700}.action-buttons{display:flex;gap:8px}.badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:700}.badge-admin{background-color:var(--primary-color);color:#fff}.badge-turnierleiter{background-color:var(--secondary-color);color:#000}.badge-de{background-color:#e8f5e9;color:#2e7d32}.badge-en{background-color:#e3f2fd;color:#1565c0}.error-msg{background-color:#ffebee;color:#c62828;padding:10px 14px;border-radius:6px;margin-bottom:16px;font-size:14px;border:1px solid #FFCDD2}.success-msg{background-color:#e8f5e9;color:#2e7d32;padding:10px 14px;border-radius:6px;margin-bottom:16px;font-size:14px;border:1px solid #C8E6C9}
