/* extra.css — phần bổ sung ngoài design: đăng nhập, màn tải, toàn trang */
html, body { margin: 0; height: 100%; background: var(--bg, oklch(0.985 0.008 95)); }
body { font-family: 'Be Vietnam Pro', -apple-system, system-ui, sans-serif; color: var(--ink-900); -webkit-font-smoothing: antialiased; }
#root, .wa-app { height: 100vh; }

.wa-login { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; }
.wa-login-card { background: var(--surface); border: 1px solid var(--ink-100); border-radius: var(--r-xl);
  box-shadow: var(--sh-2); width: 380px; padding: 38px 36px; text-align: center; }
.wa-login-card h1 { font-size: 21px; margin: 16px 0 6px; letter-spacing: -0.3px; }
.wa-login-card h1 em { font-style: normal; color: var(--green-600); }
.wa-login-card p { color: var(--ink-500); font-size: 13.5px; margin: 0 0 20px; }
.wa-login-card .wa-field { text-align: left; }
.wa-login-err { color: var(--coral-700); font-size: 12.5px; margin-top: 10px; min-height: 18px; }
.wa-login-foot { margin-top: 14px; font-size: 12.5px; color: var(--ink-500); }
.wa-login-foot a { color: var(--green-700); font-weight: 600; }

.wa-boot { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 14px; color: var(--ink-500); font-size: 14.5px; font-family: 'Be Vietnam Pro', sans-serif; }
.wa-boot-leaf { font-size: 40px; animation: dt-pulse 1.6s infinite; }
@keyframes dt-pulse { 0%,100% { opacity: 1 } 50% { opacity: .45 } }

/* trang trí không được nuốt click (bug Playwright bắt được) */
.wa-hero-bub { pointer-events: none; }
.wa-hero > * { position: relative; }
