:root{--bg:#f4f5f7;--card:#fff;--ink:#1a1d24;--muted:#5b6270;--line:#e3e6eb;--brand:#1f6feb;--brand-ink:#fff;--ok:#1a7f52;--warn-bg:#fff6e6;--warn-ink:#8a5a00;--warn-line:#f0d9a8;--radius:12px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}.wrap{max-width:560px;margin:0 auto;padding:24px 16px 64px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-top:16px;padding:20px}.school{color:var(--muted);margin:0 0 4px;font-size:14px}h1{margin:0 0 2px;font-size:20px}.rows{border-top:1px solid var(--line);margin:12px 0}.row{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.row .name{color:var(--muted)}.total{justify-content:space-between;padding:12px 0 4px;font-size:18px;font-weight:600;display:flex}label{color:var(--muted);margin:14px 0 6px;font-size:14px;display:block}input[type=text],input[type=email],input[type=tel]{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:11px 12px;font-size:16px}button{background:var(--brand);width:100%;color:var(--brand-ink);cursor:pointer;border:0;border-radius:8px;margin-top:16px;padding:13px;font-size:16px;font-weight:600}button:disabled{cursor:not-allowed;background:#c7ccd4}.note{color:var(--muted);margin-top:10px;font-size:13px}.banner{border-radius:8px;margin-top:12px;padding:12px 14px;font-size:14px}.banner.warn{background:var(--warn-bg);color:var(--warn-ink);border:1px solid var(--warn-line)}.banner.ok{color:var(--ok);background:#eaf7f0;border:1px solid #c6e8d6}.banner.block{color:#a02020;background:#fdecec;border:1px solid #f3c6c6}.suggestions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.chip{border:1px solid var(--brand);color:var(--brand);cursor:pointer;background:#fff;border-radius:999px;width:auto;margin:0;padding:6px 12px;font-size:14px;font-weight:600}.consent{color:var(--muted);border-top:1px solid var(--line);margin-top:16px;padding-top:12px;font-size:12px}.center{text-align:center;color:var(--muted);padding:48px 0}
