*{box-sizing:border-box}body{margin:0;background:#f2f6fb;color:#21334a;font:15px/1.5 -apple-system,BlinkMacSystemFont,Arial,sans-serif}main{max-width:540px;margin:0 auto;padding:28px 20px}header small{color:#1469de;font-weight:800;letter-spacing:1.5px;font-size:10px}h1{font-size:27px;line-height:1.2;margin:10px 0}h2{font-size:21px;margin:0 0 8px}p{color:#697d96}.steps{display:flex;list-style:none;padding:0;gap:8px;margin:24px 0}.steps li{flex:1;text-align:center;border-radius:999px;background:#e2eaf4;color:#60758f;padding:8px 3px;font-size:12px;font-weight:700}.steps .active{background:#1669e8;color:white}section{background:#fff;border:1px solid #dbe4ef;border-radius:18px;padding:20px;margin-top:20px;box-shadow:0 8px 30px #1a3c6008}.camera-frame{position:relative;aspect-ratio:1.5;background:#132133;border-radius:14px;overflow:hidden;margin:20px 0;display:flex;align-items:center;justify-content:center}.camera-frame video,.camera-frame img{position:absolute;width:100%;height:100%;object-fit:contain}.card-guide{position:absolute;inset:10% 7%;border:2px solid #8bc6ff;border-radius:13px;pointer-events:none;box-shadow:0 0 0 100px #0003}#frame-label{position:absolute;bottom:2%;font-size:9px;color:#d8ecff;letter-spacing:1px;pointer-events:none}.buttons{display:flex;gap:10px;flex-wrap:wrap}button{border:1px solid transparent;background:#1469e8;color:white;border-radius:999px;padding:12px 18px;font:700 13px inherit;cursor:pointer;flex:1}button:disabled{opacity:.5}.secondary{background:white;color:#37516e;border-color:#cdd9e7}.text{background:none;color:#2164b8;padding:10px 0;text-decoration:underline;font-size:12px}.privacy{font-size:11px}.error{color:#b42318!important}label{display:block;font-size:12px;font-weight:700;margin-top:18px}input:not([type=checkbox]){width:100%;display:block;border:1px solid #c4d2e2;border-radius:9px;padding:12px;margin-top:6px;font:16px inherit}.consent{display:flex;gap:9px;font-weight:400;margin:20px 0;align-items:flex-start}.consent input{margin-top:4px}#signature{display:block;width:100%;aspect-ratio:3;background:#f8fbff;border:1px solid #bacde3;border-radius:10px;margin-top:8px;touch-action:none}#terms p{font-size:12px;color:#3e526c}#summary{border-radius:10px;padding:12px;background:#edf4ff;margin:15px 0;font-size:13px}.checkmark{font-size:40px;color:#147649}footer{font-size:10px;color:#8b9db2;text-align:center;margin:25px}#done{text-align:center}[hidden]{display:none!important}


.capture-stage{position:relative}.shutter-rail{display:flex;align-items:center;justify-content:center}.shutter{flex:none;width:76px;height:76px;padding:0;border:5px solid #fff;border-radius:50%;background:#1469ee;box-shadow:0 0 0 2px #1469ee;touch-action:manipulation}.shutter:active{transform:scale(.94)}.shutter:focus-visible{outline:3px solid #8bc6ff;outline-offset:6px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#close-page{font-weight:800;width:100%;margin-top:14px}#close-help{font-size:12px}
body.capture-mode{background:#080d16;overflow:hidden;color:#fff}body.capture-mode main{max-width:none;padding:0}body.capture-mode header,body.capture-mode .steps,body.capture-mode footer,body.capture-mode .privacy,body.capture-mode .capture-instructions{display:none}body.capture-mode #photo{position:fixed;inset:0;height:100dvh;margin:0;border:0;border-radius:0;padding:0;background:#080d16;box-shadow:none;display:grid;grid-template-rows:64px minmax(0,1fr) 124px;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}body.capture-mode #photo-title{grid-row:1;margin:0;align-self:center;text-align:center;font-size:18px;font-weight:700;padding:0 20px}body.capture-mode .capture-stage{grid-row:2;min-height:0;margin:0 12px}body.capture-mode .camera-frame{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;margin:0;border-radius:18px;background:#101827}body.capture-mode .camera-frame video{object-fit:cover}body.capture-mode .camera-frame img{object-fit:contain;background:#101827}body.capture-mode .card-guide{inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:var(--guide-width,86%);height:var(--guide-height,54%);border:2px solid #fff;border-radius:14px;box-shadow:0 0 0 200vmax #0006}body.capture-mode #frame-label{bottom:20px;left:10px;right:10px;text-align:center;font-size:11px;letter-spacing:.3px;color:#fff}body.capture-mode .shutter-rail{position:fixed;left:0;right:0;bottom:calc(24px + env(safe-area-inset-bottom));height:76px;z-index:2}body.capture-mode #message{position:fixed;z-index:4;left:16px;right:16px;top:calc(56px + env(safe-area-inset-top));text-align:center;font-size:12px;margin:0;color:#fff;pointer-events:none}body.camera-live #message:not(.error){display:none}body.capture-mode .buttons{grid-row:3;align-self:center;justify-content:center;padding:0 22px;gap:16px;z-index:3}body.camera-live .buttons{position:fixed;bottom:calc(48px + env(safe-area-inset-bottom));left:18px;padding:0;display:block}body.camera-live #camera{display:none}body.camera-live #upload{font-size:11px;max-width:82px;padding:8px;background:transparent;color:#d9e7ff;border:0}body.capture-mode #restart{display:none}body.capture-mode #retake{background:#24334a;color:white;border:1px solid #4c607c}body.capture-mode #continue{background:#1469ee;color:#fff}body.capture-mode #retake,body.capture-mode #continue{min-height:48px;font-weight:700}body.camera-review .card-guide,body.camera-review #frame-label{display:none}body.camera-review #photo-title:after{content:' · Review';color:#aabbd0;font-weight:400}body.camera-review #message{top:auto;bottom:calc(100px + env(safe-area-inset-bottom));color:#bfcde0}
@media(orientation:landscape){body.capture-mode #photo{grid-template-columns:minmax(0,1fr) 116px;grid-template-rows:48px minmax(0,1fr);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}body.capture-mode #photo-title{grid-column:1;grid-row:1;font-size:16px}body.capture-mode .capture-stage{grid-column:1;grid-row:2;margin:0 8px 12px 12px}body.capture-mode .shutter-rail{left:auto;right:calc(20px + env(safe-area-inset-right));top:50%;bottom:auto;transform:translateY(-50%);width:76px}body.camera-live .buttons{left:auto;right:calc(14px + env(safe-area-inset-right));bottom:16px;width:90px;text-align:center}body.capture-mode #message{left:20px;right:136px;top:48px}body.camera-review .buttons{grid-column:2;grid-row:1 / 3;display:flex;flex-direction:column;padding:8px;gap:12px}body.camera-review .buttons button{flex:none;width:100%;font-size:12px;padding:10px}body.camera-review #message{top:48px;bottom:auto}}
