:root {
  --bg: #000000; --surface: #161615; --accent: #81E77A;
  --text: #FFFFFF; --muted: #CFCFCF; --danger: #FB5058;
  --font: 'Space Grotesk', system-ui, sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--text); font-family: var(--font);
  display: flex; justify-content: center; padding: 14px 14px; min-height: 100vh;
  background: #000 url('/brand/fondo-lineas.png') center top / cover no-repeat fixed;
  -webkit-font-smoothing: antialiased; }
.card { width: 100%; max-width: 440px; background: rgba(18,18,17,.92);
  border: 1px solid #2a2a2a; border-radius: 18px; padding: 18px 20px 22px;
  box-shadow: 0 20px 60px rgba(0,0,0,.6); align-self: flex-start;
  backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }
.logo { display: block; width: 150px; height: 48px; object-fit: cover;
  margin: 0 auto 6px; }
h1 { font-size: 1.35rem; text-align: center; margin: 0 0 4px; letter-spacing: -.01em; }
.lead { text-align: center; color: var(--muted); font-size: .8rem;
  margin: 0 0 16px; letter-spacing: .04em; text-transform: uppercase; }
form { display: flex; flex-direction: column; gap: 14px; }
.row { display: flex; gap: 12px; }
.row label { flex: 1; }
label { display: flex; flex-direction: column; gap: 6px; font-size: .85rem; color: var(--muted); }
input, select { background: #0d0d0d; border: 1px solid #333; color: var(--text);
  padding: 12px; border-radius: 10px; font-size: 1rem; font-family: var(--font);
  width: 100%; transition: border-color .15s, outline-color .15s; }
input::placeholder { color: #666; }
input:focus, select:focus { outline: 2px solid var(--accent); border-color: var(--accent); }
.check { flex-direction: row; align-items: center; gap: 8px; color: var(--text); font-size: .9rem; }
.check input { width: auto; accent-color: var(--accent); }
button { margin-top: 8px; background: var(--accent); color: #000; border: none;
  padding: 15px; border-radius: 12px; font-size: 1.05rem; font-weight: 700; cursor: pointer;
  transition: opacity .15s, transform .05s; }
button:active { transform: scale(.99); }
button:disabled { opacity: .6; cursor: default; }
.result { margin-top: 18px; padding: 16px; border-radius: 12px; text-align: center; line-height: 1.5; }
.result.ok { border: 1px solid var(--accent); background: rgba(129,231,122,.1); }
.result.pend { border: 1px solid var(--danger); background: rgba(251,80,88,.08); }
.result a { display: inline-block; margin-top: 12px; background: #25D366; color: #000;
  padding: 12px 18px; border-radius: 10px; font-weight: 700; text-decoration: none; }
.hidden { display: none; }
