:root{
  --bg: #f6f8fc;
  --card: #ffffff;
  --text: #0f172a;
  --muted: #64748b;
  --border: rgba(15, 23, 42, 0.10);
  --shadow: 0 22px 60px rgba(15, 23, 42, 0.12);
  --blue: #2563eb;
  --blue2: #1e40af;
  --danger: #ef4444;
  --ring: rgba(37, 99, 235, 0.25);
}

*{ box-sizing: border-box; }

body {
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  background:
    radial-gradient(900px 420px at 20% 10%, rgba(37, 99, 235, 0.14), transparent 60%),
    radial-gradient(700px 360px at 90% 0%, rgba(30, 64, 175, 0.10), transparent 55%),
    linear-gradient(180deg, #ffffff, var(--bg));
  color: var(--text);
  text-align: center;
  margin: 0;
  padding: 0;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* If you still use the top menu on some pages, keep it light and consistent */
.top-menu {
  background: rgba(255, 255, 255, 0.75);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(8px);
  padding: 10px 0;
  display: flex;
  justify-content: center;
  gap: 14px;
}

.top-menu button {
  background: transparent;
  border: 1px solid transparent;
  color: var(--muted);
  padding: 10px 16px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 800;
  border-radius: 999px;
}

.top-menu button.active,
.top-menu button:hover {
  color: var(--text);
  background: rgba(37, 99, 235, 0.10);
  border-color: rgba(37, 99, 235, 0.18);
}

.container {
  width: min(420px, calc(100vw - 32px));
  margin: 0 auto;
  padding: 22px;
  background: var(--card);
  border-radius: 22px;
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
}

.brand{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 12px;
  margin-bottom: 14px;
}

.brand-mark{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 1000;
  color: #fff;
  background: linear-gradient(135deg, var(--blue), var(--blue2));
  box-shadow: 0 16px 34px rgba(37, 99, 235, 0.22);
}

.brand-text{ text-align:left; }
.brand-title{ font-weight: 1000; letter-spacing: .6px; }
.brand-subtitle{ color: var(--muted); font-weight: 800; font-size: 12px; margin-top: 2px; }

.page-title{
  margin: 6px 0 14px;
  font-size: 20px;
  font-weight: 1000;
  color: var(--text);
}

input, button {
  width: 100%;
  padding: 12px 14px;
  margin: 10px 0;
  border-radius: 14px;
  border: 1px solid var(--border);
  font-size: 14px;
}

input {
  background: #f8fafc;
  color: var(--text);
  font-weight: 800;
  outline: none;
}

input::placeholder{ color: #94a3b8; font-weight: 800; }

input:focus{
  background: #ffffff;
  border-color: rgba(37, 99, 235, 0.35);
  box-shadow: 0 0 0 6px var(--ring);
}

button {
  border: none;
  background: linear-gradient(90deg, var(--blue), var(--blue2));
  color: white;
  cursor: pointer;
  font-weight: 1000;
  box-shadow: 0 16px 34px rgba(37, 99, 235, 0.18);
  transition: transform .08s ease, filter .18s ease, box-shadow .18s ease;
}

button:hover {
  filter: brightness(1.03);
  box-shadow: 0 18px 40px rgba(37, 99, 235, 0.22);
}

button:active{ transform: scale(0.99); }

.helper{
  margin: 8px 0 0;
  color: var(--muted);
  font-weight: 800;
  font-size: 13px;
}

.helper a{
  color: var(--blue);
  font-weight: 1000;
  text-decoration: none;
}

.helper a:hover{ text-decoration: underline; }
