:root{--purple:#8255e8;--purple-dark:#5731ad;--purple-soft:#f4efff;--text:#2e2840;--muted:#706980;--line:#e6def5;--bg:#faf8ff;--green:#1f9d61;--danger:#b42318;--shadow:0 20px 55px rgba(74,49,126,.12)}
*{box-sizing:border-box}html{font-family:"Nunito Sans",system-ui,sans-serif;background:var(--bg);color:var(--text)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 85% 10%,#eee5ff 0,transparent 28%),linear-gradient(#fff,#faf8ff)}a{color:inherit}.topbar{min-height:76px;padding:12px max(20px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(130,85,232,.12);background:rgba(255,255,255,.86);backdrop-filter:blur(14px)}.brand img{display:block;width:190px;max-width:42vw;height:auto}.back-link{text-decoration:none;font-weight:800;color:var(--purple-dark)}
.page-shell{width:min(1180px,calc(100% - 32px));margin:38px auto 76px;display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:stretch}.preview-card,.form-card{border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow);min-width:0}.preview-card{display:flex;min-height:640px;padding:32px;background:linear-gradient(155deg,#fff 0,#f7f2ff 60%,#efe6ff 100%);overflow:hidden}.milo-stage{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;text-align:center}.milo-message{width:min(100%,430px);min-height:44px;margin:0 0 6px;display:flex;align-items:flex-end;justify-content:center;color:var(--purple-dark);font-size:21px;line-height:1.35;font-weight:900;letter-spacing:-.015em;transition:opacity .18s ease,transform .18s ease}.milo-message.is-changing{opacity:0;transform:translateY(5px)}.milo-preview{display:block;width:min(var(--milo-preview-width,396px),92%);max-height:var(--milo-preview-height,440px);object-fit:contain;filter:drop-shadow(0 18px 26px rgba(80,48,136,.12));transform:translateZ(0)}.milo-identity{min-height:76px;margin-top:4px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px}.milo-identity strong{font-size:30px;line-height:1.1;color:var(--text);letter-spacing:-.025em}.milo-identity span{font-size:16px;font-weight:900;color:var(--purple)}.milo-identity strong:not([hidden]),.milo-identity span:not([hidden]){animation:softAppear .22s ease both}@keyframes softAppear{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.milo-visual-picker{position:relative;width:100%;min-height:355px;display:flex;align-items:center;justify-content:center;padding:0 42px}.milo-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:1.5px solid #d8caef;background:rgba(255,255,255,.88);color:var(--purple-dark);font:900 30px/1 "Nunito Sans",sans-serif;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 20px rgba(78,48,135,.10);transition:transform .15s ease,border-color .15s ease,background .15s ease}.milo-arrow:hover{border-color:var(--purple);background:#fff;transform:translateY(-50%) scale(1.04)}.milo-arrow-prev{left:2px}.milo-arrow-next{right:2px}.milo-dots{position:absolute;left:50%;bottom:0;transform:translateX(-50%);display:flex;gap:7px;align-items:center;justify-content:center}.milo-dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#d7cbed;cursor:pointer}.milo-dot.is-active{background:var(--purple);transform:scale(1.25)}.milo-arrow[hidden],.milo-dots[hidden]{display:none!important}
.form-card{padding:34px}.form-head{display:flex;gap:15px;align-items:flex-start;padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:24px}.step{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--purple);color:#fff;font-weight:900;flex:none}.form-head h2{margin:0 0 5px;font-size:25px}.form-head p{margin:0;color:var(--muted);font-size:14px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.field>label,.manual-fields>label,.role-field legend{font-size:14px;font-weight:900}.field input,.field select,.manual-fields input{width:100%;min-width:0;border:1.5px solid #d9d0e9;background:#fff;border-radius:14px;padding:14px 15px;font:inherit;color:var(--text);outline:none;transition:border-color .16s,box-shadow .16s}.field select{padding:14px 5px;text-align:center;text-align-last:center}.field input:focus,.field select:focus,.manual-fields input:focus{border-color:var(--purple);box-shadow:0 0 0 4px rgba(130,85,232,.11)}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.country-select{position:relative;height:51px;border:1.5px solid #d9d0e9;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;gap:5px;overflow:hidden;transition:border-color .16s,box-shadow .16s}.country-select:focus-within{border-color:var(--purple);box-shadow:0 0 0 4px rgba(130,85,232,.11)}.country-select select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0}.phone-country-flag{display:block;width:27px;height:18px;border-radius:3px;background-position:center;background-size:cover;background-repeat:no-repeat;box-shadow:0 0 0 1px rgba(42,35,57,.10)}.country-chevron{font-size:15px;line-height:1;color:#514969;transform:translateY(-1px)}.phone-country-flag[data-country="SK"]{background-image:url("flags/sk.png")}.phone-country-flag[data-country="CZ"]{background-image:url("flags/cz.png")}.phone-country-flag[data-country="HU"]{background-image:url("flags/hu.png")}.phone-country-flag[data-country="AT"]{background-image:url("flags/at.png")}.contact-grid{display:grid;grid-template-columns:68px minmax(155px,.82fr) minmax(235px,1.42fr);gap:10px}.school-grid{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:12px;align-items:start}.class-count-field input{text-align:center}.autocomplete-wrap{position:relative}.autocomplete-wrap>input{padding-right:45px}.search-spinner{position:absolute;right:15px;top:50%;width:18px;height:18px;margin-top:-9px;border:2px solid #d9d0e9;border-top-color:var(--purple);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.results{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 7px);max-height:330px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 45px rgba(52,35,88,.16);padding:6px}.results.is-empty{position:static;inset:auto;margin-top:7px;max-height:none;overflow:visible;box-shadow:none}.result-item{width:100%;display:flex;align-items:flex-start;gap:11px;text-align:left;border:0;background:transparent;border-radius:12px;padding:11px;cursor:pointer;font:inherit;color:inherit}.result-item:hover,.result-item:focus-visible{background:var(--purple-soft);outline:none}.result-copy{min-width:0;flex:1}.result-copy strong{display:block;font-size:14px}.result-copy small{display:block;color:var(--muted);margin-top:2px;font-size:12px}.result-badge{font-size:10px;font-weight:900;color:var(--purple-dark);background:#eee7ff;border-radius:999px;padding:4px 7px;white-space:nowrap}.results-empty{padding:13px;color:var(--muted);font-size:13px}.selected-school{border:1px solid #cfc0f0;background:var(--purple-soft);border-radius:14px;padding:12px 13px;margin-top:8px}.selected-school strong{display:block;font-size:13px}.selected-school small{display:block;color:var(--muted);margin-top:3px;font-size:11px}.selected-school button{border:0;background:none;color:var(--purple-dark);font-weight:900;padding:5px 0 0;cursor:pointer}.manual-link{align-self:flex-start;border:0;background:none;color:var(--muted);font:inherit;font-size:12px;font-weight:600;padding:2px 0;cursor:pointer;text-decoration:underline;text-decoration-color:#d9d0e9;text-underline-offset:2px}.manual-link:hover,.manual-link:focus-visible{color:var(--purple-dark);outline:none}.manual-fields{margin-top:8px;padding:14px;background:#fbf9ff;border:1px dashed #cfc0f0;border-radius:14px;display:grid;gap:7px}.manual-fields input+label{margin-top:6px}.field-error,.submit-error{margin:0;color:var(--danger);font-size:13px;font-weight:700}.submit-error{padding:11px 13px;border-radius:12px;background:#fff2f0;margin-bottom:14px}.autocomplete-wrap input:disabled{background:#f3f0f7;color:#8a8393;cursor:not-allowed}
.role-field{border:0;padding:0;margin:0 0 18px}.role-field legend{margin-bottom:8px}.role-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.role-option{position:relative;display:flex;align-items:center;justify-content:center;min-height:48px;border:1.5px solid #d9d0e9;border-radius:14px;background:#fff;padding:10px 11px;cursor:pointer;font-weight:800;font-size:13px;transition:.16s}.role-option:hover{border-color:#bba8e7;background:#fbf9ff}.role-option:has(input:checked){border-color:var(--purple);background:var(--purple-soft);box-shadow:0 0 0 3px rgba(130,85,232,.08)}.role-option input{appearance:none;-webkit-appearance:none;width:17px;height:17px;border:2px solid #bfb3d5;border-radius:50%;margin:0 8px 0 0;padding:0;background:#fff;box-shadow:none;outline:none;flex:none;display:grid;place-items:center}.role-option input:checked{border-color:var(--purple);background:radial-gradient(circle,var(--purple) 0 42%,#fff 44% 100%)}.role-option input:focus-visible{box-shadow:0 0 0 3px rgba(130,85,232,.14)}
.consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.45;color:var(--muted);margin:4px 0 20px}.consent input{margin-top:3px;width:18px;height:18px;accent-color:var(--purple);flex:none}.consent a{color:var(--purple-dark);font-weight:800}.submit-button{width:100%;min-height:54px;border:0;border-radius:15px;background:linear-gradient(135deg,var(--purple),#6d3ed3);color:#fff;font:inherit;font-weight:900;font-size:16px;cursor:pointer;box-shadow:0 10px 24px rgba(130,85,232,.22)}.submit-button:hover{filter:brightness(1.02)}.submit-button:disabled{opacity:.58;cursor:wait}.form-note{text-align:center;color:var(--muted);font-size:12px;margin:10px 0 0}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}.manual-fields[hidden]{display:none!important}
body.is-success{height:100dvh;min-height:100dvh;overflow:hidden}
.page-shell.is-success{display:flex;width:min(860px,calc(100% - 32px));height:calc(100dvh - 76px);margin:0 auto;padding:14px 0;align-items:center;justify-content:center}
.page-shell.is-success .preview-card{display:none}.page-shell.is-success .form-card{width:100%;max-height:100%;padding:22px 34px;overflow:hidden}
.success-view{text-align:center}.success-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#e9f8f0;color:var(--green);font-size:30px;font-weight:900;margin:0 auto 10px}.success-view h2{font-size:27px;line-height:1.18;margin:0 auto 7px;max-width:650px}.success-view>p{color:var(--muted);font-size:14px;line-height:1.4;margin:0 auto 12px;max-width:650px}.download-card{position:relative;width:min(255px,100%);aspect-ratio:148/210;margin:0 auto 12px;padding:18px 18px 20px;border:1.5px solid #9c79eb;border-radius:22px;background:#fff;box-shadow:0 14px 34px rgba(94,58,164,.14);overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;align-items:center;justify-items:center}.download-card-logo{width:148px;height:auto}.download-card-milo{width:84%;max-height:260px;object-fit:contain;align-self:center;filter:drop-shadow(0 10px 16px rgba(79,50,130,.10))}.download-card-name{font-size:27px;line-height:1;color:var(--purple-dark);padding-top:8px}.success-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:600px;margin:0 auto}.secondary-action,.home-action{min-height:48px;border-radius:14px;font:inherit;font-weight:900;display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer}.secondary-action{border:1.5px solid #cfc0f0;background:#fff;color:var(--purple-dark)}.home-action{max-width:600px;margin:8px auto 0;border:1.5px solid #e0d7f0;background:#faf8ff;color:var(--purple-dark)}.home-action[hidden]{display:none!important}
@media(max-width:900px){.milo-visual-picker{min-height:280px;padding:0 38px}.milo-arrow{width:38px;height:38px;font-size:27px}.page-shell{grid-template-columns:1fr;width:min(100% - 22px,660px);margin:20px auto 50px;gap:16px}.preview-card{min-height:470px;padding:24px}.milo-message{min-height:40px;font-size:19px}.milo-preview{width:min(var(--milo-preview-width,396px),82%);max-height:min(var(--milo-preview-height,440px),330px)}.form-card{padding:24px 20px}.contact-grid{grid-template-columns:64px minmax(0,1fr)}.email-field{grid-column:1/-1}.school-grid{grid-template-columns:minmax(0,1fr) 105px}.page-shell.is-success{width:min(100% - 22px,760px)}}
@media(max-width:600px){.milo-visual-picker{min-height:250px;padding:0 34px}.milo-arrow{width:34px;height:34px;font-size:24px}.topbar{min-height:66px}.brand img{width:150px}.back-link{font-size:13px}.preview-card{min-height:410px;border-radius:22px}.milo-message{font-size:17px}.milo-preview{width:min(var(--milo-preview-width,396px),84%);max-height:min(var(--milo-preview-height,440px),300px)}.milo-identity strong{font-size:26px}.form-card{border-radius:22px}.grid-two,.school-grid{grid-template-columns:1fr;gap:0}.role-options{grid-template-columns:1fr}.contact-grid{grid-template-columns:62px minmax(0,1fr);gap:8px}.email-field{grid-column:1/-1}.class-count-field input{max-width:120px}.success-actions{grid-template-columns:1fr}.page-shell.is-success .form-card{padding:28px 18px}.success-view h2{font-size:26px}}
@media(max-width:440px){.back-link{font-size:0}.back-link:after{content:"← Späť";font-size:13px}.result-item{flex-direction:column;gap:5px}.result-badge{align-self:flex-start}.download-card{border-radius:22px}.download-card-logo{width:155px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@page{size:A5 portrait;margin:0}@media print{html,body{width:148mm;height:210mm;margin:0!important;padding:0!important;background:#fff}.topbar,.success-icon,.success-view>h2,.success-view>p,.success-actions,.home-action{display:none!important}.page-shell.is-success{width:148mm;height:210mm;margin:0!important;display:block}.page-shell.is-success .form-card{width:148mm;height:210mm;border:0;box-shadow:none;padding:0;margin:0;border-radius:0}.success-view{display:block!important;width:148mm;height:210mm}.download-card{box-sizing:border-box;width:148mm;height:210mm;margin:0;border:0;border-radius:0;box-shadow:none;break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}.download-card-logo{width:58mm}.download-card-milo{width:115mm;max-height:138mm}.download-card-name{font-size:13mm;padding-bottom:10mm}}


.referral-invite-banner{margin:0 0 18px;padding:16px 18px;border:1px solid #decdf3;border-radius:16px;background:#faf6ff;display:grid;gap:5px;color:#4a365f}
.referral-invite-banner strong{font-size:15px;color:#6f2bd2}
.referral-invite-banner span{font-size:13px;line-height:1.5;color:#756680}

.success-magic{background:linear-gradient(135deg,var(--purple),#6d3ed3);color:#fff;border-color:transparent;box-shadow:0 10px 24px rgba(130,85,232,.20)}

@media(max-height:760px){body.is-success .topbar{min-height:62px;padding-top:8px;padding-bottom:8px}body.is-success .brand img{width:160px}.page-shell.is-success{height:calc(100dvh - 62px);padding:8px 0}.page-shell.is-success .form-card{padding:14px 28px}.success-icon{width:46px;height:46px;font-size:25px;margin-bottom:6px}.success-view h2{font-size:23px;margin-bottom:5px}.success-view>p{font-size:13px;margin-bottom:8px}.download-card{width:min(210px,100%);margin-bottom:8px;padding:14px 15px 16px}.download-card-logo{width:126px}.download-card-milo{max-height:205px}.download-card-name{font-size:23px;padding-top:6px}.secondary-action,.home-action,.success-primary{min-height:42px}.home-action{margin-top:6px}}
@media(max-width:600px){body.is-success{height:auto;min-height:100vh;overflow:auto}.page-shell.is-success{height:auto;min-height:calc(100vh - 66px);padding:14px 0}.page-shell.is-success .form-card{max-height:none;overflow:visible}}
