:root{--ink:#10151c;--ink-soft:#33414f;--muted:#5d6b7a;--line:#c7d0da;--line-soft:#e2e8ee;--bg:#eceff3;--surface:#fff;--accent:#17456b;--accent-dark:#0f3251;--accent-soft:#eaf1f7;--danger:#9f1239;--danger-soft:#fdf2f5;--danger-line:#e8b4c2;--radius:2px;--field-h:56px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:17px;line-height:1.5}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.2}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.screen{flex-direction:column;height:100%;display:flex;overflow:hidden}.screen.centred{justify-content:center;align-items:center;padding:24px;overflow:auto}.topbar{background:var(--surface);border-bottom:1px solid var(--line);padding:0 24px;padding-top:env(safe-area-inset-top);flex:none}.topbar-inner{justify-content:space-between;align-items:baseline;gap:16px;max-width:940px;margin:0 auto;padding:14px 0 12px;display:flex}.topbar-title{font-size:25px}.topbar-title:focus{outline:none}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 3px;font-size:11px;font-weight:700}.stepcount{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);white-space:nowrap;margin:0;font-size:13px;font-weight:600}.progress{gap:3px;max-width:940px;margin:0 auto;padding-bottom:10px;display:flex}.progress-step{background:var(--line-soft);flex:1 1 0;height:4px}.progress-step.done{background:var(--accent)}.progress-step.current{background:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-dark)}.content{-webkit-overflow-scrolling:touch;flex:auto;padding:26px 24px 32px;scroll-padding-bottom:120px;overflow-y:auto}.content>*{max-width:940px;margin-left:auto;margin-right:auto}.section-intro{color:var(--ink-soft);border-left:3px solid var(--line);margin-bottom:22px;padding-left:14px;font-size:16px}.actions{background:var(--surface);border-top:1px solid var(--line);padding:14px 24px;padding-bottom:max(14px, env(safe-area-inset-bottom));flex:none;justify-content:space-between;gap:12px;display:flex}.actions-inner{justify-content:space-between;gap:12px;width:100%;max-width:940px;margin:0 auto;display:flex}.actions .btn{min-width:160px}.form-panel{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);padding:26px 28px 28px}.grid{grid-template-columns:repeat(12,1fr);align-items:stretch;gap:22px 18px;display:grid}.field{border:0;flex-direction:column;grid-column:span 12;min-width:0;margin:0;padding:0;display:flex}.field-control{margin-top:0}.field-half{grid-column:span 6}.field-third{grid-column:span 4}.field-quarter{grid-column:span 3}.field-label{color:var(--ink);margin-bottom:5px;padding:0;font-size:15px;font-weight:600;display:block}.req{color:var(--danger);font-weight:700}.field-help{color:var(--muted);margin:0 0 8px;font-size:14px}.field-error{color:var(--danger);margin:6px 0 0;font-size:14px;font-weight:600}.input{width:100%;min-height:var(--field-h);font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);appearance:none;outline:none;padding:13px 14px}.input::placeholder{color:#9aa7b4}textarea.input{resize:vertical;min-height:0;line-height:1.5}select.input{background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 21px) 25px,calc(100% - 15px) 25px;background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:42px}.input:focus{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.has-error .input{border-color:var(--danger)}.other-input{margin-top:10px}.dateparts{gap:10px;display:flex}.datepart-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.datepart-input{text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.08em}.datepart-day,.datepart-month{width:84px}.datepart-year{width:120px}.choices{flex-wrap:wrap;gap:8px;display:flex}.choice{min-width:148px;min-height:var(--field-h);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:12px 16px;display:flex}.choice input{width:21px;height:21px;accent-color:var(--accent);flex:none;margin:0}.choice.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent);font-weight:600}.has-error .choice{border-color:var(--danger-line)}.consent{min-height:var(--field-h);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:14px;padding:15px 18px;display:flex}.consent-text{font-weight:500;line-height:1.45}.field-consent .field-error{margin-left:18px}.consent input{width:23px;height:23px;accent-color:var(--accent);flex:none;margin:0}.consent.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.statement{background:var(--accent-soft);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:0;padding:16px 20px}.statement h3{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:9px;font-size:12px;font-weight:700}.statement p{color:var(--ink-soft);margin:0;font-size:15px;line-height:1.55}.form-error{background:var(--danger-soft);border:1px solid var(--danger-line);border-left:3px solid var(--danger);border-radius:0;margin-bottom:22px;padding:14px 18px}.form-error:focus{outline:3px solid var(--danger);outline-offset:2px}.form-error-title{color:var(--danger);margin:0 0 6px;font-weight:700}.form-error ul{margin:0;padding-left:20px}.form-error li{margin:3px 0}.form-error button{font:inherit;color:var(--danger);text-align:left;cursor:pointer;background:0 0;border:0;padding:2px 0;font-size:15px;text-decoration:underline}.sigpad{position:relative}.sigpad-canvas{background:var(--surface);border:1px solid var(--line);border-bottom:2px solid var(--ink-soft);border-radius:var(--radius);touch-action:none;cursor:crosshair;width:100%;height:190px;display:block}.has-error .sigpad-canvas{border-color:var(--danger)}.sigpad-hint{text-align:center;color:#a6b2be;letter-spacing:.04em;pointer-events:none;font-size:18px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.sigpad-clear{margin-top:8px}a.btn{box-sizing:border-box;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.btn{font:inherit;border-radius:var(--radius);min-height:var(--field-h);cursor:pointer;border:1px solid #0000;padding:14px 26px;font-weight:600}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn-secondary:hover{border-color:var(--muted)}.btn-quiet{color:var(--accent);background:0 0;border-color:#0000;min-height:44px;padding:10px 12px;text-decoration:underline}.btn-lg{font-size:17px}.btn-xl{width:100%;min-height:64px;padding:18px 40px;font-size:19px}.card{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--accent);text-align:left;border-radius:0;width:100%;max-width:560px;padding:40px}.card h1{margin-bottom:14px;font-size:30px}.card .rule{background:var(--line-soft);height:1px;margin:22px 0}.welcome .lead{color:var(--ink-soft);margin:0 0 14px;font-size:17px}.welcome .lead.small{color:var(--muted);font-size:15px}.welcome .btn-xl{margin-top:8px}.fineprint{color:var(--muted);margin:18px 0 0;font-size:13px}.practice-meta{color:var(--muted);margin:0;font-size:13px}.state-centre{text-align:center}.tick{border:2px solid var(--accent);width:64px;height:64px;color:var(--accent);text-align:center;margin:0 auto 20px;font-size:32px;line-height:60px}.spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;margin:0 auto 20px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}*{scroll-behavior:auto!important}}.review-intro{color:var(--ink-soft);border-left:3px solid var(--line);margin-bottom:20px;padding-left:14px}.review-section{background:var(--surface);border:1px solid var(--line);border-radius:0;margin-bottom:14px}.review-section header{border-bottom:1px solid var(--line);background:var(--accent-soft);justify-content:space-between;align-items:center;gap:12px;padding:10px 10px 10px 18px;display:flex}.review-section h2{text-transform:uppercase;letter-spacing:.09em;color:var(--accent);font-size:13px;font-weight:700}.review-section dl{margin:0;padding:6px 18px 12px}.review-row{border-bottom:1px solid var(--line-soft);gap:16px;padding:7px 0;font-size:15px;display:flex}.review-row:last-child{border-bottom:none}.review-row dt{color:var(--muted);flex:0 0 44%}.review-row dd{overflow-wrap:anywhere;flex:auto;margin:0;font-weight:500}.review-sig{max-width:100%;height:56px}.muted{color:#9aa7b4}.idle{z-index:20;background:#10151c99;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.idle .card h2{margin-bottom:10px;font-size:26px}.idle .lead{color:var(--ink-soft);margin:0 0 20px}@media (width<=640px){.content,.topbar,.actions{padding-left:16px;padding-right:16px}.topbar-title{font-size:20px}.topbar-inner{flex-direction:column;align-items:flex-start;gap:2px}.field-half,.field-third,.field-quarter{grid-column:span 12}.form-panel{padding:18px 16px 20px}.datepart-day,.datepart-month,.datepart-year{flex:1 1 0;width:auto}.choice{flex:100%}.review-row{flex-direction:column;gap:2px}.review-row dt{font-size:13px}.card{padding:26px 20px}.actions .btn{flex:auto;min-width:0}}.screen.scrolling{height:100%;overflow-y:auto}.hero{width:100%;max-width:940px;margin:0 auto;padding:44px 24px 40px}.hero-head{border-bottom:2px solid var(--accent);margin-bottom:26px;padding-bottom:20px}.hero-head h1{margin-bottom:8px;font-size:34px}.hero-lead{max-width:60ch;color:var(--ink-soft);margin:0;font-size:16px}.hero-resume{background:var(--accent-soft);border:1px solid var(--accent);border-left-width:3px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;padding:14px 18px;display:flex}.hero-resume-title{margin:0;font-weight:600}.hero-resume-note{color:var(--muted);margin:2px 0 0;font-size:14px}.hero-resume-actions{gap:10px;display:flex}.hero-grid{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.form-card{text-align:left;width:100%;height:100%;min-height:128px;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);cursor:pointer;border-radius:0;align-items:flex-start;gap:16px;padding:20px;display:flex}.form-card:hover{border-color:var(--accent);background:var(--accent-soft)}.form-card-index{letter-spacing:.08em;color:var(--accent);border:1px solid var(--line);flex:none;padding:4px 7px;font-size:13px;font-weight:700}.form-card-body{flex:auto;min-width:0}.form-card-name{margin-bottom:5px;font-size:19px;font-weight:600;display:block}.form-card-blurb{color:var(--ink-soft);margin-bottom:9px;font-size:14px;display:block}.form-card-meta{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600;display:block}.form-card-go{color:var(--accent);flex:none;align-self:center;font-size:22px}.hero-foot{border-top:1px solid var(--line);color:var(--muted);margin-top:30px;padding-top:16px;font-size:13px}.hero-foot p{margin:2px 0}@media (width<=640px){.hero{padding:28px 16px 32px}.hero-head h1{font-size:27px}.hero-grid{grid-template-columns:1fr}}
