.admin-auth{isolation:isolate;min-height:100dvh;color:var(--foreground);background:#0b1624 url(/images/admin-login-world-map.webp) 50%/contain no-repeat;position:relative}.admin-auth:before{content:"";z-index:-1;background:linear-gradient(90deg,#10243845 0%,#10243808 45%,#10243818 100%),linear-gradient(#0c203800 45%,#0c2038de 100%);position:absolute;inset:0}.dark .admin-auth:before{background:linear-gradient(90deg,#10172266,#10172220),linear-gradient(#0c203800 40%,#0c2038ed 100%)}.admin-auth-tools{align-items:center;gap:10px;display:flex;position:absolute;top:24px;right:32px}.admin-auth-tools .admin-theme-toggle{background:var(--admin-surface);width:36px;height:36px}.admin-auth-preview-label{background:var(--admin-surface);color:var(--muted-foreground);border:1px solid var(--border);border-radius:6px;padding:6px 9px;font-size:11px}.admin-auth-main{grid-template-columns:440px minmax(0,1fr);align-items:center;gap:clamp(48px,7vw,112px);width:100%;max-width:1600px;min-height:100dvh;margin:0 auto;padding:64px clamp(32px,5vw,80px);display:grid}.admin-auth-panel{border:1px solid var(--border);background:var(--admin-surface);border-radius:16px;min-width:0;padding:32px;box-shadow:0 16px 64px #0b18252b}.admin-auth-brand{justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;display:flex}.dark .admin-auth-brand img{filter:brightness(1.5)}.admin-auth-panel h1{font:700 25px/1.3 "Manrope",var(--font-sans);letter-spacing:-.6px;outline:none}.admin-auth-description{color:var(--muted-foreground);overflow-wrap:anywhere;margin-top:8px;font-size:13px;line-height:1.8}.admin-auth-description strong{color:var(--foreground);font-weight:500}.admin-auth-form{gap:20px;margin-top:24px;display:grid}.admin-auth-field{gap:8px;display:grid}.admin-auth-field label{font-size:12px;font-weight:500}.admin-auth-field input{border-color:var(--border);background:var(--admin-surface);height:44px;color:var(--foreground);box-shadow:none;font-size:14px}.admin-auth-field input[aria-invalid=true]{border-color:var(--destructive)}.admin-auth-label-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-auth-label-row>button{color:var(--primary);border-radius:3px;font-size:11px}.admin-auth-label-row>button:hover,.admin-auth-back:hover,.admin-auth-preview-link:hover{text-underline-offset:4px;text-decoration:underline}.admin-auth-password{position:relative}.admin-auth-password input{padding-right:48px}.admin-auth-password>button{width:44px;height:42px;color:var(--muted-foreground);border-radius:6px;place-items:center;display:grid;position:absolute;top:1px;right:1px}.admin-auth-password>button:hover{color:var(--foreground);background:var(--muted)}.admin-auth-submit{justify-content:center;width:100%;min-height:44px;padding:0 16px}.admin-auth-error{color:var(--destructive);font-size:12px;line-height:1.6}.admin-auth-hint{color:var(--muted-foreground);font-size:11px;line-height:1.7}.admin-auth-field .admin-auth-code{letter-spacing:.4em;text-align:center;height:52px;padding-left:calc(12px + .4em);font:500 24px/1.4 IBM Plex Mono,monospace}.admin-auth-notice{border:1px solid var(--border);color:var(--primary);background:var(--secondary);border-radius:8px;align-items:flex-start;gap:8px;padding:12px;font-size:12px;line-height:1.7;display:flex}.admin-auth-notice svg,.admin-auth-disclosure svg{flex-shrink:0;margin-top:2px}.admin-auth-back{min-height:44px;color:var(--primary);border-radius:4px;justify-content:center;align-items:center;gap:8px;margin:12px auto 0;font-size:12px;display:flex}.admin-auth-help{text-align:center;color:var(--muted-foreground);margin-top:8px;font-size:11px;line-height:1.8}.admin-auth-disclosure{color:var(--muted-foreground);border-top:1px solid var(--border);align-items:flex-start;gap:8px;margin-top:24px;padding-top:18px;font-size:11px;line-height:1.8;display:flex}.admin-auth-preview-link{min-height:44px;color:var(--primary);border-radius:4px;justify-content:center;align-items:center;gap:8px;margin-top:4px;font-size:12px;display:flex}.admin-auth-contact{color:var(--muted-foreground);text-align:center;margin-top:8px;font-size:10px;line-height:1.8}.admin-auth-intro{color:#fff;text-shadow:0 2px 16px #0c203840;align-self:end;max-width:580px;padding-bottom:28px}.admin-auth-eyebrow{letter-spacing:.14em;color:#d8edc7;font-size:10px;font-weight:600}.admin-auth-intro h2{font:700 clamp(28px,2.8vw,40px)/1.3 "Manrope",var(--font-sans);letter-spacing:-1px;margin-top:16px}.admin-auth-intro>p{color:#e5edf5;max-width:420px;margin-top:16px;font-size:13px;line-height:1.8}@media (min-width:801px) and (max-height:800px){.admin-auth-main{padding-block:40px}}@media (max-width:1000px){.admin-auth-main{grid-template-columns:400px minmax(0,1fr);gap:40px;padding:72px 32px 40px}.admin-auth-panel{padding:28px}.admin-auth-intro h2{font-size:28px}}@media (min-width:801px) and (max-width:1000px) and (max-height:800px){.admin-auth-main{padding-block:40px}}@media (max-width:800px){.admin-auth-main{grid-template-columns:minmax(0,440px);justify-content:center;gap:0;padding:80px 24px 32px}.admin-auth-intro{display:none}.admin-auth-tools{top:20px;right:24px}.admin-auth{background-position:top}}@media (max-width:480px){.admin-auth-main{padding:76px 16px 24px}.admin-auth-tools{top:16px;right:16px}.admin-auth-panel{border-radius:12px;padding:24px}.admin-auth-panel h1{font-size:24px}.admin-auth-field input{font-size:16px}.admin-auth-brand{margin-bottom:28px}.admin-auth-label-row>button{min-height:32px}}@media (max-width:360px){.admin-auth-panel{padding:20px}}.admin-auth-qr{justify-items:center;gap:16px;display:grid}.admin-auth-qr>div{background:#fff;border-radius:8px;padding:16px}.admin-auth-qr details{max-width:100%;color:var(--muted-foreground);font-size:12px}.admin-auth-qr summary{cursor:pointer;padding:4px}.admin-auth-qr code{overflow-wrap:anywhere;color:var(--foreground);margin-top:12px;display:block}.admin-auth-recovery-codes{gap:20px;margin-top:24px;display:grid}.admin-auth-recovery-codes pre{background:var(--secondary);border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;padding:16px;font:13px/1.8 monospace}.admin-auth-recovery-codes label{align-items:center;gap:8px;font-size:12px;display:flex}.admin-auth-spinner{animation:1s linear infinite admin-auth-spin}@keyframes admin-auth-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.admin-auth-spinner{animation:none}}
