:root{--navy:#00004c;--ink:#0a1130;--muted:#586173;--cyan:#00abd5;--cyan-deep:#0090b8;--border:#dce6ec;--bg:#f4f8fa;--err:#b42318;
--font:"Aptos","Segoe UI",system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-text-size-adjust:100%}
.band{background:var(--navy);color:#fff;padding:20px 16px 72px}
.band-inner,.card{max-width:560px;margin:0 auto}
.logo{height:30px;width:auto;display:block;filter:brightness(0) invert(1)}
.eyebrow{margin:28px 0 6px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#7fe3ff}
h1{margin:0;font-size:32px;line-height:1.15;font-weight:700}
.lede{margin:10px 0 0;font-size:17px;line-height:1.5;color:#d6dcf0}
.card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px 20px;margin-top:-48px;box-shadow:0 10px 30px rgba(0,0,76,.08)}
.wrap{padding:0 16px 40px}
.row{display:grid;grid-template-columns:1fr 1fr;column-gap:14px}
@media (max-width:420px){.row{grid-template-columns:1fr}}
label{display:block;font-size:15px;font-weight:600;margin:0 0 6px}
.opt{font-weight:400;color:var(--muted)}
.field{margin-bottom:16px}
input[type=text],input[type=email],input[type=tel]{width:100%;font:inherit;font-size:17px;padding:12px 14px;border:1px solid #b9c7d0;border-radius:10px;background:#fff;color:var(--ink);min-height:48px}
input:focus-visible,button:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}
.check{display:flex;gap:12px;align-items:flex-start;margin:4px 0 20px;font-size:15px;line-height:1.4}
.check input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--cyan-deep)}
.check label{font-weight:400;margin:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
button{width:100%;min-height:52px;border:0;border-radius:10px;background:var(--cyan-deep);color:#fff;font:inherit;font-size:18px;font-weight:700;cursor:pointer}
button:hover{background:#007aa0}
button[disabled]{opacity:.6;cursor:wait}
.msg{margin:0 0 14px;color:var(--err);font-size:15px}
.fine{margin:16px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}
.done h2{margin:0 0 8px;font-size:26px}
.done p{margin:0 0 10px;font-size:17px;line-height:1.5}
[hidden]{display:none!important}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--border);vertical-align:top}
th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.admin .card{max-width:1100px;overflow-x:auto}
.admin .band-inner{max-width:1100px}
.tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.tools button{width:auto;padding:0 18px;min-height:44px;font-size:16px}
.winner{font-size:18px;margin:0 0 16px;font-weight:700}
