.osapps-auth-backdrop{position:fixed;inset:0;z-index:50000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);animation:osapps-auth-fade-in .18s ease-out;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}@keyframes osapps-auth-fade-in{0%{opacity:0}to{opacity:1}}@keyframes osapps-auth-slide-up{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.osapps-auth-card{position:relative;width:100%;max-width:420px;margin:16px;background:#ffffff;border-radius:20px;box-shadow:0 24px 80px rgba(0,0,0,.18),0 8px 24px rgba(0,0,0,.1);overflow:hidden;animation:osapps-auth-slide-up .22s ease-out}.osapps-auth-close{position:absolute;top:16px;right:16px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:#94a3b8;cursor:pointer;transition:background .15s ease,color .15s ease;z-index:1}.osapps-auth-close:hover{background:#f1f5f9;color:#334155}.osapps-auth-logo{display:flex;justify-content:center;padding:32px 24px 0}.osapps-auth-logo-text{font-size:22px;font-weight:700;color:#0f172a;letter-spacing:-.3px}.osapps-auth-body{padding:20px 32px 32px}.osapps-auth-title{font-size:20px;font-weight:600;color:#0f172a;margin:0 0 4px;text-align:center}.osapps-auth-subtitle{font-size:14px;color:#64748b;margin:0 0 20px;text-align:center;line-height:1.5}.osapps-auth-success{border-radius:10px;background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.osapps-auth-error,.osapps-auth-success{padding:10px 14px;font-size:13px;margin-bottom:16px;line-height:1.5}.osapps-auth-error{border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.osapps-auth-label{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:6px;margin-top:14px}.osapps-auth-label:first-of-type{margin-top:0}.osapps-auth-input{display:block;width:100%;height:44px;padding:0 14px;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;color:#0f172a;font-size:15px;font-family:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box}.osapps-auth-input:focus{border-color:#94a3b8;box-shadow:0 0 0 3px rgba(148,163,184,.15);background:#ffffff}.osapps-auth-input::-moz-placeholder{color:#94a3b8}.osapps-auth-input::placeholder{color:#94a3b8}.osapps-auth-password-wrap{position:relative}.osapps-auth-input-pw{padding-right:48px}.osapps-auth-pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:none;background:transparent;color:#94a3b8;cursor:pointer;transition:color .15s ease}.osapps-auth-pw-toggle:hover{color:#475569}.osapps-auth-forgot{margin-top:8px;text-align:right}.osapps-auth-forgot button{background:none;border:none;color:#64748b;font-size:13px;font-family:inherit;cursor:pointer;padding:0;transition:color .15s ease}.osapps-auth-forgot button:hover{color:#0f172a}.osapps-auth-submit{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:44px;margin-top:20px;border-radius:10px;border:none;background:var(--osapps-auth-accent,#0f172a);color:#ffffff;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .15s ease,box-shadow .15s ease}.osapps-auth-submit:hover{opacity:.9;box-shadow:0 2px 8px rgba(0,0,0,.15)}.osapps-auth-submit:disabled{opacity:.6;cursor:not-allowed}.osapps-auth-spinner{animation:osapps-auth-spin .8s linear infinite}@keyframes osapps-auth-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.osapps-auth-toggle{margin-top:16px;text-align:center;font-size:14px;color:#64748b}.osapps-auth-toggle button{background:none;border:none;color:#0f172a;font-weight:600;font-size:14px;font-family:inherit;cursor:pointer;padding:0;transition:color .15s ease}.osapps-auth-toggle button:hover{color:#334155;text-decoration:underline}@media (max-width:480px){.osapps-auth-card{max-width:none;margin:8px;border-radius:16px}.osapps-auth-body{padding:16px 20px 24px}}