:root{--navy:#061437;--blue:#0c2b68;--cyan:#35d8ff;--violet:#8357ff;--gold:#e9b94f;--white:#f7fbff}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% 5%,#17358a 0,transparent 28%),linear-gradient(180deg,#050d29,#071743 55%,#030a20);color:var(--white);font:16px Inter,Arial,sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(#58cfff0d 1px,transparent 1px),linear-gradient(90deg,#58cfff0d 1px,transparent 1px);background-size:45px 45px}header{height:78px;max-width:1160px;margin:auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between}header img{height:58px}button{font:inherit;cursor:pointer}#lang{border:1px solid #55cfff66;background:#0c2559;color:white;border-radius:30px;padding:10px 18px}main{max-width:1080px;margin:auto;padding:20px}.hero{min-height:480px;display:grid;grid-template-columns:1.15fr .85fr;gap:45px;align-items:center;padding:55px 0}.badge{display:inline-block;background:#f7c24c;color:#15234e;font-weight:900;padding:9px 14px;border-radius:5px}h1{font-size:clamp(48px,7vw,88px);line-height:.9;margin:25px 0;text-transform:uppercase;letter-spacing:-3px;text-shadow:0 0 30px #4bbfff55}h1 em{font-style:normal;color:#66e4ff}.hero p{font-size:20px;line-height:1.6;color:#c8d8ff}.poster{width:100%;border-radius:22px;box-shadow:0 0 50px #3da9ff44;transform:perspective(900px) rotateY(-5deg)}.facts{display:flex;gap:12px}.facts b{background:#ffffff0d;border:1px solid #75dcff3d;border-radius:12px;padding:14px;font-size:23px}.facts small{display:block;font-size:11px;color:#a9bee8;text-transform:uppercase}.path{text-align:center;padding:30px 0 50px}.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.chips span{background:#132b65;border:1px solid #668ee855;padding:12px 16px;border-radius:30px}.card{position:relative;background:linear-gradient(145deg,#102657e8,#091838e8);border:1px solid #65d9ff40;border-radius:22px;margin:22px 0;padding:32px;box-shadow:0 25px 70px #0005}.step{position:absolute;right:25px;top:18px;font-size:45px;font-weight:900;color:#ffffff0c}.card h2{font-size:27px;margin:0 0 24px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label span{display:block;margin-bottom:8px;color:#dce8ff;font-weight:600}input,select{width:100%;border:1px solid #87bfff3b;background:#061431;color:white;border-radius:10px;padding:13px 14px;font-size:16px;outline:none}input:focus,select:focus{border-color:#4ddaff;box-shadow:0 0 0 3px #4ddaff20}.student{border-top:1px solid #ffffff18;padding:22px 0;display:grid;grid-template-columns:1.3fr .5fr 1fr 1.3fr auto;gap:12px;align-items:end}.student h3{grid-column:1/-1;margin:0;color:#65dfff}.remove{background:#ff547320;color:#ff9daf;border:0;border-radius:8px;padding:12px}.secondary{background:#1a3c7b;color:white;border:1px dashed #66dcff;padding:12px 18px;border-radius:10px}.plans{display:grid;grid-template-columns:1fr 1fr;gap:16px}.plan{display:flex;border:1px solid #517bd3;background:#091a42;padding:18px;border-radius:15px;cursor:pointer}.plan:has(input:checked){border-color:#4ce5ff;box-shadow:0 0 0 3px #4ce5ff1c}.plan input{width:auto;margin:5px 15px 0 0}.plan b,.plan i{display:block}.plan strong{display:block;font-size:30px;color:#62e4ff;margin:12px 0}.plan small{font-size:13px}.plan i{font-size:13px;color:#a9bce8;font-style:normal}.plan.gold strong{color:#ffd56d}.optional{display:flex;margin:22px 0;padding:17px;background:#ffffff08;border-radius:12px}.optional input,.agree input{width:auto;margin:3px 14px 0 0}.optional small{display:block;color:#aebedf;line-height:1.5;margin-top:7px}.total{display:flex;align-items:center;justify-content:space-between;padding-top:18px;border-top:1px solid #ffffff19}.total strong{font-size:35px;color:#ffd261}.total small{display:block;color:#aabbe0}.paygrid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;margin-bottom:20px}.paygrid>div{background:#07132d;padding:22px;border-radius:16px}.paygrid img{max-width:190px;width:100%;display:block;margin:auto;border-radius:12px}.paygrid div:last-child{text-align:center}.paygrid b{display:block;margin-top:10px}.paygrid button{background:#173a78;border:1px solid #59d8ff;color:white;padding:11px;border-radius:8px}.agree{display:flex;margin-top:18px}.submit{width:100%;border:0;border-radius:14px;padding:19px;background:linear-gradient(90deg,#25c9f2,#7c58ff);color:white;font-weight:900;font-size:19px;box-shadow:0 12px 35px #386fff55}.secure{text-align:center;color:#8fa6d2;font-size:13px}#success{display:none;position:fixed;inset:0;background:#010717dc;z-index:9;align-items:center;justify-content:center;padding:20px}#success.show{display:flex}#success>div{max-width:520px;background:#0e2453;border:1px solid #56d9ff;padding:38px;border-radius:22px;text-align:center}#success>div>span{display:inline-grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#25cd9a;font-size:30px}#success a,#success button{display:block;margin:13px auto;padding:13px 20px;border-radius:9px;border:0;text-decoration:none}#success a{background:#25d366;color:#062514;font-weight:800}#success button{background:#ffffff12;color:white}@media(max-width:760px){.hero{grid-template-columns:1fr;padding:35px 0}.poster{transform:none}.grid,.plans,.paygrid{grid-template-columns:1fr}.student{grid-template-columns:1fr 1fr}.student h3{grid-column:1/-1}.student label:nth-of-type(3),.student label:nth-of-type(4){grid-column:1/-1}h1{letter-spacing:-2px}.facts{flex-wrap:wrap}.card{padding:25px 18px}.total{align-items:flex-end}.total strong{font-size:29px}}
/* Student registration layout upgrade */
.student{grid-template-columns:repeat(2,minmax(0,1fr))}.student .remove{justify-self:start}
/* Registration completion guard: WhatsApp step must be opened before closing. */
.wa-actions{display:grid;gap:8px;margin-top:14px}.wa-required{display:block;color:#ffd77a;line-height:1.45}.wa-required.done{color:#7ee8c3}#successClose:disabled{opacity:.45;cursor:not-allowed;background:#ffffff10!important}#successClose.ready{background:#244d8f!important;color:#fff!important;font-weight:800}
/* Production submission guard: prevent double-tap duplicate registrations. */
#form .submit:disabled{opacity:.65;cursor:wait;filter:saturate(.65);box-shadow:none}

/* V7 confirmation guard and student limit UX. */
#addStudent:disabled{opacity:.45;cursor:not-allowed}#waSentConfirm{background:#f1c75b!important;color:#12234f!important;font-weight:900}#waSentConfirm:disabled{opacity:.72;cursor:default}.wa-actions #waSentConfirm[hidden]{display:none!important}
