*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body,#root{min-height:100%;font-family:Segoe UI,Arial,sans-serif;color:#231f20;background:#f4f4f4}button,input,textarea,select{font:inherit}.app{min-height:100vh;max-width:640px;margin:0 auto;background:#f4f4f4}.screen{padding:16px 14px 14px}.banner{background:#fce8e9;border-left:3px solid #e3272d;color:#6f0f12;border-radius:6px;padding:11px 13px;font-size:13px;line-height:1.45;margin-bottom:12px}.card{background:#fff;border:1px solid #d9d9d9;border-radius:8px;margin-bottom:12px;padding:14px;box-shadow:0 1px 2px #231f200d}.card--accent{border-left:3px solid #e3272d}.section-title{font-size:11.5px;font-weight:800;color:#6b6b6b;text-transform:uppercase;letter-spacing:.8px;margin:16px 0 8px}.job-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.job-title__number{color:#c21f24;font-size:13px;font-weight:800}.job-title__name{font-size:18px;font-weight:750;margin-top:2px}.status{border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800;white-space:nowrap;background:#e9e9e9;color:#6b6b6b}.status--complete{background:#e8f5e9;color:#2e7d32}.field{margin-bottom:12px}.field label{display:block;font-size:12px;color:#6b6b6b;font-weight:650;margin-bottom:5px}.input,.textarea,.select{width:100%;border:1px solid #d9d9d9;background:#fff;border-radius:8px;min-height:48px;padding:12px;font-size:16px;color:#231f20}.textarea{min-height:96px;resize:vertical}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.chip-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.chip{min-height:44px;border:1px solid #d9d9d9;background:#fff;border-radius:8px;padding:8px 10px;text-align:left;color:#231f20}.chip--on{border-color:#e3272d;background:#fce8e9;color:#6f0f12;font-weight:750}.step-card{border-left:3px solid #e65100}.button{width:100%;min-height:52px;border:none;border-radius:8px;background:#e3272d;color:#fff;font-weight:750;cursor:pointer;padding:0 16px}.button:disabled{background:#c4c4c4;cursor:not-allowed}.button--secondary{background:#fff;color:#c21f24;border:1px solid #f15a5f}.actions{display:grid;gap:10px}.empty,.loading,.error{min-height:60vh;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:24px;gap:12px;color:#6b6b6b}.spinner{width:32px;height:32px;border:3px solid #e9e9e9;border-top-color:#e3272d;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
