:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:16px;color:#182033;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{max-width:100%;overflow-x:hidden}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#fff}#root{min-height:100vh;max-width:100%;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:background-color .2s ease,border-color .2s ease,opacity .2s ease}button:disabled{cursor:not-allowed;opacity:.65}.page{width:100%;max-width:100vw;overflow-x:hidden;min-height:100dvh;display:flex;justify-content:center;padding:0;background:#fff}.onboarding-card{width:100%;max-width:min(430px,100vw);min-width:0;min-height:100dvh;margin:0 auto;padding:18px 18px 16px;display:flex;flex-direction:column;background:#fff}.sticky-top{position:fixed;top:0;left:50%;transform:translate(-50%);z-index:30;width:min(430px,100vw);margin:0;padding:calc(8px + env(safe-area-inset-top)) 18px 8px;background:#fff}.topbar{display:flex;align-items:center;justify-content:center;gap:10px;padding-top:8px}.topbar h1{margin:0;color:#111827;font-size:1.0625rem;font-weight:700;line-height:1.3}.icon-btn{width:32px;height:32px;display:inline-grid;place-items:center;border:1px solid #e3e6eb;border-radius:999px;background:#fff;color:#172033;padding:0}.icon-btn svg,.top-icons svg,.field-icon svg,.upload-icon svg,.note-box svg,.document-card svg,.check-visual svg,.dashed-btn svg{width:18px;height:18px;display:block}.top-icons{display:inline-flex;gap:8px;color:#4b5563}.top-icons svg{padding:2px;border-radius:999px}.progress-line{height:4px;width:100%;margin-top:0;border-radius:999px;--progress-pct: 10%;background:linear-gradient(to right,#111827 var(--progress-pct),#e5e7eb var(--progress-pct))}.content{min-width:0;margin-top:0;padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:20px}.eyebrow{margin:0 0 8px;padding:0;background:#fff;color:#8a1538;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.content h2{margin:0 0 12px;padding:0;background:#fff;color:#111827;font-size:1.35rem;font-weight:700;line-height:1.35}.content h3{margin:18px 0 10px;color:#1f2937;font-size:.95rem;font-weight:700}.desc{margin:0 0 18px;color:#5d6677;font-size:.9375rem;line-height:1.55}.hint{margin-top:14px;color:#6b7280;font-size:.875rem}.form-field{display:block;margin-bottom:12px}.form-field>span:first-child{display:block;margin-bottom:6px;color:#4b5563;font-size:.78rem;font-weight:600}.input-wrap,.select-wrap{position:relative;width:100%;min-width:0}input,select,textarea{width:100%;max-width:100%;min-width:0;border:1px solid #d9dee7;border-radius:12px;background:#fff;color:#111827;outline:none;display:block}input,select{height:48px;padding:0 14px}input[type=date]{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-height:48px;line-height:48px}input[type=date]::-webkit-date-and-time-value{min-height:48px;text-align:left}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:42px}textarea{min-height:86px;padding:12px 14px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#8a1538;box-shadow:0 0 0 3px #8a15381a}input::placeholder,textarea::placeholder{color:#a3abb8}input:disabled,textarea:disabled,select:disabled{border-color:#c9d1dd;background:#eef2f6;color:#374151;opacity:1;-webkit-text-fill-color:#374151;cursor:not-allowed}.field-icon{position:absolute;right:13px;top:50%;color:#717b8d;transform:translateY(-50%);pointer-events:none}.option-list{display:grid;gap:10px;min-width:0;margin:16px 0}.option-card{width:100%;min-width:0;min-height:84px;display:flex;align-items:center;gap:12px;border:1px solid #d9dee7;border-radius:14px;padding:14px;background:#fff}.option-card input{position:absolute;opacity:0;pointer-events:none}.option-body{flex:1;min-width:0}.option-body strong{display:block;color:#111827;font-size:.98rem;line-height:1.35}.option-body small{display:block;margin-top:4px;color:#687385;font-size:.8125rem;line-height:1.45}.radio-visual{width:22px;height:22px;flex:0 0 auto;border:2px solid #aeb6c3;border-radius:999px;position:relative}.option-card:has(input:checked){border-color:#8a1538;background:#fff8fa}.option-card:has(input:checked) .radio-visual{border-color:#8a1538}.option-card:has(input:checked) .radio-visual:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:inherit;background:#8a1538}.checks-grid{display:grid;grid-template-columns:1fr;gap:10px;min-width:0}.check-card,.check-list label{display:flex;align-items:flex-start;gap:10px;color:#243044;font-size:.9rem;line-height:1.45}.check-card{min-width:0;border:1px solid #e1e5ec;border-radius:12px;padding:12px;background:#fff}.check-card input{position:absolute;opacity:0;pointer-events:none}.check-visual{width:20px;height:20px;flex:0 0 auto;display:grid;place-items:center;border:1px solid #b8c0cc;border-radius:6px;color:transparent}.check-card:has(input:checked){border-color:#8a1538;background:#fff8fa}.check-card:has(input:checked) .check-visual{border-color:#8a1538;background:#8a1538;color:#fff}.upload-box{width:100%;min-width:0;min-height:108px;display:grid;place-items:center;gap:6px;border:1px dashed #aeb6c3;border-radius:14px;padding:16px;margin-bottom:12px;background:#fbfcfd;text-align:center}.readonly-doc{width:100%;min-width:0;display:flex;gap:12px;border:1px solid #e1e5ec;border-radius:14px;padding:14px;margin-bottom:12px;background:#fbfcfd}.readonly-doc strong,.readonly-doc small,.readonly-doc a,.readonly-doc em{display:block}.readonly-doc strong{color:#1f2937;font-size:.95rem}.readonly-doc small{margin-top:4px;color:#687385;font-size:.78rem;line-height:1.45}.readonly-doc a,.readonly-doc em{margin-top:8px;color:#8a1538;font-size:.8125rem;font-style:normal}.upload-box input{position:absolute;opacity:0;pointer-events:none}.upload-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:999px;background:#f1f3f6;color:#8a1538}.upload-box strong{color:#1f2937;font-size:.95rem}.upload-box small{color:#687385;font-size:.78rem;line-height:1.45}.note-box,.document-card{min-width:0;display:flex;gap:10px;border-radius:14px;padding:12px;margin:14px 0;background:#f6f7f9;color:#4b5563;font-size:.875rem;line-height:1.5}.note-box svg,.document-card svg{flex:0 0 auto;color:#8a1538}.document-card{align-items:flex-start;border:1px solid #e1e5ec;background:#fff}.document-card strong{display:block;margin-bottom:4px;color:#111827}.document-card p{margin:0}.dashed-btn{width:100%;min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;border:1px dashed #aeb6c3;border-radius:12px;background:#fff;color:#374151;padding:12px}.experience-row{border-top:1px solid #eef0f4;padding-top:6px}.sow-list{display:grid;gap:12px;min-width:0}.sow-row{min-width:0;border:1px solid #e1e5ec;border-radius:14px;padding:12px;background:#fff}.sow-row-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;color:#1f2937;font-size:.9rem}.text-btn{border:0;background:transparent;color:#8a1538;padding:2px 0;font-size:.8125rem}.conditional-section{min-width:0;border:1px solid #e1e5ec;border-radius:14px;padding:12px;margin-top:16px;background:#fbfcfd}.standalone-check{display:flex;align-items:flex-start;gap:10px;margin:10px 0 12px;color:#243044;font-size:.9rem;line-height:1.45}.standalone-check input{width:18px;height:18px;margin:1px 0 0;accent-color:#8a1538}.check-list{display:grid;gap:12px;margin-top:16px}.check-list input{width:18px;height:18px;margin:1px 0 0;accent-color:#8a1538}.draft-error{border:1px solid #fecaca;border-radius:12px;padding:10px 12px;margin:4px 0 0;background:#fff1f2;color:#991b1b;font-size:.8125rem;line-height:1.45}.footer-actions{margin-top:auto;display:flex;gap:12px;padding-top:18px}.light-btn,.dark-btn{min-width:0;height:48px;border-radius:999px;font-size:.98rem;font-weight:700}.light-btn{flex:1;width:auto;border:1px solid #c8ced8;background:#fff;color:#2f3848}.footer-actions .prev-btn{border:0}.dark-btn{flex:2;width:auto;border:0;background:#111827;color:#fff}.next-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:999px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dark-btn:hover{background:#8a1538}.logout-link{align-self:center;margin-top:12px;border:0;background:transparent;color:#697386;font-size:.8125rem;text-decoration:underline}.page-indicator{margin-top:8px;color:#8a93a3;font-size:.8125rem;text-align:center}.actions{display:flex;gap:12px;margin-top:24px}.actions .dark-btn,.actions .light-btn{flex:1;width:auto}.contact-bind-panel{margin:14px 0;padding:14px;border:1px solid #e1e5ec;border-radius:14px;background:#fbfcfd}.contact-bind-input{width:100%;max-width:100%;min-width:0;height:48px;padding:0 14px;border:1px solid #d9dee7;border-radius:12px;background:#fff;color:#111827;font:inherit}.contact-input-with-action{position:relative;width:100%;min-width:0}.contact-bind-input.contact-bind-input--suffix{padding-right:132px}.contact-phone-bind-row{display:flex;align-items:stretch;gap:10px;min-width:0}.contact-phone-bind-row .contact-input-with-action{flex:1;min-width:0}.contact-phone-code-select{flex-shrink:0;width:92px;height:48px;padding:0 10px;border:1px solid #d9dee7;border-radius:12px;background:#fff;color:#111827;font:inherit;font-size:.9375rem;font-weight:600}.contact-phone-code-select:focus{outline:none;border-color:#8a1538;box-shadow:0 0 0 3px #8a15381a}.contact-phone-code-select:disabled{border-color:#c9d1dd;background:#eef2f6;color:#374151;cursor:not-allowed}.contact-bind-hint{margin:0 0 12px;font-size:.8125rem;color:#5d6677;line-height:1.45}.contact-submit-btn{width:100%;margin-top:0;height:46px;border-radius:12px;border:0;background:#111827;color:#fff;font-size:.9375rem;font-weight:700}.contact-submit-btn:hover:not(:disabled){background:#8a1538}.contact-bind-msg{margin:0 0 12px;font-size:.8125rem;color:#374151;line-height:1.45}.contact-modal-body .contact-submit-btn{margin-top:10px}.contact-readonly-field{width:100%;max-width:100%;min-width:0;height:48px;padding:0 14px;border:1px solid #c9d1dd;border-radius:12px;background:#eef2f6;color:#374151;font:inherit;opacity:1;-webkit-text-fill-color:#374151}.readonly-input-with-action{position:relative;width:100%;min-width:0}.contact-readonly-field.contact-readonly-field--suffix{padding-right:52px}.contact-change-link-inside{position:absolute;top:50%;right:8px;transform:translateY(-50%);z-index:1;margin:0;padding:4px 0;max-width:calc(100% - 24px);border:none;background:transparent;color:#2563eb;font-size:.8125rem;font-weight:600;line-height:1.2;cursor:pointer;text-decoration:none;white-space:nowrap}.contact-change-link-inside:hover:not(:disabled){color:#1d4ed8;text-decoration:underline}.contact-change-link-inside:disabled{cursor:not-allowed;opacity:.55}.contact-modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}.contact-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#11182773}.contact-modal-panel{position:relative;z-index:1;width:100%;max-width:min(400px,100vw - 32px);max-height:min(560px,90dvh);overflow:auto;border-radius:16px;background:#fff;box-shadow:0 20px 50px #1118272e}.contact-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 12px;border-bottom:1px solid #e8ecf2}.contact-modal-header h3{margin:0;font-size:1.0625rem;font-weight:700;color:#111827}.contact-modal-close{flex-shrink:0;width:36px;height:36px;display:grid;place-items:center;margin:0;padding:0;border:none;border-radius:10px;background:transparent;color:#4b5563;font-size:1.5rem;line-height:1;cursor:pointer}.contact-modal-close:hover:not(:disabled){background:#f3f4f6;color:#111827}.contact-modal-steps{margin:0;padding:10px 18px 0;font-size:.8125rem;font-weight:600;color:#2563eb}.contact-modal-body{padding:14px 18px 18px}.contact-modal-lead{margin:0 0 12px;font-size:.875rem;color:#5d6677;line-height:1.5}.contact-modal-readonly-row{position:relative;display:flex;align-items:center;min-height:48px;margin:0 0 14px;padding:10px 136px 10px 14px;border-radius:12px;border:1px solid #e1e5ec;background:#f9fafb}.contact-modal-readonly-row-text{flex:1;min-width:0;word-break:break-all;font-size:.9375rem;color:#111827;line-height:1.35}@media (min-width: 431px){.onboarding-card{border-left:1px solid #eef0f4;border-right:1px solid #eef0f4}}
