:root{--navy: #0b1f33;--navy-deep: #071624;--navy-light: #1c3a5c;--gold: #c9a14a;--gold-light: #e3c172;--bg: #f7f5f0;--karte: #ffffff;--text: #1a2230;--muted: #707a8a;--rand: #e8e3d8;--rot: #b3261e;--schrift: "Inter", system-ui, -apple-system, sans-serif;--schrift-display: "Fraunces", "Inter", serif;font-family:var(--schrift)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}#app{max-width:640px;margin:0 auto;padding:0 16px 80px}.kopf{color:#fff;background:linear-gradient(150deg,var(--navy-deep) 0%,var(--navy) 55%,var(--navy-light) 100%);padding:30px 24px 38px;margin:0 -16px 22px;border-radius:0 0 28px 28px;position:relative;overflow:hidden}.kopf:after{content:"";position:absolute;top:-40%;right:-20%;width:220px;height:220px;background:radial-gradient(circle,rgba(201,161,74,.18),transparent 70%);pointer-events:none}.kopf .logo{width:50px;height:50px;border-radius:12px;background:#fff;padding:5px;margin-bottom:16px;display:block;object-fit:contain;box-shadow:0 6px 16px #00000040}.kopf h1{font-family:var(--schrift-display);font-weight:600;font-size:1.7rem;letter-spacing:-.01em;margin:6px 0 4px;position:relative}.kopf p{margin:0;color:var(--gold-light);font-size:.8rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.karte{background:var(--karte);border-radius:20px;box-shadow:0 1px 2px #0b1f330a,0 16px 40px #0b1f3314;padding:26px;margin-bottom:18px;border:1px solid rgba(11,31,51,.04)}.schritte{display:flex;gap:6px;margin-bottom:22px}.schritte .punkt{flex:1;height:4px;border-radius:4px;background:var(--rand);transition:background .3s ease}.schritte .punkt.aktiv,.schritte .punkt.fertig{background:linear-gradient(90deg,var(--gold),var(--gold-light))}h2{font-family:var(--schrift-display);font-weight:600;margin-top:0;font-size:1.3rem;color:var(--navy);letter-spacing:-.01em}.baum-knoten{margin-bottom:6px}.kategorie-knopf{width:100%;text-align:left;padding:14px 16px;border:1px solid var(--rand);border-radius:12px;background:#fff;cursor:pointer;font-size:1rem;font-weight:500;margin-bottom:7px;transition:border-color .2s ease,background .2s ease,transform .15s ease,box-shadow .2s ease}.kategorie-knopf:hover{border-color:var(--gold);box-shadow:0 4px 14px #c9a14a29;transform:translateY(-1px)}.kategorie-knopf:active{transform:translateY(0)}.kategorie-knopf.ausgewaehlt{background:linear-gradient(135deg,var(--navy),var(--navy-light));color:#fff;border-color:var(--navy)}.baum-kinder{margin-left:18px}.tage{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:16px}.tag-knopf{flex:0 0 auto;padding:11px 16px;border-radius:12px;border:1px solid var(--rand);background:#fff;cursor:pointer;font-size:.85rem;font-weight:500;white-space:nowrap;transition:border-color .2s ease,background .2s ease}.tag-knopf:hover{border-color:var(--gold)}.tag-knopf.ausgewaehlt{background:var(--navy);color:#fff;border-color:var(--navy)}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:9px}.slot-knopf{padding:12px 6px;border-radius:12px;border:1px solid var(--rand);background:#fff;cursor:pointer;font-size:.92rem;font-weight:500;transition:border-color .2s ease,background .2s ease,transform .15s ease}.slot-knopf:hover{border-color:var(--gold);transform:translateY(-1px)}.slot-knopf.ausgewaehlt{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--navy-deep);border-color:var(--gold);font-weight:600}.hinweis{color:var(--muted);font-size:.9rem;line-height:1.5}label{display:block;font-size:.78rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px}input,textarea{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--rand);font-size:1rem;font-family:inherit;background:#fdfcfa;transition:border-color .2s ease,box-shadow .2s ease}textarea{resize:vertical}input:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #c9a14a26;background:#fff}input[type=file]{border:none;padding:6px 0;background:none}.zeile-2{display:grid;grid-template-columns:1fr 2fr;gap:10px}.aktionen{display:flex;justify-content:space-between;align-items:center;margin-top:26px;gap:10px}button.primaer{background:linear-gradient(135deg,var(--navy),var(--navy-light));color:#fff;border:none;padding:14px 26px;border-radius:12px;font-size:1rem;cursor:pointer;font-weight:600;letter-spacing:.01em;box-shadow:0 8px 20px #0b1f3340;transition:transform .18s ease,box-shadow .18s ease}button.primaer:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 26px #0b1f3352}button.primaer:active:not(:disabled){transform:translateY(0)}button.primaer:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}button.sekundaer{background:none;border:none;color:var(--muted);font-size:.95rem;font-weight:500;cursor:pointer;transition:color .2s ease}button.sekundaer:hover{color:var(--navy)}.fehler{background:#fdf0ee;color:var(--rot);padding:12px 16px;border-radius:10px;margin-top:14px;font-size:.9rem;border:1px solid rgba(179,38,30,.15)}.erfolg-icon{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--navy-deep);display:flex;align-items:center;justify-content:center;font-size:2.1rem;margin:0 auto 18px;box-shadow:0 10px 24px #c9a14a59}.verlauf-eintrag{display:flex;justify-content:space-between;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--rand);font-size:.9rem}.verlauf-eintrag:last-child{border-bottom:none}.status-chip{font-size:.72rem;padding:4px 10px;border-radius:20px;font-weight:600;letter-spacing:.02em}.status-chip.offen{background:#fbf0d9;color:#92660b}.status-chip.bestaetigt{background:#e8f3ed;color:#1c6b48}.status-chip.abgelehnt{background:#fdecea;color:var(--rot)}.notfall-knopf{background:#fdf2f1;border-color:#b3261e40;color:var(--rot);font-weight:600}.notfall-knopf:hover{border-color:var(--rot);box-shadow:0 4px 14px #b3261e29}.erfolg-icon.notfall-icon{background:linear-gradient(135deg,var(--rot),#d9534a);color:#fff;box-shadow:0 10px 24px #b3261e4d}.notfall-nummer{display:inline-block;margin-top:8px;font-family:var(--schrift-display);font-size:1.7rem;font-weight:600;color:var(--navy);text-decoration:none;letter-spacing:.01em}.notfall-nummer:hover{color:var(--rot)}
