:root{--blue:#0c3169;--blue2:#367fd9;--ink:#142033;--muted:#68768b;--line:#dce5ef;--green-bg:#eef8f1;--green:#276a44;--green-line:#c6dfcf;--red-bg:#fff2f2;--red:#994040;--red-line:#eccaca;--gold-bg:#fff8e9;--gold:#85651e;--gold-line:#ead9aa}*{box-sizing:border-box}html,body{margin:0;background:linear-gradient(180deg,#edf4fa 0%,#fff 42%);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}body{min-height:100vh}.shell{width:min(100%,720px);margin:0 auto;padding:9px 10px 38px}.brand{overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(17,48,90,.12)}.brand img{display:block;width:100%;height:auto}.progress-wrap{padding:15px 5px 8px}.progress-meta{display:flex;justify-content:space-between;gap:12px;font-size:13px;font-weight:750;color:var(--muted);margin-bottom:7px}.progress{height:7px;background:#dce6f2;border-radius:999px;overflow:hidden}.progress>div{height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--blue2));transition:width .25s ease}.card{background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:22px;padding:22px 18px;box-shadow:0 16px 40px rgba(17,48,90,.08);margin-top:8px;min-height:355px}.eyebrow{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--blue2);font-weight:850;margin-bottom:9px}h1{font-size:29px;line-height:1.13;margin:0 0 10px}h2{font-size:21px;margin:20px 0 8px}p{font-size:17px;line-height:1.52;color:var(--muted);margin:0 0 18px}.small{font-size:14px;color:var(--muted);line-height:1.48}.choices{display:grid;gap:12px;margin-top:14px}.choice{width:100%;border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px;text-align:left;font-size:18px;font-weight:760;color:var(--ink);display:flex;align-items:center;gap:12px;box-shadow:0 5px 15px rgba(17,48,90,.05);cursor:pointer}.choice:active{transform:scale(.995)}.choice.selected{background:#f0f6fd;border-color:#9dbfe7}.choice.positive{background:var(--green-bg);border-color:var(--green-line);color:var(--green)}.choice.negative{background:var(--red-bg);border-color:var(--red-line);color:var(--red)}.choice.neutral{background:var(--gold-bg);border-color:var(--gold-line);color:var(--gold)}.choice .check{margin-left:auto;font-size:20px}.icon{font-size:25px;min-width:30px}label.field{display:block;font-size:15px;font-weight:820;margin:17px 0 8px}input,textarea,select{width:100%;border:1.5px solid var(--line);border-radius:15px;padding:14px 15px;font-size:18px;outline:none;background:#fff;color:var(--ink)}input{height:56px}textarea{min-height:120px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:#78aae8;box-shadow:0 0 0 4px rgba(55,127,216,.11)}.actions{display:flex;gap:10px;margin-top:22px}button{font:inherit}.next,.back,.soft{border:0;border-radius:14px;padding:15px 17px;font-size:17px;font-weight:820;cursor:pointer}.next{flex:1;color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue2))}.back{background:#edf3f8;color:var(--blue)}.soft{background:#f3f6f9;color:var(--ink)}.note,.warn,.ok,.danger{margin-top:16px;padding:14px;border-radius:14px;font-size:14px;line-height:1.52}.note{background:#f5f8fc;color:#5c697c}.warn{background:var(--gold-bg);color:var(--gold);border:1px solid var(--gold-line)}.ok{background:var(--green-bg);color:var(--green);border:1px solid var(--green-line)}.danger{background:var(--red-bg);color:var(--red);border:1px solid var(--red-line)}.flags{text-align:right;font-size:18px;opacity:.72;margin:14px 8px 0}.summary{display:grid;gap:10px}.sum{border:1px solid var(--line);border-radius:15px;padding:13px 14px;background:#fbfdff}.sum strong{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}.upload-grid{display:grid;gap:10px}.uploadbox{border:1px dashed #abc1da;border-radius:16px;padding:14px;background:#f9fbfe}.audio-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:9px}.link{color:#1761b8;font-weight:750;text-decoration:none}.spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;vertical-align:-3px;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:480px){.shell{padding:8px 9px 28px}.brand{border-radius:16px}.card{padding:20px 16px;border-radius:20px;min-height:335px}h1{font-size:27px}}
.personal-address{font-size:21px;font-weight:850;color:#2f67ad;margin:-1px 0 14px;line-height:1.2}
.record-status{margin-top:12px;padding:12px 13px;border-radius:13px;display:flex;align-items:center;gap:9px;background:#f4f7fa;color:#5f6d80}
.record-status strong{margin-left:auto;font-variant-numeric:tabular-nums}
.rec-dot{width:11px;height:11px;border-radius:50%;background:#aab4c0;flex:0 0 auto}
.record-status.recording{background:#fff1f1;color:#963f3f;border:1px solid #eccaca}
.record-status.recording .rec-dot{background:#d83b3b;box-shadow:0 0 0 0 rgba(216,59,59,.45);animation:recordPulse 1.15s infinite}
.record-status.saved{background:#eef8f1;color:#276a44;border:1px solid #c6dfcf}
.record-status.saved .rec-dot{background:#38a169}
.record-status.error{background:#fff2f2;color:#994040;border:1px solid #eccaca}
.audio-saved{margin-top:12px;font-size:14px;font-weight:800;color:#276a44}
.audio-preview{width:100%;margin-top:9px}
.audio-controls button:disabled{opacity:.45;cursor:not-allowed}
.summary-title{font-size:17px;color:#0c3169;margin:20px 0 8px;padding-bottom:6px;border-bottom:1px solid #e3eaf2}
@keyframes recordPulse{0%{box-shadow:0 0 0 0 rgba(216,59,59,.45)}70%{box-shadow:0 0 0 9px rgba(216,59,59,0)}100%{box-shadow:0 0 0 0 rgba(216,59,59,0)}}

.global-back-actions{justify-content:flex-start;margin-top:22px}
.global-back-actions .back{min-width:112px}

/* Dialog update: 4-digit SMS PIN */
.pin-wrap{display:flex;gap:12px;justify-content:center;margin:12px 0 6px}
.pin-digit{width:64px;height:68px;flex:0 0 64px;text-align:center;padding:0;font-size:32px;font-weight:850;font-variant-numeric:tabular-nums;border-radius:16px}
.pin-digit:focus{border-color:#367fd9;box-shadow:0 0 0 4px rgba(55,127,216,.14)}
.pin-hint{text-align:center;color:var(--muted);font-size:13px;margin-bottom:4px}
.product-loading{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#f7faff;color:var(--muted);font-weight:700}
.product-spinner{border-color:rgba(12,49,105,.18);border-top-color:var(--blue);margin-right:8px}
@media(max-width:480px){.pin-wrap{gap:8px}.pin-digit{width:56px;height:64px;flex-basis:56px;font-size:30px}}
