:root,[data-theme]{--admin-bg: #08090c;--admin-card: #16181e;--admin-border: rgba(255, 255, 255, .08);--admin-text: #f0f2f8;--admin-text-secondary: #8891a5;--admin-accent: #3b82f6;--admin-error: #f87171;--admin-success: #4ade80}body{background:var(--admin-bg)!important}.admin-shell{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top) + 4rem) max(1rem,env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 2rem) max(1rem,env(safe-area-inset-left));background:radial-gradient(ellipse at 50% 0%,rgba(59,130,246,.1) 0%,transparent 50%),var(--admin-bg)}.admin-card{max-width:420px;width:100%;padding:2rem;border:1px solid var(--admin-border);background:var(--admin-card);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:16px;box-shadow:0 20px 60px #0009}.admin-card h1{font-family:Sora,sans-serif;font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem;color:var(--admin-text)}.admin-card .lead{color:var(--admin-text-secondary);font-size:.92rem;margin:0 0 1.5rem;line-height:1.55}.admin-form{display:flex;flex-direction:column;gap:1rem}.admin-field{display:flex;flex-direction:column;gap:.4rem}.admin-field label{font-family:Sora,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--admin-text-secondary)}.admin-field input{padding:.85rem 1rem;border-radius:10px;border:1px solid var(--admin-border);background:#ffffff08;color:var(--admin-text);font-family:inherit;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.admin-field input:focus{outline:none;border-color:var(--admin-accent);box-shadow:0 0 0 3px #3b82f626}.admin-field input.totp{font-family:Menlo,monospace;font-size:1.5rem;text-align:center;letter-spacing:.6rem}.admin-remember{display:flex;gap:.7rem;align-items:flex-start;padding:.8rem .9rem;border-radius:10px;border:1px solid var(--admin-border);background:#ffffff05;cursor:pointer;font-size:.88rem;color:var(--admin-text);line-height:1.4}.admin-remember input{margin-top:.15rem;width:1.05rem;height:1.05rem;accent-color:var(--admin-accent);flex:none}.admin-remember span{display:flex;flex-direction:column;gap:.2rem}.admin-remember small{color:var(--admin-text-secondary);font-size:.76rem}.admin-btn{padding:.85rem 1.5rem;border-radius:999px;border:none;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.admin-btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px #3b82f64d}.admin-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.admin-error{padding:.7rem 1rem;border-radius:8px;background:#ef444414;border:1px solid rgba(239,68,68,.25);color:var(--admin-error);font-size:.85rem}.admin-success{padding:.7rem 1rem;border-radius:8px;background:#22c55e14;border:1px solid rgba(34,197,94,.25);color:var(--admin-success);font-size:.85rem}.admin-meta{margin-top:1.25rem;text-align:center;font-size:.78rem;color:var(--admin-text-secondary)}.admin-meta a{color:var(--admin-accent)}.admin-wordmark{font-family:Sora,sans-serif;font-weight:800;letter-spacing:-.04em;font-size:1.1rem;color:var(--admin-text);text-align:center;margin-bottom:1.5rem}.admin-wordmark span{color:var(--admin-accent)}.admin-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;text-decoration:none}.admin-lang{position:absolute;top:calc(env(safe-area-inset-top) + 1rem);right:max(1rem,env(safe-area-inset-right));display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:#ffffff0f;border:1px solid var(--admin-border)}.admin-lang button{appearance:none;border:0;background:none;color:var(--admin-text-secondary);font:inherit;font-size:.78rem;font-weight:700;letter-spacing:.04em;min-width:44px;min-height:36px;border-radius:8px;cursor:pointer}.admin-lang button[aria-pressed=true]{background:#ffffff1f;color:var(--admin-text)}.admin-lang button:focus-visible{outline:2px solid var(--admin-accent);outline-offset:1px}@media(max-width:420px){.admin-card{padding:1.5rem 1.25rem;border-radius:14px}.admin-card h1{font-size:1.5rem}}
