.login-wrapper{min-height:100vh;font-family:var(--font-body);background:radial-gradient(circle at 20% 20%,#4ade802e,#0000 24%),radial-gradient(circle at 80% 10%,#6366f133,#0000 22%),linear-gradient(135deg,#050505 0%,#0f172a 48%,#111827 100%);justify-content:center;align-items:center;padding:20px;display:flex}.login-glass-panel{-webkit-backdrop-filter:blur(16px);background:#19191e99;border:1px solid #ffffff1a;border-radius:24px;width:100%;max-width:420px;padding:40px;animation:.6s ease-out forwards fadeIn;box-shadow:0 25px 50px -12px #00000080}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:30px}.logo-placeholder{margin-bottom:10px;font-size:3rem;animation:3s ease-in-out infinite float}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.login-header h1{color:#fff;letter-spacing:1px;margin:0 0 5px;font-size:1.8rem;font-weight:800}.login-header p{color:#a0a0b0;margin:0;font-size:1rem;font-weight:500}.auth-type-toggle{justify-content:center;gap:10px;margin-bottom:20px;display:flex}.auth-type-toggle button{color:#ccc;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;padding:8px 16px;transition:all .3s}.auth-type-toggle button.active{color:#064e3b;background:#4ade80;border-color:#4ade80;font-weight:700}.input-group{margin-bottom:20px}.pin-input{color:#fff;text-align:center;letter-spacing:8px;box-sizing:border-box;background:#0006;border:2px solid #ffffff1a;border-radius:12px;outline:none;width:100%;padding:18px;font-size:1.5rem;transition:all .3s}.pin-input:focus{border-color:#4ade80;box-shadow:0 0 0 4px #4ade8033}.pin-input::placeholder{color:#666;letter-spacing:normal;font-size:1.1rem}.error-shake{animation:.4s cubic-bezier(.36,.07,.19,.97) both shake;border-color:#ef4444!important}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.error-message{color:#fca5a5;text-align:center;background:#ef44441a;border:1px solid #ef444433;border-radius:8px;margin-bottom:20px;padding:10px;font-size:.9rem}.success-message{color:#86efac;text-align:center;background:#22c55e1f;border:1px solid #22c55e59;border-radius:8px;margin-bottom:20px;padding:10px;font-size:.9rem}.error-debug-panel{background:#0f172ab3;border:1px solid #f8717166;border-radius:12px;margin-bottom:16px;padding:12px}.error-debug-header{color:#fecaca;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:.85rem;font-weight:700;display:flex}.copy-debug-btn{color:#fca5a5;cursor:pointer;background:0 0;border:1px solid #f8717180;border-radius:8px;padding:4px 8px;font-size:.75rem}.copy-debug-btn:hover{background:#f8717129}.error-debug-panel pre{white-space:pre-wrap;word-break:break-word;color:#e2e8f0;max-height:220px;margin:0;font-size:.75rem;line-height:1.4;overflow:auto}.numpad-container{grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:30px;display:grid}.numpad-btn{color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;justify-content:center;align-items:center;padding:20px 0;font-size:1.5rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.numpad-btn:hover:not(:disabled){background:#ffffff26;transform:translateY(-2px)}.numpad-btn:active:not(:disabled){background:#fff3;transform:translateY(1px)}.action-btn{color:#a0a0b0;font-size:1.3rem}.numpad-btn:disabled{opacity:.5;cursor:not-allowed}.login-submit-btn{color:#064e3b;cursor:pointer;text-transform:uppercase;letter-spacing:1px;background:#4ade80;border:none;border-radius:12px;width:100%;padding:16px;font-size:1.1rem;font-weight:800;transition:all .3s}.login-submit-btn:hover:not(:disabled){background:#22c55e;transform:translateY(-2px);box-shadow:0 10px 20px -10px #4ade8080}.login-submit-btn:active:not(:disabled){transform:translateY(1px)}.login-submit-btn:disabled{color:#71717a;cursor:not-allowed;background:#3f3f46}.back-btn{color:#a0a0b0;cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:12px;width:100%;margin-top:15px;padding:12px;font-size:1rem;transition:all .3s}.back-btn:hover{color:#fff;background:#ffffff0d}
