/* Unterseiten (Bestätigen, Einladung, Verwaltung, Fehlerseite): gleiche Bühne wie die Startseite, eine ruhige Spalte */
:root{
  --bg:#06090f; --bg2:#0b1019; --card:#111823; --card2:#161f2c; --line:#212c3b;
  --ink:#f5f5f7; --silver:#c9ced6; --mute:#8b94a3;
  --leaf1:#ffb347; --leaf2:#ff6a3d; --gold:#e3c48c;
  --ok:#30d158; --mid:#ff9f0a; --bad:#ff453a; --blue:#64a8ff;
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI Variable Display","Segoe UI",Roboto,system-ui,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --spring:cubic-bezier(.2,.8,.2,1); color-scheme:dark;
}
@font-face{font-family:"Cormorant Garamond";src:url(/fonts/cormorant-garamond-700.woff2) format("woff2");font-weight:700;font-display:swap}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:radial-gradient(ellipse 70% 50% at 50% 0%,#0e1522,var(--bg) 70%) var(--bg);color:var(--ink);font:17px/1.55 var(--font);-webkit-font-smoothing:antialiased}
a{color:var(--leaf1)}
:focus-visible{outline:2px solid var(--leaf1);outline-offset:3px;border-radius:8px}
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:880px;margin:0 auto;padding:18px max(20px,env(safe-area-inset-left)) 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{width:30px;height:30px;border-radius:50%}
.brand span{font:700 23px/1 "Cormorant Garamond",Georgia,serif;color:#ead3a4}
main{max-width:880px;margin:0 auto;padding:48px max(20px,env(safe-area-inset-left)) 80px;display:grid;gap:22px}
main.narrow{max-width:560px}
h1{margin:0;font-size:clamp(32px,5vw,48px);line-height:1.08;letter-spacing:-.03em;text-wrap:balance}
h2{margin:0;font-size:22px;letter-spacing:-.02em}
p{margin:0}
.lead{color:var(--silver);font-size:19px}
.card{background:var(--card);border-radius:24px;padding:clamp(20px,4vw,30px);display:grid;gap:14px;animation:pop .5s var(--spring) both}
.fine{color:var(--mute);font-size:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:13px 24px;font:600 17px var(--font);text-decoration:none;cursor:pointer;transition:transform .25s var(--spring),opacity .2s;justify-self:start}
.btn.pri{background:linear-gradient(135deg,var(--leaf1),var(--leaf2));color:#1a0a00}
.btn.pri:hover{transform:scale(1.03)}
.btn.ghost{background:rgba(255,255,255,.08);color:var(--ink);font-size:15px;padding:10px 18px}
.btn.small{font-size:14px;padding:8px 14px}
.btn.danger{background:rgba(255,69,58,.14);color:var(--bad)}
.btn:disabled{opacity:.5;cursor:default;transform:none}
.msg{padding:14px 16px;border-radius:14px;font-size:15px}
.msg.ok{background:rgba(48,209,88,.12);color:var(--ok)}
.msg.err{background:rgba(255,69,58,.12);color:var(--bad)}
.msg.info{background:rgba(100,168,255,.12);color:var(--blue)}
.icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:30px;background:rgba(48,209,88,.14);color:var(--ok)}
.icon.err{background:rgba(255,69,58,.14);color:var(--bad)}
.icon.wait{background:rgba(255,179,71,.14);color:var(--leaf1)}
.spin{width:28px;height:28px;border-radius:50%;border:3px solid rgba(255,255,255,.15);border-top-color:var(--leaf1);animation:spin .9s linear infinite}
.code{font:600 22px var(--mono);letter-spacing:.06em;color:var(--gold);background:var(--card2);border-radius:14px;padding:12px 16px;justify-self:start}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;font-size:15px}
.kv dt{color:var(--mute)}.kv dd{margin:0;min-width:0;overflow-wrap:anywhere}
input,select{width:100%;background:var(--card2);border:1px solid var(--line);color:var(--ink);border-radius:12px;padding:11px 14px;font:16px var(--font)}
label{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--mute)}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap}
.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.b-pending{background:rgba(255,179,71,.14);color:var(--leaf1)}
.b-approved{background:rgba(48,209,88,.14);color:var(--ok)}
.req{background:var(--card2);border-radius:18px;padding:16px;display:grid;gap:10px;animation:pop .4s var(--spring) both}
.req .head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center}
.req b{font-size:17px;overflow-wrap:anywhere}
.req p{color:var(--silver);font-size:15px}
.tabs{display:inline-flex;background:var(--card2);border-radius:999px;padding:4px;gap:4px}
.tabs button{border:0;background:transparent;color:var(--silver);font:500 15px var(--font);padding:8px 16px;border-radius:999px;cursor:pointer}
.tabs button[aria-pressed="true"]{background:var(--ink);color:#000}
.empty{border:1.5px dashed var(--line);border-radius:18px;padding:24px;text-align:center;color:var(--mute)}
footer{max-width:880px;margin:0 auto;padding:0 max(20px,env(safe-area-inset-left)) 40px;color:var(--mute);font-size:13px}
@keyframes pop{from{opacity:.001;transform:translate3d(0,10px,0)}to{opacity:1;transform:none}}
@keyframes spin{to{transform:rotate(360deg)}}
@media (max-width:520px){.kv{grid-template-columns:1fr}.kv dd{margin-bottom:6px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
