@charset "UTF-8";:root{--bg-dark: #020617;--bg-card: #0f172a;--bg-element: #1e293b;--bg-input: #050b18;--surface-2: #0b0f1a;--border-color: #334155;--border-soft: #1e293b;--text-main: #f1f5f9;--text-bright: #e2e8f0;--text-muted: #94a3b8;--placeholder: #475569;--accent: #d946ef;--accent-gradient: linear-gradient(135deg, #d946ef 0%, #9333ea 100%);--accent-glow: rgba(217, 70, 239, .15);--success: #10b981;--danger: #f43f5e;--warning: #f59e0b;--info: #38bdf8;--warning-bg: rgba(234, 179, 8, .1);--warning-text: #eab308;--in-processing-bg: rgba(255, 0, 242, .1);--in-processing-text: #FF00F2;--table-head-bg: rgba(30, 41, 59, .5);--row-hover: rgba(51, 65, 85, .3);--row-border: rgba(51, 65, 85, .5);--overlay: rgba(2, 6, 23, .7);--header-bg: rgba(15, 23, 42, .85);--shadow: rgba(0, 0, 0, .3);--shadow-strong: rgba(0, 0, 0, .5);--sidebar-bg: #0b0f1a;--sidebar-border: rgba(255, 255, 255, .08);--hairline: rgba(255, 255, 255, .06);--surface-raise: rgba(255, 255, 255, .03);--overlay-2: rgba(0, 0, 0, .2);--radius-card: 12px;--radius-input: 10px;color-scheme:dark}html.light{--bg-dark: #f1f5f9;--bg-card: #ffffff;--bg-element: #f1f5f9;--bg-input: #f8fafc;--surface-2: #ffffff;--border-color: #e2e8f0;--border-soft: #eef2f7;--text-main: #0f172a;--text-bright: #1e293b;--text-muted: #64748b;--placeholder: #94a3b8;--accent-glow: rgba(217, 70, 239, .18);--warning-bg: rgba(234, 179, 8, .12);--warning-text: #b45309;--in-processing-bg: rgba(217, 70, 239, .1);--in-processing-text: #c026d3;--table-head-bg: #f1f5f9;--row-hover: rgba(15, 23, 42, .04);--row-border: rgba(15, 23, 42, .08);--overlay: rgba(15, 23, 42, .45);--header-bg: rgba(255, 255, 255, .75);--shadow: rgba(15, 23, 42, .08);--shadow-strong: rgba(15, 23, 42, .15);--sidebar-bg: #ffffff;--sidebar-border: rgba(15, 23, 42, .1);--hairline: rgba(15, 23, 42, .08);--surface-raise: rgba(15, 23, 42, .03);--overlay-2: rgba(15, 23, 42, .04);color-scheme:light}.body_login{background-color:var(--bg-dark);font-family:Inter,system-ui,sans-serif;color:var(--text-main);min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0;position:relative;overflow:hidden}.body_login:before{content:"";position:absolute;top:-10%;left:50%;transform:translate(-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(217,70,239,.08) 0%,transparent 70%);z-index:-1;pointer-events:none}.login_container{width:100%;padding:1rem;display:flex;justify-content:center;align-items:center;min-height:100dvh}.login_bereich{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:2.5rem;width:100%;max-width:450px;box-shadow:0 25px 50px -12px var(--shadow-strong);position:relative;overflow:hidden}.login_bereich:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent-gradient)}.logo{display:flex;justify-content:center;margin-bottom:2rem}.logo .picture{height:60px;width:auto;object-fit:contain;filter:drop-shadow(0 0 10px rgba(217,70,239,.3))}.login form{display:flex;flex-direction:column;gap:1.5rem}.form__group.field{display:flex;flex-direction:column-reverse;position:relative}.form__field{width:100%;background-color:var(--bg-input);border:1px solid var(--border-color);border-radius:8px;padding:.8rem 1rem;padding-right:45px;font-size:1rem;color:var(--text-main);transition:all .2s ease;height:48px}.form__field::placeholder{color:var(--text-muted);opacity:.5;font-size:.9rem}.form__field:focus{outline:none;border-color:var(--accent);background-color:var(--bg-card);box-shadow:0 0 0 1px var(--accent),0 0 15px var(--accent-glow)}.form__field.is-invalid{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.form__label{font-size:.75rem;text-transform:uppercase;font-weight:700;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.4rem;display:block;cursor:pointer;transition:color .2s}.form__field:focus+.form__label,.form__field:focus~.form__label{color:var(--accent)}.password-toggle-icon{position:absolute;right:15px;bottom:14px;top:auto;cursor:pointer;color:var(--text-muted);transition:all .3s ease;z-index:10;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.password-toggle-icon:hover{color:var(--accent);transform:scale(1.1)}.password-toggle-icon svg{pointer-events:none;width:20px;height:20px}.mt-2,.error_messages{color:var(--danger);font-size:.8rem;margin-top:.5rem;list-style:none;padding:0}.submit{margin-top:1rem;display:flex;flex-direction:column;gap:1.5rem}.pwreset{color:var(--text-muted);font-size:.9rem;text-align:right;text-decoration:none;transition:color .2s;width:fit-content;align-self:flex-end}.pwreset:hover{color:var(--accent);text-decoration:underline}.loginbutton{background:var(--accent-gradient);color:#fff;border:none;padding:.8rem 2rem;height:50px;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:8px;width:100%;cursor:pointer;box-shadow:0 4px 15px var(--accent-glow);transition:all .3s ease;display:flex;align-items:center;justify-content:center}.loginbutton:hover{box-shadow:0 6px 25px #d946ef66;transform:translateY(-2px);filter:brightness(1.1)}.loginbutton:active{transform:translateY(0)}@media (max-width: 480px){.login_container{padding:0;min-height:100dvh}.login_bereich{padding:2rem 1.5rem;border-radius:0;border:none;height:100dvh;max-width:100%;display:flex;flex-direction:column;justify-content:center}.logo{margin-bottom:1.5rem}.logo .picture{height:50px}.loginbutton{height:45px;font-size:.95rem}}.passkey-login-block{margin-top:1.5rem}.passkey-divider{display:flex;align-items:center;text-align:center;color:var(--text-muted);font-size:.8rem;margin:1rem 0}.passkey-divider:before,.passkey-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.passkey-divider span{padding:0 .75rem}.passkey-login-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.8rem 1rem;background:transparent;border:1px solid var(--accent);border-radius:10px;color:var(--accent);font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .2s,color .2s,box-shadow .2s}.passkey-login-btn:hover{background:var(--accent);color:#fff;box-shadow:0 0 18px var(--accent-glow)}.passkey-login-btn:disabled{opacity:.6;cursor:default}.passkey-login-btn svg{flex-shrink:0}.passkey-error{background:#f43f5e1f;border:1px solid rgba(244,63,94,.3);color:var(--danger);padding:.6rem .8rem;border-radius:8px;font-size:.85rem;margin-bottom:.75rem;text-align:center}.twofactor-intro{text-align:center;margin-bottom:1.5rem}.twofactor-intro h2{color:var(--text-main);font-size:1.35rem;margin:0 0 .5rem}.twofactor-intro .twofactor-hint{color:var(--text-muted);font-size:.88rem;margin:0}.twofactor-cancel{text-align:center;margin-top:1.25rem}.twofactor-cancel-btn{background:none;border:none;color:var(--text-muted);font-size:.82rem;cursor:pointer;text-decoration:none}.twofactor-cancel-btn:hover{color:var(--accent);text-decoration:underline}.gc-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10010;display:none;align-items:center;justify-content:center;padding:1.5rem}.gc-modal.open{display:flex}.gc-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--bg-dark) 72%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.gc-card{position:relative;width:min(440px,100%);text-align:center;padding:1.9rem 1.6rem 1.5rem;border-radius:18px;background:color-mix(in srgb,var(--bg-card) 78%,transparent);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid color-mix(in srgb,#fff 12%,transparent);box-shadow:0 30px 70px -20px #000000b3,inset 0 1px color-mix(in srgb,#fff 20%,transparent);animation:gcIn .28s cubic-bezier(.2,.8,.2,1)}.gc-card h3{margin:0 0 .5rem;color:var(--text-main);font-size:1.2rem}.gc-card p{margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.5;white-space:pre-line}.gc-icon{width:56px;height:56px;border-radius:16px;margin:0 auto 1rem;display:inline-flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff}.gc-icon.danger{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 10px 24px -8px #ef444499}.gc-icon.safe{background:var(--accent-gradient, linear-gradient(135deg, #d946ef, #7c3aed));box-shadow:0 10px 24px -8px var(--accent-glow, rgba(217, 70, 239, .6))}.gc-icon.info{background:linear-gradient(135deg,#38bdf8,#0ea5e9);box-shadow:0 10px 24px -8px #38bdf880}.gc-actions{display:flex;gap:.75rem;margin-top:1.5rem}.gc-actions .gc-btn{flex:1}.gc-btn{padding:.7rem 1rem;border-radius:10px;font-size:.9rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:filter .15s,background-color .15s,transform .1s}.gc-btn:active{transform:scale(.97)}.gc-cancel{background:transparent;border-color:var(--border-color);color:var(--text-main)}.gc-cancel:hover{background:var(--row-hover)}.gc-confirm{color:#fff}.gc-confirm.danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.gc-confirm.danger:hover{filter:brightness(1.08)}.gc-confirm.safe{background:var(--accent-gradient, linear-gradient(135deg, #d946ef, #7c3aed))}.gc-confirm.safe:hover{filter:brightness(1.08)}@keyframes gcIn{0%{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:none}}
