:root{color:#17324a;font-synthesis:none;text-rendering:optimizelegibility;--viva-blue:#0e458c;--viva-blue-dark:#08386f;--viva-green:#7bbe2d;--viva-green-dark:#5f9f1e;--text-primary:#17324a;--text-secondary:#60778a;--border:#dce7ee;--surface:#fff;background:#f7fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#f7fafc;min-width:320px;min-height:100%}body{background:#f7fafc;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}.page-shell{isolation:isolate;min-height:100vh;padding:max(26px, env(safe-area-inset-top)) 18px max(28px, env(safe-area-inset-bottom));background:radial-gradient(circle at 5% 4%,#7bbe2d1a,#0000 27%),radial-gradient(circle at 96% 94%,#0e458c1a,#0000 30%),linear-gradient(145deg,#fbfdfd 0%,#f5f9fb 52%,#f8fbf9 100%);place-items:center;display:grid;position:relative;overflow:hidden}.page-shell:before{content:"";z-index:-1;border:70px solid #7bbe2d09;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-250px;left:-250px}.page-shell:after{content:"";z-index:-1;border:65px solid #0e458c09;border-radius:50%;width:360px;height:360px;position:absolute;top:-230px;right:-220px}.card{background:#fffffffb;border:1px solid #d3e1e9eb;border-radius:26px;width:min(100%,500px);position:relative;overflow:hidden;box-shadow:0 30px 80px #193b531c,0 8px 28px #193b530e}.card:before{content:"";background:linear-gradient(90deg, var(--viva-green) 0%, var(--viva-green) 34%, var(--viva-blue) 64%, var(--viva-blue) 100%);height:4px;position:absolute;top:0;left:0;right:0}.portal-card{padding:35px 28px 27px}.brand{justify-content:center;align-items:center;width:100%;margin:3px auto 28px;display:flex}.brand-logo{object-fit:contain;width:min(100%,285px);height:auto;display:block}.intro{text-align:center;margin:0 auto 31px}.eyebrow{color:#548f19;letter-spacing:.105em;text-transform:uppercase;background:#7bbe2d13;border:1px solid #7bbe2d3d;border-radius:999px;justify-content:center;align-items:center;min-height:28px;margin-bottom:12px;padding:0 12px;font-size:11px;font-weight:800;display:inline-flex}h1,h2,p{margin-top:0}h1{color:var(--viva-blue);letter-spacing:-.04em;margin-bottom:11px;font-size:clamp(29px,8vw,38px);line-height:1.08}.intro p,.unavailable-card p,.connecting-card p{color:var(--text-secondary);font-size:15px;line-height:1.55}.intro p{max-width:380px;margin:0 auto}form{gap:20px;display:grid}.field{gap:8px;display:grid}.field>span{color:#274a65;font-size:13px;font-weight:750}.field input{width:100%;min-height:54px;color:var(--text-primary);background:#fbfdfe;border:1px solid #d3e0e8;border-radius:13px;outline:none;padding:0 16px;transition:border-color .16s,box-shadow .16s,background .16s}.field input:hover{background:#fff;border-color:#bdd0dc}.field input:focus{border-color:var(--viva-blue);background:#fff;box-shadow:0 0 0 3px #0e458c1a}.field input::placeholder{color:#96a8b5}.consents{border-top:1px solid #edf2f5;gap:14px;margin-top:2px;padding:18px 0 2px;display:grid}.check-row{color:#405e72;grid-template-columns:21px 1fr;align-items:start;gap:11px;font-size:13.5px;line-height:1.5;display:grid}.check-row.optional{color:#657b8b}.check-row input{width:18px;height:18px;accent-color:var(--viva-green);margin:2px 0 0}.text-button{color:var(--viva-blue);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:750;text-decoration:underline;text-decoration-thickness:1px;display:inline}.primary-button,.secondary-button{cursor:pointer;border:0;font-weight:800;transition:transform .15s,background .15s,box-shadow .15s,opacity .15s}.primary-button{color:#fff;background:linear-gradient(135deg, #11529e 0%, var(--viva-blue) 70%, #0a3d7a 100%);border-radius:14px;min-height:55px;margin-top:2px;box-shadow:0 12px 26px #0e458c30}.primary-button:hover:not(:disabled){background:linear-gradient(135deg,#0e4a91 0%,#083e7e 100%);transform:translateY(-1px);box-shadow:0 15px 30px #0e458c3d}.primary-button:active:not(:disabled){transform:translateY(0)}.primary-button:disabled{cursor:not-allowed;opacity:.44;box-shadow:none}.secondary-button{color:#fff;background:var(--viva-green-dark);border-radius:11px;min-height:42px;padding:0 20px}.privacy-note{color:#8496a3;text-align:center;margin:-4px 0 0;padding-top:3px;font-size:11.5px;line-height:1.45;position:relative}.error-message{color:#8a2930;background:#fff6f6;border:1px solid #f0d3d6;border-radius:11px;margin:0;padding:12px 14px;font-size:13.5px;line-height:1.45}.unavailable-card,.connecting-card{text-align:center;padding:36px 30px}.unavailable-card .brand,.connecting-card .brand{justify-content:center;width:100%;margin:0 auto 32px}.unavailable-card .brand-logo,.connecting-card .brand-logo{width:min(100%,260px)}.status-mark{color:#9a4c32;background:#fff3ed;border-radius:50%;place-items:center;width:50px;height:50px;margin:0 auto 20px;font-size:24px;font-weight:800;display:grid}.spinner{border:4px solid #e5eef3;border-top-color:var(--viva-green);border-radius:50%;width:46px;height:46px;margin:3px auto 24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{z-index:10;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08233985;align-items:end;padding-top:40px;display:grid;position:fixed;inset:0}.terms-modal{background:#fff;border-radius:24px 24px 0 0;grid-template-rows:auto 1fr auto;max-height:calc(100vh - 40px);display:grid;overflow:hidden}.terms-modal header{border-bottom:1px solid #e7eef2;justify-content:space-between;gap:20px;padding:24px 22px 17px;display:flex}.terms-modal h2{color:var(--viva-blue);margin:5px 0 0;font-size:21px}.close-button{color:#456273;cursor:pointer;background:#edf4f6;border:0;border-radius:50%;flex:none;width:38px;height:38px;font-size:27px;line-height:1}.terms-content{color:#486475;padding:20px 22px;font-size:14px;line-height:1.65;overflow-y:auto}.terms-content p:last-child{margin-bottom:0}.terms-modal footer{padding:16px 22px max(16px, env(safe-area-inset-bottom));color:#718793;border-top:1px solid #e7eef2;justify-content:space-between;align-items:center;gap:20px;font-size:12px;display:flex}@media (width>=640px){.portal-card{padding:41px 40px 31px}.portal-card .brand-logo{width:min(100%,300px)}.modal-backdrop{place-items:center;padding:24px}.terms-modal{border-radius:20px;width:min(100%,600px);max-height:min(720px,100vh - 48px)}}@media (width<=380px){.portal-card{padding:31px 20px 24px}.brand-logo{width:min(100%,250px)}h1{font-size:29px}.intro p{font-size:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
