.auth-modal-backdrop{position:fixed;inset:0;z-index:1000;background:transparent}.auth-modal{position:fixed;background:var(--bg);color:var(--text);width:360px;border-radius:var(--radius-md);border:1px solid var(--border-soft);box-shadow:0 8px 40px rgba(0,0,0,.6);overflow:hidden;animation:auth-modal-in var(--dur-transition) var(--ease-out-expo) both;top:var(--space-6);right:var(--space-6)}@keyframes auth-modal-in{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width:1023px){.auth-modal-backdrop{inset:0;display:flex;align-items:flex-end;justify-content:stretch;background:rgba(0,0,0,.5)}.auth-modal{position:relative;top:auto;right:auto;width:100%;max-width:none;border-radius:var(--radius-md) var(--radius-md) 0 0;animation:auth-modal-slide-up var(--dur-transition) var(--ease-out-expo) both}@keyframes auth-modal-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.auth-modal-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-soft)}.auth-modal-header-title{flex:1 1;font-size:14px;font-weight:500;color:var(--text-muted)}.auth-modal-close{background:transparent;border:0;color:var(--text-muted);font-size:22px;line-height:1;cursor:pointer;padding:2px 4px;margin:-2px -4px;transition:color var(--dur-micro) var(--ease-in-out-quad)}.auth-modal-close:hover{color:var(--text)}.auth-modal-body{padding:var(--space-5)}.auth-modal-headline{font-size:20px;font-weight:600;line-height:1.3;margin:0 0 var(--space-2);color:var(--text)}.auth-modal-sub{font-size:14px;line-height:1.55;color:var(--text-muted);margin:0 0 var(--space-5)}.auth-modal-cta{display:block;width:100%;padding:11px var(--space-4);background:#3B82F6;color:#fff;border:0;border-radius:var(--radius-sm);font-size:15px;font-weight:600;cursor:pointer;transition:opacity var(--dur-micro) var(--ease-in-out-quad)}.auth-modal-cta:hover{opacity:.88}.auth-modal-legal{font-size:11px;line-height:1.5;color:var(--text-dim);text-align:center;margin:var(--space-3) 0 0}.auth-modal-legal a{color:var(--text-muted);text-decoration:underline}.auth-modal-legal a:hover{color:var(--text)}@media (max-width:1023px){.auth-modal-body{padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom, 0px))}}@media (max-width:480px){.auth-modal-headline{font-size:18px}}@media (prefers-reduced-motion:reduce){.auth-modal{animation:none}}