:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#173047;background:#f2f6fa;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #173047;--muted: #5c6d7a;--blue: #0c7fa8;--teal: #14aa9a;--line: #d5e0e7;--pale: #f3f8fb}*{box-sizing:border-box}html{min-width:320px;min-height:100%;-webkit-text-size-adjust:100%}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;background:#f2f6fa;overflow-x:hidden}#root,.app-shell{min-height:100vh;min-height:100dvh}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible{outline:3px solid rgba(12,127,168,.24);outline-offset:2px}.modal-open{overflow:hidden}.setup-brand{display:flex;align-items:center;gap:13px}.brand-mark{width:43px;height:43px;flex:0 0 auto;display:inline-grid;place-items:center;border-radius:12px;color:#fff;font-weight:800;background:linear-gradient(145deg,var(--blue),var(--teal));box-shadow:0 7px 18px #0c7fa82e}.settings-button{width:43px;height:43px;padding:10px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);transition:.2s ease}.settings-button:hover{color:var(--blue);border-color:#9fc7d5;transform:rotate(10deg)}.settings-button:disabled{color:#91a0aa;background:#f4f7f8;transform:none}.settings-button svg,.setup-icon svg{width:100%;height:100%;fill:currentColor}.enrollment-page{min-height:100vh;min-height:100dvh;width:100%;padding:clamp(24px,5vh,44px) clamp(16px,3vw,32px) clamp(32px,7vh,64px);display:grid;place-items:center}.tablet-shell{padding:13px;border-radius:31px;background:#1d2e3b;box-shadow:0 22px 55px #1f374829}.tablet-shell{width:min(780px,100%)}.enrollment-card{position:relative;min-height:570px;padding:clamp(36px,5vw,46px) clamp(28px,6vw,48px) 32px;border-radius:20px;background:#fff}.card-settings{position:absolute;top:24px;right:24px}.eyebrow{display:inline-block;color:var(--blue);font-size:.7rem;line-height:1;font-weight:800;letter-spacing:.15em}h1,h2,p{margin-top:0}.enrollment-card h1{margin:12px 0 8px;font-size:clamp(2rem,4vw,2.5rem);line-height:1.07;letter-spacing:-.045em}.intro{max-width:670px;margin-bottom:clamp(22px,4vh,30px);color:var(--muted);font-size:1rem;line-height:1.55;overflow-wrap:anywhere}.patient-fields{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:14px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:var(--ink);font-size:.8rem;font-weight:750}.form-group input{width:100%;height:52px;padding:0 14px;border:1px solid #bccbd4;border-radius:10px;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s}.form-group input:hover{border-color:#90aab8}.form-group input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0c7fa81a;outline:none}.form-group input[aria-invalid=true]{border-color:#b54a56;background:#fffafb}.form-group input[aria-invalid=true]:focus{box-shadow:0 0 0 3px #b54a561c}.form-group input::placeholder{color:#99a8b2}.field-error{display:block;color:#9b3743;font-size:.71rem;font-weight:700;line-height:1.3}.enrollment-fieldset{min-width:0;margin:0;padding:0;border:0}.enrollment-fieldset:disabled{opacity:.78}.consent-box{margin-top:28px;padding:17px 18px;border:1px solid #cedce5;border-radius:12px;background:var(--pale)}.consent-box.invalid{border-color:#c96a74;background:#fffafb}.consent-box .field-error{margin:9px 0 0 33px}.consent-row{display:grid;grid-template-columns:20px 1fr;gap:13px;cursor:pointer}.consent-row input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--blue)}.consent-row strong{display:block;margin-bottom:7px;font-size:.83rem}.consent-row small{display:block;color:#536674;font-size:.72rem;line-height:1.45}.terms-link{margin:17px 3px;padding:0;border:0;background:transparent;color:var(--blue);font-size:.82rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}.submit-button,.primary-button{min-height:54px;border:0;border-radius:11px;color:#fff;background:linear-gradient(110deg,var(--blue),#0b95a5);font-weight:800;box-shadow:0 8px 18px #0c7fa829}.submit-button{width:100%}.submit-button:not(:disabled):hover,.primary-button:not(:disabled):hover{filter:brightness(.96);transform:translateY(-1px)}.submit-button:disabled,.primary-button:disabled{cursor:not-allowed;color:#f4f7f8;background:#aabfcb;box-shadow:none}.form-message{min-height:20px;margin-top:10px;text-align:center;color:#8a3840;font-size:.75rem;line-height:1.35}.form-message.error{padding:10px 12px;border-radius:8px;color:#8a3840;background:#fcecef;font-weight:700}.privacy-note{margin:3px 0 0;text-align:center;color:#7b8993;font-size:.68rem}.success-screen{min-height:490px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(210px,.85fr);align-items:center;gap:clamp(28px,5vw,46px);padding:26px 2px 12px}.success-details{text-align:center}.success-icon{width:64px;height:64px;display:grid;place-items:center;margin:0 auto 18px;border-radius:50%;color:#087c6c;background:#e2f5ef;font-size:2rem;font-weight:800}.success-screen h1{margin:13px 0 12px;font-size:clamp(1.8rem,4vw,2.25rem)}.success-screen p{color:var(--muted)}.success-screen .success-lead{margin-bottom:7px;color:var(--ink);font-size:1.08rem;font-weight:800}.success-copy{margin:0 auto;max-width:370px;font-size:.84rem;line-height:1.55}.saved-badge{display:inline-flex;align-items:center;gap:4px;margin-top:18px;padding:8px 13px;border-radius:999px;color:#087c6c;background:#e2f5ef;font-size:.76rem;font-weight:800}.resend-notice{margin:11px auto 0!important;max-width:330px;color:#087c6c!important;font-size:.7rem;font-weight:750;line-height:1.4}.enrollment-reference{max-width:100%;margin:14px auto 18px!important;font-size:.68rem;line-height:1.55}.enrollment-reference code{overflow-wrap:anywhere;color:var(--ink)}.success-actions{width:min(100%,370px);display:flex;flex-direction:column;gap:11px;margin:0 auto}.success-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.success-actions .secondary-button{min-height:48px;padding:0 12px;border-color:#a9c5d5;font-size:.78rem}.success-primary-action{min-height:54px}.phone-preview{width:min(100%,250px);height:438px;justify-self:center;padding:9px;border-radius:36px;background:#1d2e3b;box-shadow:0 18px 38px #1f37482e}.phone-screen{position:relative;height:100%;display:flex;flex-direction:column;border-radius:28px;background:#f5f6f8;overflow:hidden}.phone-status{height:28px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;color:#203447;background:#fff;font-size:.5rem;font-weight:800}.phone-header{position:relative;height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-bottom:1px solid #d9dde1;background:#fff;color:#203447}.phone-header strong{margin-top:3px;font-size:.56rem}.phone-header small{margin-top:2px;color:#697782;font-size:.48rem}.phone-back{position:absolute;left:14px;top:25px;color:#147fd1;font-size:1.8rem;line-height:.6}.phone-avatar{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(145deg,var(--blue),var(--teal));font-size:.62rem;font-weight:800}.phone-thread{flex:1;padding:18px 10px}.phone-time{display:block;margin-bottom:15px;text-align:center;color:#858b92;font-size:.48rem;font-weight:700}.message-bubble{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:17px 17px 17px 5px;color:#1f2932;background:#e3e4e8;font-size:.62rem;line-height:1.35}.message-bubble strong{color:#087c6c}.delivery-state{display:block;margin:5px 0 0 7px;color:#7d858c;font-size:.46rem}.phone-composer{height:34px;display:flex;align-items:center;justify-content:space-between;margin:0 8px 8px;padding:0 5px 0 11px;border:1px solid #ccd0d4;border-radius:18px;color:#92989e;background:#fff;font-size:.5rem}.phone-composer span:last-child{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#c9cdd2;font-size:.75rem;font-weight:800}.setup-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:clamp(24px,5vh,40px) clamp(16px,3vw,24px);background:radial-gradient(circle at 20% 0%,#e4f5f4 0,transparent 34%),#f2f6fa}.setup-card{width:min(720px,100%);padding:39px 44px 42px;border:1px solid #dbe5ea;border-radius:20px;background:#fff;box-shadow:0 24px 65px #1f374821}.setup-brand{margin-bottom:35px;font-weight:800}.setup-heading{display:flex;gap:17px;align-items:flex-start;padding-bottom:26px;border-bottom:1px solid #e3e9ed}.setup-heading h1{margin:7px 0 8px;font-size:2rem;letter-spacing:-.035em}.setup-heading p{margin:0;color:var(--muted);line-height:1.5}.setup-icon{width:46px;height:46px;flex:0 0 auto;padding:11px;border-radius:12px;color:var(--blue);background:#e8f5f8}.setup-card fieldset{margin:26px 0 0;padding:0;border:0}.setup-card legend{margin-bottom:12px;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#73828d}.setup-grid{display:grid;grid-template-columns:1.8fr 1fr;gap:16px}.form-group input[readonly]{cursor:not-allowed;color:#425766;background:#f1f5f7;border-color:#d3dee4}.form-group input[readonly]:hover{border-color:#d3dee4}.lookup-status{min-height:19px;margin-top:8px;font-size:.72rem;font-weight:700;line-height:1.4}.lookup-status.loading{color:#5c6d7a}.lookup-status.success{color:#087c6c}.lookup-status.error{color:#9b3743}.error-message{margin-top:20px;padding:11px 13px;border-radius:8px;color:#903943;background:#fcecef;font-size:.8rem;font-weight:700}.setup-note{margin:25px 0 0;padding:14px 16px;border-radius:9px;color:#5c6d7a;background:var(--pale);font-size:.78rem;line-height:1.5}.setup-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.primary-button,.secondary-button{padding:0 22px}.secondary-button{min-height:50px;border:1px solid #c5d2da;border-radius:10px;color:var(--ink);background:#fff;font-weight:750}.secondary-button:hover{background:#f6f9fa}.modal-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:22px;background:#0f22319e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:min(680px,100%);max-height:min(760px,calc(100vh - 44px));max-height:min(760px,calc(100dvh - 44px));display:flex;flex-direction:column;border-radius:18px;background:#fff;box-shadow:0 30px 80px #00000047;overflow:hidden}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:26px 28px 20px;border-bottom:1px solid #e1e8ec}.modal-header h2{margin:8px 0 0;font-size:1.55rem;letter-spacing:-.025em}.modal-close{width:38px;height:38px;padding:0 0 3px;border:1px solid var(--line);border-radius:50%;color:#657784;background:#fff;font-size:1.75rem;line-height:1}.modal-content{padding:22px 28px;overflow:auto}.modal-content p{color:#4d606e;font-size:.9rem;line-height:1.62}.modal-content p:last-child{margin-bottom:0}.modal-footer{padding:16px 28px;border-top:1px solid #e1e8ec;text-align:right}@media(max-width:720px){.patient-fields{grid-template-columns:1fr 1fr}.patient-fields .form-group:last-child{grid-column:1 / -1}.success-screen{grid-template-columns:minmax(0,1fr) 210px;gap:22px}.phone-preview{height:390px}.setup-card{padding-inline:clamp(24px,6vw,44px)}}@media(max-width:620px){.success-screen{grid-template-columns:1fr;padding-top:44px}.phone-preview{margin-top:8px}.setup-grid{grid-template-columns:1fr}}@media(max-width:520px){.brand-mark{width:39px;height:39px;border-radius:10px}.enrollment-page{width:100%;min-height:100vh;min-height:100dvh;padding:0;display:block;background:#fff}.tablet-shell{padding:0;border-radius:0;background:transparent;box-shadow:none}.enrollment-card{min-height:100vh;min-height:100dvh;padding:max(34px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(38px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));border-radius:0}.card-settings{top:max(22px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right))}.enrollment-card h1{max-width:calc(100% - 52px)}.patient-fields{grid-template-columns:1fr;gap:16px}.patient-fields .form-group:last-child{grid-column:auto}.intro{margin-bottom:24px}.consent-box{margin-top:22px}.success-screen{padding-top:50px;padding-bottom:16px}.success-actions{width:100%}.success-secondary-actions{grid-template-columns:1fr 1fr}.phone-preview{width:min(250px,82vw)}.setup-page{padding:0;place-items:stretch}.setup-card{min-height:100vh;min-height:100dvh;padding:max(28px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(35px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));border:0;border-radius:0;box-shadow:none}.setup-actions{flex-direction:column-reverse}.setup-actions button{width:100%}.modal-backdrop{padding:0;align-items:end}.modal{max-height:92vh;max-height:92dvh;border-radius:18px 18px 0 0}.modal-header,.modal-content,.modal-footer{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}.modal-footer{padding-bottom:max(16px,env(safe-area-inset-bottom))}.form-group input{font-size:16px}}@media(orientation:landscape)and (max-height:650px){.enrollment-page,.setup-page{place-items:start center;padding-top:16px;padding-bottom:16px}.enrollment-card{min-height:0;padding-top:28px;padding-bottom:24px}.enrollment-card h1{margin-top:8px;font-size:clamp(1.75rem,5vw,2.15rem)}.intro{margin-bottom:18px;line-height:1.4}.form-group{gap:6px}.form-group input{height:46px}.consent-box{margin-top:18px;padding:13px 15px}.terms-link{margin:13px 3px}.submit-button{min-height:48px}.setup-card{padding-top:24px;padding-bottom:26px}.setup-brand{margin-bottom:20px}.setup-heading{padding-bottom:18px}.setup-heading h1{font-size:1.75rem}.setup-card fieldset,.setup-note,.setup-actions{margin-top:18px}}@media(orientation:landscape)and (max-height:500px){.enrollment-page{padding:0;background:#fff}.tablet-shell{width:100%;padding:0;border-radius:0;background:transparent;box-shadow:none}.enrollment-card{min-height:100dvh;border-radius:0;padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}.setup-page{padding:0;place-items:stretch}.setup-card{width:100%;min-height:100dvh;border:0;border-radius:0;box-shadow:none;padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}.modal-backdrop{padding:10px max(10px,env(safe-area-inset-right)) 10px max(10px,env(safe-area-inset-left))}.modal{max-height:calc(100dvh - 20px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
