:root {
  --w-green:#00bd71;
  --w-red:#dc2626;
  --w-ink:#111827;
  --w-muted:#7b8494;
  --w-border:#e8edf3;
  --w-border-strong:#d8e0ea;
  --w-soft:#f8fafc;
  --w-shadow:0 18px 44px rgba(15,23,42,.08);
  --w-shadow-sm:0 8px 22px rgba(15,23,42,.055);
}

* {
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html,
body {
  width:100%;
  min-height:100%;
}

body {
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--w-ink);
}

.brand {
  display:flex;
  align-items:center;
  text-decoration:none;
}

.brand-logo {
  height:54px;
  width:auto;
  object-fit:contain;
}

.top-actions {
  display:flex;
  align-items:center;
  gap:10px;
}

.top-link,
.language-select {
  height:40px;
  min-width:78px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 15px;
  background:#fff;
  color:var(--w-ink);
  border:1px solid var(--w-border-strong);
  border-radius:12px;
  font-size:11px;
  font-weight:850;
  letter-spacing:.35px;
  text-transform:uppercase;
  text-decoration:none;
  box-shadow:var(--w-shadow-sm);
}

.language-select {
  cursor:pointer;
}

.btn {
  width:100%;
  min-height:44px;
  border-radius:12px;
  border:1px solid var(--w-border-strong);
  padding:0 16px;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.35px;
  cursor:pointer;
  background:#fff;
  color:var(--w-ink);
  transition:.16s ease;
}

.btn:hover {
  transform:translateY(-1px);
  box-shadow:var(--w-shadow-sm);
}

.btn.primary {
  background:linear-gradient(135deg,var(--w-green),#08a96b);
  border-color:transparent;
  color:#fff;
}

.btn.dark {
  background:#111827;
  border-color:#111827;
  color:#fff;
}

.btn.ghost {
  background:#fff;
}

.input {
  width:100%;
  height:44px;
  border:1px solid var(--w-border-strong);
  border-radius:12px;
  background:#fff;
  color:var(--w-ink);
  padding:0 13px;
  outline:none;
  font-size:14px;
  font-weight:650;
  transition:.16s ease;
}

.input:focus {
  border-color:var(--w-green);
  box-shadow:0 0 0 4px rgba(0,189,113,.10);
}

.input.mono {
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  letter-spacing:2px;
  text-align:center;
  font-weight:900;
  font-size:18px;
}

.auth-card {
  background:rgba(255,255,255,.96);
  border:1px solid var(--w-border);
  border-radius:22px;
  padding:28px;
  box-shadow:var(--w-shadow);
  width:100%;
}

.auth-head {
  margin-bottom:20px;
}

.auth-head h2 {
  font-size:22px;
  font-weight:940;
  letter-spacing:-.4px;
}

.auth-head p {
  margin-top:6px;
  color:var(--w-muted);
  font-size:13px;
  line-height:1.5;
}

.field {
  margin-bottom:14px;
  text-align:left;
}

label {
  display:block;
  font-size:10px;
  font-weight:900;
  color:#64748b;
  letter-spacing:.45px;
  text-transform:uppercase;
  margin-bottom:6px;
}

.notice {
  display:none;
  padding:11px 12px;
  border-radius:12px;
  font-size:12px;
  font-weight:800;
  margin-bottom:14px;
  border:1px solid var(--w-border);
  background:var(--w-soft);
  color:#475569;
}

.notice.is-visible {
  display:block;
}

.notice.error {
  border-color:rgba(220,38,38,.25);
  background:#fef2f2;
  color:#991b1b;
}

.notice.success {
  border-color:rgba(0,189,113,.25);
  background:#f0fdf4;
  color:#166534;
}