@font-face{font-family:Clash Grotesk;src:url(/assets/ClashGrotesk-Variable-BS-lg9W7.woff2)format("woff2");font-display:swap}@font-face{font-family:Clash Display;src:url(/assets/ClashDisplay-Semibold-DcA1xgJG.woff2)format("woff2");font-weight:600;font-display:swap}:root{color:#524e69;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f5f5f5;font-family:Clash Grotesk,system-ui,sans-serif}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:#f5f5f5;min-width:320px}body{min-width:320px;min-height:100svh;margin:0}#root{width:100%;min-height:100svh}button,input,select{touch-action:manipulation}.app-shell{min-height:100svh;padding:max(16px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom));place-items:start center;display:grid}.card{background:#fff;border-radius:16px;width:min(100%,1024px);padding:clamp(20px,4vw,32px);box-shadow:0 8px 30px #20322414}.brand-header{align-items:center;gap:20px;display:flex}.brand-logo{flex:none;width:132px;height:auto}.refresh-button{color:#203224;cursor:pointer;background:#fff;border:1px solid #dfe2e0;border-radius:10px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;margin-left:auto;padding:0;display:inline-flex}.refresh-button:hover{background:#f5faf5;border-color:#0f6c13}.refresh-button:disabled{cursor:wait;opacity:.6}.refresh-button span{font-size:21px;line-height:1}h1,h2{color:#203224;font-family:Clash Display,sans-serif}h1{margin:0;font-size:clamp(21px,5vw,28px);line-height:1.2}.stepper{border-radius:4px;grid-template-columns:1fr 1fr;margin:28px 0;display:grid;overflow:hidden}.step{color:#757094;text-align:center;background:#ecebf1;padding:10px 8px;font-size:14px;font-weight:600}.step.active{color:#fff;background:#0f6c13}.step.complete{color:#fff;background:#203224}.error-banner{color:#a40000;background:#fff1f1;border-radius:10px;margin-bottom:20px;padding:12px 14px;font-size:14px}.section-heading{margin-bottom:20px}.section-heading h2{margin:0 0 4px;font-size:18px}.section-heading p,.center-state p,.validation-copy p{color:#757094;margin:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}label{color:#203224;gap:7px;min-width:0;font-size:14px;font-weight:600;display:grid}label.required span:after{content:" *";color:#de0000}input,select{box-sizing:border-box;color:#524e69;width:100%;min-height:50px;font:inherit;background:#fff;border:1px solid #dfe2e0;border-radius:12px;outline:none;padding:0 14px;font-weight:400}input:focus,select:focus{border-color:#0f6c13;box-shadow:0 0 0 3px #0f6c131f}input[aria-invalid=true]{border-color:#c62828}input[aria-invalid=true]:focus{border-color:#c62828;box-shadow:0 0 0 3px #c628281f}.field-error{color:#b42318;margin-top:-1px;font-size:13px;font-weight:500;line-height:1.35}.form-actions{justify-content:flex-end;margin-top:28px;display:flex}button{font:inherit}.button{cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:9px;min-width:180px;min-height:48px;padding:10px 20px;font-weight:600;display:inline-flex}.button.primary{color:#fff;background:#203224}.button:disabled{cursor:not-allowed;opacity:.5}.button-spinner,.polling-spinner{border-radius:50%;flex:none;animation:.8s linear infinite spin;display:inline-block}.button-spinner{border:2px solid #ffffff59;border-top-color:#fff;width:17px;height:17px}.loading-state{justify-content:center;align-items:center;gap:24px;min-height:280px;display:flex}.loading-state p{color:#524e69;font:600 21px/1.2 Clash Display,sans-serif}.loading-mark{background:#e7da10;border-radius:50%;flex:none;width:100px;height:100px;position:relative;overflow:hidden;box-shadow:0 0 0 10px #e7da1033}.loading-mark img{width:65px;height:48px;position:absolute;top:50%;left:calc(50% + 5.5px);transform:translate(-50%,-50%)}.validation-section{grid-template-columns:270px minmax(0,1fr);align-items:start;gap:20px 40px;max-width:900px;margin:0 auto;display:grid}.validation-navigation{grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;margin-top:-8px;display:flex}.back-button{color:#2472ba;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;min-height:44px;padding:6px 4px;font-weight:600;display:inline-flex}.back-button span{font-size:24px;line-height:1}.new-registration-button{color:#203224;cursor:pointer;background:#fff;border:1px solid #203224;border-radius:10px;min-height:44px;padding:8px 16px;font-weight:600}.qr-wrapper{box-sizing:border-box;background:#fff;border:3px solid #dfe2e0;border-radius:12px;place-items:center;width:270px;height:270px;display:grid}.validation-copy h2,.center-state h2{margin:0 0 8px;font-size:21px}.qr-actions{flex-wrap:wrap;align-items:center;gap:18px;margin-top:24px;display:flex}.action-button{color:#524e69;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;min-height:42px;font-weight:600;display:inline-flex}.action-button img{width:24px;height:24px}.action-button.outlined{color:#2472ba;border:1px solid #2472ba;border-radius:12px;justify-content:center;min-width:160px}.polling-note{align-items:center;gap:8px;font-size:14px;display:flex;margin-top:20px!important}.polling-spinner{border:2px solid #0f6c1333;border-top-color:#0f6c13;width:14px;height:14px}.qr-timing{color:#524e69;background:#f4f3f7;border-radius:10px;align-items:center;gap:8px;margin-top:20px;padding:8px 12px;font-size:14px;display:inline-flex}.qr-timing strong{color:#203224;font-variant-numeric:tabular-nums;font-size:16px}.center-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:300px;display:flex}.status-icon{border-radius:50%;place-items:center;width:68px;height:68px;margin-bottom:20px;font:600 36px/1 Clash Display,sans-serif;display:grid}.status-icon.success{color:#0f6c13;background:#e8f5e9}.status-icon.warning{color:#9a6700;background:#fff7d6}.center-state .button{margin-top:24px}.link-button{color:#2472ba;cursor:pointer;background:0 0;border:0;margin-top:12px;font-weight:600}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.button-spinner,.polling-spinner{animation-duration:1.6s}}@media (width<=680px){.app-shell{background:#fff;width:100%;padding:0;display:block}.card{width:100%;max-width:none;min-height:100svh;padding:max(18px, env(safe-area-inset-top)) 18px max(24px, env(safe-area-inset-bottom));box-shadow:none;border-radius:0}.brand-header{align-items:center;gap:12px}.brand-logo{width:104px;margin:0}h1{font-size:20px}.stepper{margin:22px 0}.form-grid{grid-template-columns:1fr;gap:16px}.form-actions .button{width:100%}.loading-state{text-align:center;flex-direction:column;min-height:360px}.validation-section{grid-template-columns:1fr;justify-items:center;gap:24px}.validation-navigation{width:100%}.qr-wrapper{width:min(270px,100%)}.validation-copy{text-align:center}.qr-actions{flex-direction:column;align-items:stretch}.action-button{justify-content:center;width:100%}.step{font-size:12px}}@media (width<=360px){.card{padding-inline:14px}.brand-logo{width:90px}.brand-header{gap:10px}h1{font-size:18px}}
