*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f1f5f9;color:#0f172a;font-size:14px;line-height:1.5}.portal-header{background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;padding:16px 24px;text-align:center}.portal-header h1{font-size:18px;font-weight:700}.portal-header p{font-size:12px;color:#ffffffbf;margin-top:2px}.portal-page{max-width:760px;margin:0 auto;padding:28px 20px 60px}.card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px 24px;margin-bottom:20px}.card-title{font-size:13px;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.04em;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid #f1f5f9}.field{margin-bottom:14px}.field-label{display:flex;align-items:center;gap-4:4px;font-size:12px;font-weight:600;color:#374151;margin-bottom:5px}.field-label .req{color:#ef4444;margin-left:3px}.field-input,.field-select,.field-textarea{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;background:#fff;color:#0f172a;outline:none;transition:border-color .15s,box-shadow .15s}.field-input:focus,.field-select:focus,.field-textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.field-input.prefilled{border-color:#2563eb;background:#eff6ff}.field-textarea{resize:vertical;min-height:72px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.prefill-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:#1d4ed8;background:#dbeafe;border:1px solid #bfdbfe;border-radius:4px;padding:1px 6px;margin-left:6px}.prefill-badge.confirmed{color:#15803d;background:#dcfce7;border-color:#bbf7d0}.repeatable-row{border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px;margin-bottom:12px;background:#f8fafc;position:relative}.repeatable-row-num{font-size:11px;font-weight:700;color:#94a3b8;margin-bottom:10px}.btn-remove{position:absolute;top:10px;right:12px;background:none;border:none;cursor:pointer;color:#ef4444;font-size:18px;line-height:1;padding:0 4px}.btn-add{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px dashed #94a3b8;border-radius:8px;background:none;cursor:pointer;font-size:12px;font-weight:600;color:#475569;transition:all .15s}.btn-add:hover{border-color:#2563eb;color:#2563eb;background:#eff6ff}.btn-submit{display:block;width:100%;padding:14px;background:#2563eb;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;transition:background .15s}.btn-submit:hover:not(:disabled){background:#1d4ed8}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.progress-bar-wrap{background:#e2e8f0;border-radius:99px;height:6px;margin-bottom:24px}.progress-bar-fill{height:100%;background:#2563eb;border-radius:99px;transition:width .4s ease}.status-screen{text-align:center;padding:60px 20px}.status-screen .icon{font-size:56px;margin-bottom:16px}.status-screen h2{font-size:22px;font-weight:700;margin-bottom:8px}.status-screen p{color:#64748b;max-width:380px;margin:0 auto}
