:root{color-scheme:light;--bg:#f5f7fb;--card:#fff;--text:#18233a;--muted:#61708a;--brand:#2d4f9e;--danger:#a12828;--border:#d8deea}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:linear-gradient(hsla(0,0%,100%,.7),hsla(0,0%,100%,.7)),url(/fondo.jpg);background-size:cover;background-position:50%;background-attachment:fixed}a{color:var(--brand)}main{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px}.card{width:100%;max-width:760px;background:var(--card);border:1px solid var(--border);border-radius:18px;padding:28px;box-shadow:0 20px 55px rgba(25,40,75,.08)}h1{margin:0 0 8px;font-size:32px}p{color:var(--muted);line-height:1.5}textarea{min-height:220px;resize:vertical;padding:14px;font-size:16px}input,textarea{width:100%;border:1px solid var(--border);border-radius:12px}input{padding:13px;font-size:15px}button{border:0;border-radius:12px;background:var(--brand);color:#fff;padding:13px 18px;font-weight:700;cursor:pointer}button.secondary{background:#edf1ff;color:var(--brand)}button:disabled{opacity:.6;cursor:not-allowed}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.result{margin-top:20px;padding:16px;border:1px solid var(--border);border-radius:12px;background:#f9fbff}.error{color:var(--danger);font-weight:700}.note{white-space:pre-wrap;padding:16px;background:#f9fbff;border:1px solid var(--border);border-radius:12px}.small{font-size:13px;color:var(--muted)}.mailButton{border-radius:12px;background:#edf1ff;color:var(--brand);padding:13px 18px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center}.logo{width:180px;height:auto;display:block;margin:0 auto 24px;object-fit:contain}.warning{background:#fff7df;border:1px solid #f0d98c;color:#735b00;padding:12px 14px;border-radius:12px;font-weight:600}@media (prefers-color-scheme:dark){:root{--bg:#081120;--card:#101b2e;--text:#f4f7fb;--muted:#b7c2d6;--border:#2b3b58}body{background:linear-gradient(rgba(8,17,32,.78),rgba(8,17,32,.78)),url(/fondo.jpg);background-size:cover;background-position:50%;background-attachment:fixed}.note,.result,input,textarea{background:#0c1728}input,textarea{color:#f4f7fb}}.qrBox{margin-top:16px}.qrBox img{width:160px;height:160px;border-radius:12px;background:#fff;padding:8px}