Ficha privada de invitados y condiciones de participación

- /invitados.html (noindex) con enlace personal ?k=<código>; las respuestas
  llegan por correo desde contacto@ en lugar de Google Forms.
- server.py: /api/invitados/check y /api/invitados (códigos en INVITE_TOKENS).
- terminos.html: sección 5 con las condiciones de participación.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TSyR5Zw5eGj6oPTRVjvP1b
This commit is contained in:
Alex
2026-10-20 23:50:53 +02:00
co-authored by Claude Sonnet 5.5
parent f0682d7de8
commit da8cc01fad
10 changed files with 589 additions and 7 deletions
+9
View File
@@ -239,3 +239,12 @@ footer { margin-top: 40px; border-top: 1px solid var(--line); background: var(--
.views b { font-weight: 700; }
.scard .views { left: 6px; bottom: 6px; padding: 2px 9px 2px 7px; font-size: .72rem; }
.feat .views { left: 14px; bottom: 14px; font-size: .9rem; padding: 4px 13px 4px 11px; }
/* ficha del invitado */
[hidden] { display: none !important; }
.guest .sec { display: grid; gap: 18px; margin: 0 0 22px; padding: 20px 22px 24px; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(135deg, var(--card), var(--bg2)); }
.guest .sec legend { padding: 0 10px; font-weight: 700; font-size: 1.1rem; color: var(--neon); }
.guest .form small { display: block; margin-top: 2px; color: var(--muted); font-weight: 400; }
.guest .note, .note { margin: 0; color: var(--muted); font-size: .92rem; }
.guest .note a { color: var(--neon); text-decoration: underline; text-underline-offset: 3px; }
.req { color: var(--amber); font-weight: 700; }