:root{--bg:#f8fafc;--text:#44546a;--text-h:#44546a;--text-muted:#64748b;--text-body:#334155;--border:#e2e8f0;--input-border:#cbd5e1;--card-bg:#fff;--card-radius:16px;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-ring:#2563eb26;--link:#2671b8;--link-bg:#eff6ff;--danger:#dc2626;--danger-bg:#fef2f2;--shadow:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;font:16px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0}#root{min-height:100svh}h1,h2{font-family:var(--sans);color:var(--text-h);margin:0;font-weight:700}p{margin:0}.page{background:var(--bg);flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:40px 20px;display:flex}.content-wrapper{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:480px;display:flex}.logo-container{justify-content:center;width:100%;margin-bottom:8px;display:flex}.app-logo{object-fit:contain;width:70%;max-width:300px;height:auto}.heading{color:var(--text-h);margin-bottom:10px;font-size:1.75rem;font-weight:700}.description{color:var(--text);max-width:420px;margin-bottom:28px;font-size:1.05rem;line-height:1.6}.card{box-sizing:border-box;background-color:var(--card-bg);border:1px solid var(--border);border-radius:var(--card-radius);width:100%;max-width:400px;box-shadow:var(--shadow);padding:28px}.form{flex-direction:column;gap:14px;display:flex}.field-label{text-align:left;color:var(--text-muted);margin-bottom:-6px;font-size:.85rem;font-weight:600}.form-input{color:#1e293b;box-sizing:border-box;border:1px solid var(--input-border);background-color:#fff;border-radius:8px;width:100%;padding:14px;font-family:inherit;font-size:16px;transition:border-color .2s,box-shadow .2s}.form-input:disabled{color:var(--text-body);cursor:not-allowed;opacity:1;background-color:#f1f5f9}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.submit-btn{color:#fff;cursor:pointer;background-color:var(--accent);border:none;border-radius:8px;padding:14px;font-family:inherit;font-size:16px;font-weight:600;transition:background-color .2s}.submit-btn:hover{background-color:var(--accent-hover)}.submit-btn:disabled{cursor:not-allowed;opacity:.6}.error-text{color:var(--danger);background-color:var(--danger-bg);text-align:left;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:14px}.status-text{color:var(--text-muted);margin-top:14px;font-size:14px}.badge{color:var(--link);background-color:var(--link-bg);border-radius:9999px;margin-bottom:16px;padding:6px 16px;font-size:.95rem;font-weight:700;display:inline-block}.summary{text-align:left;grid-template-columns:auto 1fr;gap:10px 16px;margin:0;display:grid}.summary dt{color:var(--text-muted);font-size:.85rem;font-weight:600}.summary dd{color:var(--text-body);margin:0;font-size:.95rem}.reset-btn{color:var(--text-muted);cursor:pointer;border:1px solid var(--input-border);background:0 0;border-radius:30px;margin-top:28px;padding:10px 24px;font-family:inherit;font-size:14px;font-weight:500;transition:background-color .2s,color .2s,border-color .2s}.reset-btn:hover{color:var(--text-body);background-color:#f1f5f9;border-color:#94a3b8}.content-wrapper-wide{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:720px;display:flex}.card-wide{box-sizing:border-box;background-color:var(--card-bg);border:1px solid var(--border);border-radius:var(--card-radius);width:100%;box-shadow:var(--shadow);text-align:left;padding:32px}.form-section{flex-direction:column;gap:14px;display:flex}.form-section+.form-section{margin-top:28px}.section-title{color:var(--text-h);margin:0;font-size:1.15rem;font-weight:700}.section-intro{color:var(--text-muted);white-space:pre-line;margin:-6px 0 0;font-size:.9rem;line-height:1.6}.required-mark{color:var(--danger)}.field-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=560px){.field-row{grid-template-columns:1fr}}.radio-row,.checkbox-grid{text-align:left;flex-wrap:wrap;gap:10px 24px;display:flex}.checkbox-grid{flex-direction:column;gap:10px}.radio-option,.checkbox-option{color:var(--text-body);cursor:pointer;align-items:center;gap:8px;font-size:.95rem;display:flex}.radio-option input,.checkbox-option input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.divider{border:none;border-top:1px solid var(--border);margin:28px 0 0}.consent-block{border:1px solid var(--border);max-height:220px;color:var(--text-body);white-space:pre-line;text-align:left;background-color:#f8fafc;border-radius:8px;padding:16px;font-size:.85rem;line-height:1.6;overflow-y:auto}.draft-banner{color:#92400e;text-align:left;background-color:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:10px 14px;font-size:.85rem;font-weight:600}.repeater-row{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:10px;padding:14px;display:flex}.repeater-row-header{justify-content:space-between;align-items:center;display:flex}.repeater-row-label{color:var(--text-muted);font-size:.85rem;font-weight:600}.row-btn{color:var(--text-muted);cursor:pointer;border:1px solid var(--input-border);background:0 0;border-radius:8px;align-self:flex-start;padding:6px 12px;font-family:inherit;font-size:13px;font-weight:500;transition:background-color .2s,color .2s,border-color .2s}.row-btn:hover{color:var(--text-body);background-color:#f1f5f9;border-color:#94a3b8}.row-btn-danger{color:var(--danger);border-color:#fecaca}.row-btn-danger:hover{background-color:var(--danger-bg);border-color:#fca5a5}.signature-pad{border:1px solid var(--input-border);touch-action:none;cursor:crosshair;background:#fff;border-radius:8px;width:100%;display:block}.signature-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.signature-hint{color:var(--text-muted);font-size:.8rem}.file-input{color:var(--text-body);font-size:.9rem}.summary-section-title{color:var(--text-h);margin:0 0 8px;font-size:1rem;font-weight:700}.summary-section+.summary-section{margin-top:20px}
