.body{width:100%}:root{--color-bg-start:#004a4a;--color-bg-end:#000407;--color-surface:#fff;--radius-form:8px;--radius-alert:12px;--radius-button:8px;--color-primary:#0972d3;--color-primary-hover:#033160;--color-primary-active:#033160;--color-accent:#39ff14;--color-text-heading:#000716;--color-text-body:#414d5c;--color-error:#d91515;--color-error-bg:#fff7f7;--color-success:#037f0c;--color-success-bg:#f2fcf3;--color-input-border:#7d8998;--color-input-placeholder:#5f6b7a;--font-sans:"Helvetica Neue", Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);color:var(--color-text-body);overscroll-behavior:contain;-webkit-font-smoothing:antialiased;margin:0}#root{background:linear-gradient(180deg, var(--color-bg-start) 0%, var(--color-bg-end) 100%);min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;display:flex}h1,h2,h3{color:var(--color-text-heading);margin:0 0 8px;font-weight:500}button,input,select,textarea{font-family:inherit;font-size:16px}button{border-radius:var(--radius-button);cursor:pointer;min-height:44px}a{color:var(--color-primary)}.branded-layout{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:32px;padding:24px 16px;display:flex}.branded-layout__logo{width:min(220px,60vw);height:auto}.branded-layout__card{background:var(--color-surface);border-radius:var(--radius-form);box-sizing:border-box;width:100%;max-width:420px;padding:24px 20px}.loading-screen{text-align:center;color:var(--color-text-body);flex-direction:column;align-items:center;gap:16px;display:flex}.loading-screen__spinner{border:3px solid var(--color-input-border);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite loading-screen-spin}@keyframes loading-screen-spin{to{transform:rotate(360deg)}}.error-screen{text-align:center;background:var(--color-error-bg);border:1px solid var(--color-error);border-radius:var(--radius-alert);padding:20px}.error-screen h1{color:var(--color-error);font-size:20px}.debug-redirect-screen code{word-break:break-all;text-align:left;background:#f4f4f4;border-radius:8px;margin-top:12px;padding:12px;font-size:13px;display:block}.serial-number-field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.serial-number-field label{color:var(--color-text-heading);font-size:14px}.serial-number-field__row{gap:8px;display:flex}.serial-number-field__row input{border:1px solid var(--color-input-border);border-radius:var(--radius-form);flex:1;min-height:44px;padding:0 12px}.serial-number-field__row button{background:var(--color-surface);border:1px solid var(--color-primary);color:var(--color-primary);padding:0 16px}.serial-number-field__error{color:var(--color-error);margin:0;font-size:13px}.barcode-scanner-modal{z-index:1000;background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.barcode-scanner-modal__header{color:#fff;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.barcode-scanner-modal__header button{color:#fff;background:0 0;border:none;font-size:18px}.barcode-scanner-modal__video{object-fit:cover;flex:1;width:100%}.barcode-scanner-modal__error{color:#fff;text-align:center;padding:16px}.country-field{flex-direction:column;gap:4px;min-width:0;margin-bottom:14px;display:flex;position:relative}.country-field label{color:var(--color-text-heading);font-size:14px}.country-field input{border:1px solid var(--color-input-border);border-radius:var(--radius-form);box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:0 12px}.country-field__suggestions{z-index:10;background:var(--color-surface);border:1px solid var(--color-input-border);border-radius:var(--radius-form);max-height:240px;margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 16px #0000001f}.country-field__suggestions li{margin:0}.country-field__suggestions button{text-align:left;border-radius:var(--radius-form);width:100%;min-height:44px;color:var(--color-text-body);background:0 0;border:none;padding:8px 12px;font-size:15px}.country-field__suggestions button:hover,.country-field__suggestions li[aria-selected=true] button{background:var(--color-bg-start);color:#fff}.country-field__error{color:var(--color-error);margin:0;font-size:13px}.signup-form{flex-direction:column;gap:4px;display:flex}.signup-form h1{margin-bottom:12px;font-size:20px}.signup-form__row{gap:12px;display:flex}.signup-form__row>*{flex:1;min-width:0}.signup-form__field{flex-direction:column;gap:4px;min-width:0;margin-bottom:14px;display:flex}.signup-form__field label{color:var(--color-text-heading);font-size:14px}.signup-form__field input{border:1px solid var(--color-input-border);border-radius:var(--radius-form);box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:0 12px}.signup-form__field-error{color:var(--color-error);margin:0;font-size:13px}.signup-form__error-banner{background:var(--color-error-bg);border:1px solid var(--color-error);color:var(--color-error);border-radius:var(--radius-alert);padding:10px 12px;font-size:14px}.signup-form__submit{background:var(--color-primary);color:#fff;border:none;margin-top:16px;font-weight:600}.signup-form__submit:hover{background:var(--color-primary-hover)}.signup-form__submit:disabled{opacity:.6;cursor:not-allowed}.policy-consent-screen{flex-direction:column;gap:16px;display:flex}.policy-consent-screen__step{color:var(--color-text-body);margin:0;font-size:13px}.policy-consent-screen h1{margin:0;font-size:20px}.policy-consent-screen__body{max-height:50dvh;color:var(--color-text-body);font-size:14px;overflow-y:auto}.policy-consent-screen__body p{margin:0 0 12px}.policy-consent-screen__body p:last-child{margin-bottom:0}.policy-consent-screen__agree{background:var(--color-primary);color:#fff;border:none;margin-top:8px;font-weight:600}.policy-consent-screen__agree:hover{background:var(--color-primary-hover)}
