@charset "UTF-8";:root{--bg: #0d0f12;--surface: #141720;--surface-2: #1c2030;--border: #2a2f42;--border-focus: #e8c547;--text: #eceef4;--text-soft: #a7adc8;--text-muted: #8c94b2;--text-dim: #3a4060;--accent: #e8c547;--accent-dim: rgba(232, 197, 71, .12);--success: #4caf82;--success-dim: rgba(76, 175, 130, .12);--danger: #e05c5c;--danger-dim: rgba(224, 92, 92, .12);--radius: 6px;--radius-lg: 12px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg)}.app-main>:has(>.seite){display:flex;flex:1 0 auto;flex-direction:column}.seite{flex:1 0 auto;display:grid;place-items:start center;padding:3rem 1rem;background-color:var(--bg);background-image:radial-gradient(ellipse 60% 50% at 50% 0%,rgba(232,197,71,.06) 0%,transparent 70%),repeating-linear-gradient(0deg,transparent,transparent 39px,var(--text-dim) 39px,var(--text-dim) 40px),repeating-linear-gradient(90deg,transparent,transparent 39px,var(--text-dim) 39px,var(--text-dim) 40px);background-size:100% 100%,40px 40px,40px 40px}.seiten-karte{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 0 0 1px #ffffff08,0 24px 64px #0009;animation:card-in .4s cubic-bezier(.22,1,.36,1) both}@keyframes card-in{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.section-title{margin:0;padding-bottom:.625rem;border-bottom:1px solid var(--border);font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.hinweis{margin:0;padding:.75rem .875rem;line-height:1.55;color:var(--text-muted);background:var(--accent-dim);border:1px solid rgba(232,197,71,.25);border-radius:var(--radius)}.hinweis .hint-icon{color:var(--accent)}.alert-error{padding:.875rem 1rem;border:1px solid rgba(224,92,92,.4);border-radius:var(--radius);background:var(--danger-dim);color:var(--danger);font-size:.85rem}.alert-error--formular{padding:.625rem .875rem;border-color:#e05c5c4d;font-size:.8125rem;animation:shake .35s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(3px)}30%,70%{transform:translate(-3px)}40%,60%{transform:translate(3px)}50%{transform:translate(-2px)}}.state-row{display:flex;align-items:center;gap:.625rem;padding:2rem 0;color:var(--text-muted);font-size:.9rem}.spinner{flex-shrink:0;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.submit-btn .spinner{width:14px;height:14px;border-color:#0d0f124d;border-top-color:var(--bg)}@keyframes spin{to{transform:rotate(360deg)}}.field-group{display:flex;flex-direction:column;gap:.375rem}.field-label{font-size:.75rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);display:flex;align-items:center;gap:.25rem}.field-label-optional{font-weight:400;letter-spacing:0;text-transform:none;color:var(--text-dim);font-size:.7rem}.required{color:var(--accent)}.field-input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.9375rem;padding:.65rem .875rem;outline:none;transition:border-color .15s,box-shadow .15s;font-family:inherit;width:100%;box-sizing:border-box}.field-input::placeholder{color:var(--text-dim)}.field-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-dim)}.field-input--error{border-color:var(--danger)}.field-input--error:focus{box-shadow:0 0 0 3px var(--danger-dim)}.field-input--sm{font-size:.875rem;padding:.5rem .75rem}.field-error{font-size:.75rem;color:var(--danger)}.submit-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:var(--accent);color:var(--bg);border:none;border-radius:var(--radius);font-family:inherit;font-size:.9375rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;box-shadow:0 4px 20px #e8c54740;transition:opacity .15s,transform .1s,box-shadow .15s}.submit-btn:hover:not(:disabled){opacity:.9;box-shadow:0 4px 28px #e8c54766}.submit-btn:active:not(:disabled){transform:scale(.98)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.legal-page{max-width:760px;margin:0 auto;padding:clamp(1.5rem,4vw,3rem) clamp(1rem,4vw,2rem);color:var(--text-soft);line-height:1.65}.legal-page h1{margin:0 0 1.5rem;color:var(--text);font-size:clamp(1.5rem,4vw,2rem)}.legal-page h2{margin:2rem 0 .5rem;color:var(--text);font-size:1.05rem}.legal-page p{margin:0 0 1rem}.legal-page a{color:var(--accent)}.legal-page .hinweis{margin-bottom:2rem}.legal-page dl{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1.5rem;margin:0 0 1rem}.legal-page dt{color:var(--text-muted);font-weight:600}.legal-page dd{margin:0;color:var(--text-soft)}@media(max-width:560px){.legal-page dl{grid-template-columns:1fr;gap:.1rem 0}.legal-page dd{margin-bottom:.5rem}}.teilnehmer-card{max-width:1600px;padding:2.5rem clamp(1.25rem,3vw,3rem) 3rem}.teilnehmer-header{display:grid;place-items:center;text-align:center;gap:.4rem;margin-bottom:1.25rem}.teilnehmer-header .brand-logo{display:block;width:40px;height:40px;color:var(--text)}.teilnehmer-title{margin:0;font-size:1.25rem;font-weight:800;letter-spacing:.02em;color:var(--text)}.teilnehmer-card .state-row{justify-content:center}.teilnehmer-card .empty-state{padding:2.5rem 0;text-align:center;color:var(--text-muted);font-size:.95rem}.teilnehmer-card .toolbar{margin:0 calc(-1*clamp(1.25rem,3vw,3rem)) 1.75rem;padding:.75rem clamp(1.25rem,3vw,3rem) 1rem;background:var(--surface);border-bottom:1px solid var(--border)}.teilnehmer-card .disziplin-section{margin-bottom:2.25rem}.teilnehmer-card .disziplin-section:last-child{margin-bottom:0}.teilnehmer-card .section-title{display:flex;align-items:center;gap:.5rem;margin-bottom:.875rem}.teilnehmer-card .section-count{display:inline-grid;place-items:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:999px;background:var(--accent-dim);color:var(--accent);font-size:.7rem}@media(max-width:720px){.teilnehmer-card{padding:2rem 1.25rem 1.5rem}.teilnehmer-card .toolbar{margin:0 -1.25rem 1.5rem;padding:.6rem 1.25rem .85rem}}@media print{html:has(.druck-bereich),html:has(.druck-bereich) body,body:has(.druck-bereich) app-root{min-height:0;background:#fff}body:has(.druck-bereich) .app-header,body:has(.druck-bereich) .mobile-tabs,body:has(.druck-bereich) .app-footer,body:has(.druck-bereich) app-toast{display:none}body:has(.druck-bereich) .app-main{min-height:0;padding:0}}
