/* ============ AUTH PAGES ============ */
.auth-page {
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  padding: var(--space-6); position: relative; overflow: hidden;
  background: var(--bg-base);
}
.auth-bg {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse at 20% 50%, rgba(99,102,241,0.25) 0%, transparent 60%),
              radial-gradient(ellipse at 80% 20%, rgba(139,92,246,0.2) 0%, transparent 50%),
              radial-gradient(ellipse at 60% 80%, rgba(6,182,212,0.12) 0%, transparent 50%);
}
.auth-bg-grid {
  position: absolute; inset: 0;
  background-image: linear-gradient(rgba(99,102,241,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(99,102,241,0.04) 1px, transparent 1px);
  background-size: 48px 48px; pointer-events: none;
}
.auth-card {
  background: var(--bg-card); border: 1px solid var(--border-default);
  border-radius: var(--radius-2xl); padding: var(--space-10) var(--space-10);
  width: 100%; max-width: 460px; position: relative;
  box-shadow: var(--shadow-xl);
  animation: authIn 0.5s var(--transition-spring);
}
@keyframes authIn { from { opacity: 0; transform: translateY(24px) scale(0.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
.auth-logo {
  display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-8);
}
.auth-logo-icon {
  width: 44px; height: 44px; background: var(--gradient-brand);
  border-radius: var(--radius-lg); display: flex; align-items: center; justify-content: center;
  font-size: 22px; box-shadow: var(--shadow-brand);
}
.auth-logo-name { font-size: var(--text-2xl); font-weight: 800; background: var(--gradient-brand); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.auth-title { font-size: var(--text-2xl); font-weight: 800; color: var(--text-primary); margin-bottom: var(--space-2); }
.auth-subtitle { font-size: var(--text-sm); color: var(--text-muted); margin-bottom: var(--space-8); }
.auth-footer { text-align: center; margin-top: var(--space-6); font-size: var(--text-sm); color: var(--text-muted); }
.auth-divider { display: flex; align-items: center; gap: var(--space-3); margin: var(--space-6) 0; }
.auth-divider-line { flex: 1; height: 1px; background: var(--border-subtle); }
.auth-divider-text { font-size: var(--text-xs); color: var(--text-muted); white-space: nowrap; }
.auth-input-group { position: relative; margin-bottom: var(--space-4); }
.auth-input-icon {
  position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
  color: var(--text-muted); font-size: 16px; pointer-events: none;
}
.auth-input-group .form-control { padding-left: 42px; }
.auth-password-toggle {
  position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
  background: none; border: none; color: var(--text-muted); cursor: pointer;
  font-size: 16px; transition: color var(--transition-fast);
}
.auth-password-toggle:hover { color: var(--text-primary); }
.auth-card .btn-primary { width: 100%; height: 48px; font-size: var(--text-base); margin-top: var(--space-2); }

/* Warehouse Registration */
.warehouse-reg-page {
  min-height: 100vh; background: var(--bg-base); display: flex; flex-direction: column;
}
.warehouse-reg-header {
  padding: var(--space-5) var(--space-8); border-bottom: 1px solid var(--border-subtle);
  display: flex; align-items: center; gap: var(--space-4);
  background: var(--bg-topbar); backdrop-filter: blur(4px);
}
.warehouse-reg-body {
  flex: 1; display: flex; align-items: center; justify-content: center;
  padding: var(--space-8) var(--space-6);
}
.warehouse-reg-card {
  background: var(--bg-card); border: 1px solid var(--border-default);
  border-radius: var(--radius-2xl); padding: var(--space-10);
  width: 100%; max-width: 680px; box-shadow: var(--shadow-xl);
  animation: authIn 0.4s var(--transition-spring);
}
.warehouse-reg-title { font-size: var(--text-2xl); font-weight: 800; margin-bottom: var(--space-2); }
.warehouse-reg-subtitle { color: var(--text-muted); font-size: var(--text-sm); margin-bottom: var(--space-8); }
