/* Extracted from login.html — page-specific overrides on top of base.css */

.login-wrap{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;text-align:center;}
.login-wrap .rm2-logo{margin-bottom:2.75rem;}
.btn-oauth{
  display:flex;align-items:center;justify-content:center;gap:0.85rem;
  width:280px;border:none;
  padding:0.85rem 1.5rem;font-family:var(--font);font-size:0.82rem;
  font-weight:600;letter-spacing:0.02em;cursor:pointer;transition:opacity 0.2s;
  margin-bottom:0.6rem;
}
.btn-oauth:hover{opacity:0.88;}
.btn-oauth:disabled{opacity:0.4;cursor:not-allowed;}
.btn-google{background:#fff;color:#111;}
.btn-microsoft{background:#fff;color:#5e5e5e;}
.btn-discord{background:#5865F2;color:#fff;}
.btn-github{background:#171515;color:#fff;border:1px solid #333;}
.btn-facebook{background:#1877F2;color:#fff;}
.btn-telegram{background:#2AABEE;color:#fff;}
.oauth-icon{width:18px;height:18px;flex-shrink:0;}
.btn-spinner{display:none;width:15px;height:15px;border:2px solid rgba(120,120,120,0.3);border-top-color:currentColor;border-radius:50%;animation:spin 0.7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.oauth-divider{display:flex;align-items:center;gap:0.75rem;width:280px;margin:0.5rem 0 0.9rem;}
.oauth-divider::before,.oauth-divider::after{content:'';flex:1;height:1px;background:var(--border2);}
.oauth-divider span{font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--dim);}
.email-toggle{background:none;border:none;color:var(--violet-bright);font-size:0.72rem;letter-spacing:0.03em;cursor:pointer;text-decoration:underline;text-underline-offset:3px;}
.email-toggle:hover{opacity:0.8;}
.email-form{width:280px;text-align:left;}
.email-form .field{margin-bottom:0.85rem;}
.btn-primary-full{width:100%;background:var(--violet-bright);color:#0a0a0a;border:none;padding:0.75rem 1rem;font-family:var(--font);font-size:0.82rem;font-weight:600;letter-spacing:0.02em;cursor:pointer;margin-top:0.2rem;}
.btn-primary-full:hover{opacity:0.9;}
.btn-primary-full:disabled{opacity:0.45;cursor:not-allowed;}
.email-form-links{display:flex;justify-content:space-between;margin-top:0.85rem;font-size:0.68rem;}
.email-form-links a,.email-form-links button{background:none;border:none;color:var(--muted);cursor:pointer;font-family:var(--font);font-size:0.68rem;padding:0;text-decoration:underline;text-underline-offset:2px;}
.email-form-links a:hover,.email-form-links button:hover{color:var(--violet-bright);}
.login-view{display:none;}
.login-view.active{display:flex;flex-direction:column;align-items:center;}
.status-msg{margin-top:0.9rem;font-size:0.68rem;color:var(--violet-bright);letter-spacing:0.08em;text-transform:uppercase;min-height:1em;max-width:280px;}
.status-msg.err{color:var(--danger);}
.status-msg.ok{color:#4ade80;}
.login-note{margin-top:1.6rem;font-size:0.65rem;color:var(--muted);line-height:1.65;max-width:270px;}
.fixed-footer{position:fixed;bottom:1.25rem;left:0;right:0;text-align:center;z-index:10;}
.fixed-footer p{font-size:0.6rem;color:var(--dim);letter-spacing:0.14em;text-transform:uppercase;}

/* ── DRAWER (lightweight, login-page only — always an overlay,
   never permanently pinned like the app's internal .sidebar) ── */
.login-hamburger{position:fixed;top:1.1rem;left:1.1rem;z-index:60;width:38px;height:38px;
  display:flex;align-items:center;justify-content:center;background:var(--s1);
  border:1px solid var(--border2);color:var(--text);font-size:1.05rem;cursor:pointer;}
.login-hamburger:hover{border-color:var(--violet-bright);color:var(--violet-bright);}
.login-drawer-backdrop{display:none;position:fixed;inset:0;z-index:150;background:rgba(0,0,0,0.6);}
.login-drawer-backdrop.active{display:block;}
.login-drawer{position:fixed;top:0;left:0;bottom:0;z-index:200;width:240px;
  background:var(--black);border-right:1px solid var(--border);
  transform:translateX(-100%);transition:transform 0.25s ease;
  display:flex;flex-direction:column;padding:1.25rem 1.1rem;}
.login-drawer.open{transform:translateX(0);box-shadow:24px 0 48px rgba(0,0,0,0.55);}
.login-drawer .rm2-logo{margin-bottom:1.75rem;}
.login-drawer-close{align-self:flex-end;background:none;border:none;color:var(--muted);
  font-size:1.2rem;cursor:pointer;margin-bottom:0.5rem;line-height:1;}
.login-drawer-close:hover{color:var(--violet-bright);}
.login-drawer-links{display:flex;flex-direction:column;gap:0.15rem;}
.login-drawer-links a{display:block;padding:0.65rem 0.4rem;color:var(--muted);
  text-decoration:none;font-size:0.8rem;letter-spacing:0.02em;border-left:2px solid transparent;transition:all 0.15s;}
.login-drawer-links a:hover{color:var(--white);border-left-color:var(--violet-bright);background:rgba(255,255,255,0.02);}
.login-drawer-foot{margin-top:auto;font-size:0.62rem;color:var(--dim);letter-spacing:0.08em;text-transform:uppercase;padding-top:1rem;border-top:1px solid var(--border);}
