:root{--primary:#0e7c7b;--primaryDark:#0a5e5d;--accent:#f2a541;--background:#f7f8f6;--text:#1e2a2a;--muted:#5b6b6b;--border:#d5dcda;--error:#b42318;--card:#fff;--radius:14px;color:var(--text);background:var(--background);-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:18px;line-height:1.45}*{box-sizing:border-box}a{color:var(--primary);font-weight:600}button,input{font-family:inherit}body{background:var(--background);margin:0}.screen{max-width:480px;min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));flex-direction:column;gap:16px;margin:0 auto;display:flex}.screen-header{align-items:center;gap:12px;min-height:44px;display:flex}.brand-mark{color:var(--primary);margin-left:auto;font-size:.85rem;font-weight:700}.back{color:var(--text);cursor:pointer;background:0 0;border:none;margin-left:-8px;padding:8px;font-size:1.5rem}h1{margin:0;font-size:1.6rem;line-height:1.2}.subtitle{color:var(--muted);margin:0}.hero{flex-direction:column;gap:8px;margin-top:18vh;display:flex}.stack{flex-direction:column;gap:14px;display:flex}.two-col{grid-template-columns:1fr 1fr;gap:12px;display:grid}.center{text-align:center}.muted{color:var(--muted)}.fine-print{color:var(--muted);margin-top:auto;font-size:.85rem}.btn{border-radius:var(--radius);cursor:pointer;border:2px solid #0000;width:100%;min-height:56px;padding:0 20px;font-size:1.05rem;font-weight:600}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--primary);color:#fff}.btn-primary:active{background:var(--primaryDark)}.btn-secondary{color:var(--primary);border-color:var(--primary);background:#fff}.btn-link{color:var(--primary);background:0 0;min-height:44px;text-decoration:underline}.field{border:none;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.field-label{font-weight:600}.field-hint{color:var(--muted);font-size:.85rem}input[type=text],input[type=tel],input[type=password],input[type=number],input[type=date],.field input{border-radius:var(--radius);border:2px solid var(--border);min-height:54px;color:var(--text);background:#fff;width:100%;padding:0 14px;font-size:1.15rem}input:focus{border-color:var(--primary);outline:none}.pin-input{letter-spacing:.5em;text-align:center;font-size:1.5rem!important}.phone-input{align-items:stretch;display:flex}.phone-input .prefix{border:2px solid var(--border);border-radius:var(--radius) 0 0 var(--radius);background:#eef2f1;border-right:none;align-items:center;padding:0 12px;font-weight:600;display:flex}.phone-input input{border-radius:0 var(--radius) var(--radius) 0}.choice-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.choice{border-radius:var(--radius);border:2px solid var(--border);cursor:pointer;min-height:54px;color:var(--text);background:#fff;font-size:1.05rem}.choice.selected{border-color:var(--primary);background:#e3f2f1;font-weight:700}.consent{align-items:flex-start;gap:12px;font-size:.95rem;display:flex}.consent input{flex-shrink:0;width:26px;height:26px;min-height:0;margin-top:2px}.error{color:var(--error);margin:0;font-weight:600}.notice{border-radius:var(--radius);background:#fff4e0;margin:0;padding:12px 14px}.steps{flex-direction:column;gap:10px;padding-left:1.3em;display:flex}.path-grid{flex-direction:column;gap:12px;display:flex}.path-card{text-align:left;border-radius:var(--radius);border:2px solid var(--border);cursor:pointer;color:var(--text);background:#fff;grid-template-rows:auto auto;grid-template-columns:48px 1fr;column-gap:12px;padding:16px;display:grid}.path-card:active{border-color:var(--primary)}.path-icon{grid-row:span 2;align-self:center;font-size:2rem}.path-title{margin:0;font-size:1.1rem;font-weight:700}.path-text{color:var(--muted);font-size:.95rem}.card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);padding:16px}.card p{margin:0 0 6px}.badge{color:var(--primaryDark);background:#e3f2f1;border-radius:999px;align-self:flex-start;margin:0;padding:6px 12px;font-size:.9rem;font-weight:600}.splash{justify-content:center;align-items:center}.spinner{border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}
