/* Anmeldung und Ersteinrichtung teilen die zentrale Portfolio-Palette. */
.auth-page { display:block; min-height:100vh; min-height:100svh; padding:32px; background:var(--bg,#080b0a); font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.auth-page::before,.auth-page::after { display:none; }
.auth-shell { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); width:100%; max-width:1360px; min-height:calc(100svh - 64px); margin:0 auto; padding:0; border:1px solid var(--line,#263029); border-radius:24px; overflow:hidden; background:var(--surface,#151b19); }
.auth-intro { display:flex; flex-direction:column; min-width:0; margin:0; padding:42px 48px 28px; background:radial-gradient(ellipse at 14% 74%,rgba(163,255,75,.055),transparent 65%),var(--sidebar,#101713); }
.auth-brand { display:flex; align-items:center; gap:12px; color:var(--text,#f5f7f5); font-size:23px; font-weight:650; letter-spacing:-.8px; }
.auth-brand-mark { display:grid; place-items:center; flex:0 0 42px; width:42px; height:42px; border-radius:13px; background:var(--accent,#a3ff4b); color:#12200a; }
.auth-brand-mark svg { width:30px; height:30px; }
.auth-brand-sub { display:block; margin-top:2px; color:var(--muted,#929b96); font-size:8px; font-weight:550; letter-spacing:2.5px; }
.auth-intro-copy { max-width:460px; margin-top:clamp(45px,8vh,92px); }
.auth-eyebrow { margin:0 0 18px; color:var(--muted,#929b96); font-size:10px; font-weight:650; letter-spacing:2px; line-height:1.6; }
.auth-intro-copy .auth-eyebrow { display:flex; align-items:center; gap:8px; color:var(--accent,#a3ff4b); }
.auth-intro-copy .auth-eyebrow span { width:5px; height:5px; border-radius:50%; background:currentColor; }
.auth-intro-copy h2 { margin:0 0 20px; font-size:clamp(35px,4.4vw,60px); font-weight:550; letter-spacing:-2.7px; line-height:1.09; }
.auth-intro-copy h2 span { color:var(--accent,#a3ff4b); }
.auth-intro-copy > p:last-child { max-width:340px; margin:0; color:var(--muted,#929b96); font-size:14px; line-height:1.75; }
.auth-showcase { position:relative; flex:1 0 290px; min-height:290px; width:100%; max-width:430px; margin:30px auto 0; }
.auth-orbit { position:absolute; left:9%; top:8%; width:80%; height:73%; border:1px solid rgba(163,255,75,.12); border-radius:50%; transform:rotate(-24deg); }
.auth-orbit::before { content:""; position:absolute; inset:20px -20px; border:1px solid rgba(163,255,75,.06); border-radius:50%; }
.auth-ingot { position:absolute; width:220px; height:145px; padding:20px 25px; border:1px solid rgba(255,255,255,.1); border-radius:16px; transform:rotate(-16deg) skewY(5deg); box-shadow:0 20px 35px rgba(0,0,0,.24); }
.auth-ingot span { display:block; font-size:48px; font-weight:500; letter-spacing:-2px; line-height:1.1; }
.auth-ingot small { display:block; margin-top:8px; font-size:8px; font-weight:700; letter-spacing:3px; }
.auth-ingot-back { top:32px; right:1%; color:#64736b; background:linear-gradient(135deg,#233029,#18221c); }
.auth-ingot-middle { top:76px; left:12%; color:#9bb1a1; background:linear-gradient(135deg,#3a4c40,#27382e); }
.auth-ingot-front { top:119px; left:2%; color:#233a12; background:linear-gradient(135deg,#c5ff91,#9be948); border-color:rgba(215,255,186,.7); }
.auth-ingot-front i { position:absolute; top:25px; right:23px; font-size:16px; font-style:normal; }
.auth-metal-label { position:absolute; right:6%; bottom:2px; color:var(--muted,#929b96); font-size:10px; letter-spacing:3px; }
.auth-intro-foot { margin:28px 0 0; color:var(--muted,#929b96); font-size:10px; letter-spacing:.5px; }
.auth-panel { display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:0; margin:0; padding:64px 48px 24px; background:var(--surface,#151b19); }
.auth-card { width:100%; max-width:360px; padding:0; text-align:left; background:transparent; border:0; border-radius:0; box-shadow:none; }
.auth-card .auth-eyebrow { margin-bottom:16px; }
.auth-card h1 { margin:0 0 13px; color:var(--text,#f5f7f5); font-family:inherit; font-size:clamp(26px,2.5vw,34px); font-weight:550; letter-spacing:-1.2px; line-height:1.2; }
.auth-description { max-width:330px; margin:0; color:var(--muted,#929b96); font-size:13px; line-height:1.7; }
.auth-card form { margin-top:38px; text-align:left; }
.auth-card label { display:block; margin-bottom:10px; color:var(--text-2,#c5cec8); font-size:12px; font-weight:550; }
.auth-input-wrap { position:relative; margin-bottom:23px; }
.auth-input-wrap > svg { position:absolute; top:17px; left:16px; width:19px; height:19px; color:var(--muted,#929b96); pointer-events:none; }
.auth-card .auth-input-wrap input { display:block; min-height:54px; margin:0; padding:14px 16px 14px 46px; border:1px solid var(--line,#303a33); border-radius:12px; background:var(--surface-raised,var(--surface-2,#1d2421)); color:var(--text,#f5f7f5); font:inherit; font-size:13px; }
.auth-card input::placeholder { color:var(--muted,#929b96); opacity:.8; }
.auth-card input:focus { border-color:var(--accent,#a3ff4b); outline:2px solid rgba(163,255,75,.12); outline-offset:2px; background:var(--surface-raised,var(--surface-2,#1d2421)); }
.auth-card input:-webkit-autofill { -webkit-text-fill-color:var(--text,#f5f7f5); box-shadow:0 0 0 1000px var(--surface-raised,#1d2421) inset; }
.auth-label-row { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.auth-label-hint { color:var(--muted,#929b96); font-size:10px; }
.auth-card .auth-submit { display:flex; align-items:center; justify-content:space-between; min-height:52px; margin-top:30px; padding:14px 20px; border-radius:12px; background:var(--accent,#a3ff4b); color:#14200c; font-size:13px; font-weight:650; }
.auth-submit svg { width:19px; height:19px; }
.auth-card .auth-submit:hover { background:#b7ff74; }
.auth-card .auth-submit:focus-visible { outline:2px solid var(--accent,#a3ff4b); outline-offset:4px; }
.auth-card .auth-submit[disabled] { opacity:.45; }
.auth-access-note { display:flex; align-items:flex-start; justify-content:flex-start; gap:8px; margin:23px 0 0; color:var(--muted,#929b96); font-size:10px; line-height:1.7; }
.auth-access-note svg { flex:0 0 14px; width:14px; height:14px; margin-top:1px; }
.auth-panel-foot { margin:86px 0 0; color:var(--muted,#929b96); font-size:10px; line-height:1.7; text-align:center; }
.auth-panel-foot span { padding:0 6px; color:var(--accent,#a3ff4b); }
.auth-card .form-error { font-size:12px; line-height:1.6; border-radius:10px; }
.auth-brand-link { width:fit-content; text-decoration:none; }
.auth-brand-link:hover { color:var(--text,#f5f7f5); }
.auth-card fieldset { min-width:0; margin:0; padding:0; border:0; }
.auth-card fieldset:disabled { opacity:.6; }
.auth-steps { display:flex; flex-wrap:wrap; gap:9px 15px; margin:22px 0 0; padding:0; list-style:none; }
.auth-steps li { display:flex; align-items:center; gap:7px; color:var(--muted,#929b96); font-size:10px; line-height:1.5; }
.auth-steps li > span { display:grid; place-items:center; flex:0 0 21px; width:21px; height:21px; border:1px solid var(--line,#303a33); border-radius:50%; color:var(--text-2,#c5cec8); font-size:10px; }
.auth-steps .is-current { color:var(--text,#f5f7f5); }
.auth-steps .is-current > span,.auth-steps .is-complete > span { color:var(--accent,#a3ff4b); border-color:var(--accent,#a3ff4b); background:var(--accent-soft,rgba(163,255,75,.06)); }
.auth-field-hint { margin:-14px 0 22px; color:var(--muted,#929b96); font-size:10px; line-height:1.6; }
.auth-message { margin:16px 0 0; color:var(--muted,#929b96); font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.auth-message.is-error { color:var(--red,#ff7878); }
.auth-message.is-success { color:var(--accent,#a3ff4b); }
.auth-alternative { margin:23px 0 0; color:var(--muted,#929b96); font-size:12px; line-height:1.7; }
.auth-alternative a { color:var(--accent,#a3ff4b); text-underline-offset:3px; }
.auth-confirmation { margin:24px 0 0; padding:19px; border:1px solid var(--line,#303a33); border-radius:12px; background:var(--surface-2,#1d2421); }
.auth-confirmation-mark { display:grid; place-items:center; width:34px; height:34px; margin-bottom:14px; border-radius:10px; background:var(--accent-soft,rgba(163,255,75,.08)); color:var(--accent,#a3ff4b); font-size:22px; }
.auth-confirmation h2 { margin:0 0 10px; color:var(--text,#f5f7f5); font-size:19px; font-weight:550; line-height:1.4; letter-spacing:-.4px; }
.auth-confirmation p { margin:0 0 15px; color:var(--text-2,#c5cec8); font-size:12px; line-height:1.75; overflow-wrap:anywhere; }
.auth-confirmation:focus { outline:2px solid var(--accent,#a3ff4b); outline-offset:4px; }
.auth-card .auth-confirmation .auth-submit { justify-content:center; margin-top:18px; }
.auth-disclosure { margin-top:23px; padding-top:16px; border-top:1px solid var(--line,#303a33); }
.auth-disclosure > summary { width:fit-content; min-height:30px; color:var(--text-2,#c5cec8); font-size:12px; line-height:1.6; cursor:pointer; }
.auth-disclosure > summary:focus-visible,.auth-alternative a:focus-visible { outline:2px solid var(--accent,#a3ff4b); outline-offset:4px; border-radius:4px; }
.auth-disclosure > p { margin:10px 0; color:var(--muted,#929b96); font-size:12px; line-height:1.7; }
.auth-card .auth-disclosure form { margin-top:18px; }
.auth-card .auth-disclosure button { min-height:43px; white-space:normal; }
.auth-card .auth-submit > span { min-width:0; }
.auth-card .auth-submit svg { flex:0 0 19px; }
@media (min-height:950px) { .auth-shell { min-height:820px; margin-top:calc((100svh - 884px) / 2); } }
@media (max-width:1000px) { .auth-intro { padding:36px 30px 25px; } .auth-panel { padding:56px 34px 24px; } .auth-ingot { width:195px; height:135px; } .auth-ingot-middle { left:9%; } }
@media (max-width:740px) {
  .auth-page { padding:16px; }
  .auth-shell { grid-template-columns:1fr; min-height:calc(100svh - 32px); max-width:480px; border-radius:20px; }
  .auth-intro { padding:28px 28px 23px; }
  .auth-brand { font-size:20px; }
  .auth-brand-mark { flex-basis:36px; width:36px; height:36px; border-radius:11px; }
  .auth-brand-mark svg { width:26px; height:26px; }
  .auth-intro-copy { margin-top:33px; }
  .auth-intro-copy .auth-eyebrow { margin-bottom:12px; font-size:9px; }
  .auth-intro-copy h2 { margin-bottom:13px; font-size:38px; letter-spacing:-1.7px; }
  .auth-intro-copy > p:last-child { font-size:12px; line-height:1.7; }
  .auth-showcase,.auth-intro-foot { display:none; }
  .auth-panel { padding:30px 28px 24px; justify-content:flex-start; }
  .auth-card { max-width:none; }
  .auth-card h1 { font-size:26px; }
  .auth-card .auth-eyebrow { font-size:9px; margin-bottom:12px; }
  .auth-card form { margin-top:25px; }
  .auth-panel-foot { margin-top:38px; font-size:9px; }
}
@media (max-width:360px) { .auth-page { padding:10px; } .auth-intro,.auth-panel { padding-right:21px; padding-left:21px; } .auth-intro-copy h2 { font-size:34px; } }
