:root{--bg: ##8e44ad;--panel:#8e44ad;--muted: #9ca3af;--text: #e5e7eb;--accent: #22c55e;--warn: #f59e0b;--danger: #ef4444;--border: #1f2937}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,Cantarell,Helvetica Neue,Arial,Apple Color Emoji,Segoe UI Emoji;background:linear-gradient(180deg,#8e44ad,#8e44ad 30%,#8e44ad);color:var(--text)}.container{max-width:1100px;margin:0 auto;padding:24px}header{margin-bottom:20px}h1{margin:0 0 6px;font-size:28px}.muted{color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px;margin-bottom:16px;box-shadow:0 6px 18px #00000059}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}label{display:block;font-weight:600;margin-bottom:6px}input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],select,textarea{width:100%;padding:10px 12px;background:#8e44ad;color:var(--text);border:1px solid var(--border);border-radius:10px;outline:none}textarea{min-height:80px}.row{display:flex;gap:10px;flex-wrap:wrap}.row>*{flex:1}.buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}button{padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:#0b1220;color:var(--text);cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:#04260f;font-weight:700}button.warn{background:var(--warn);border-color:var(--warn);color:#2a1802;font-weight:700}button.danger{background:var(--danger);border-color:var(--danger);color:#2a0909;font-weight:700}.badge{padding:4px 8px;border-radius:999px;background:#0b1220;border:1px solid var(--border);color:var(--muted);font-size:12px}.badge.good{background:#22c55e26;border-color:#166534;color:#a7f3d0}.badge.mid{background:#f59e0b26;border-color:#92400e;color:#fde68a}.badge.bad{background:#ef444426;border-color:#7f1d1d;color:#fecaca}.sectionTitle{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.scoreBox{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;border:1px solid var(--border)}.scoreBox strong{font-size:14px}.kv{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.kv .fill{display:flex;gap:18px;flex-wrap:wrap}.kv.vertical .fill{flex-direction:column;gap:6px}.footer{margin-top:32px;color:var(--muted);text-align:center}.error{color:#fca5a5;font-size:12px;margin-top:4px}.inputWithSpinner{position:relative}.inputWithSpinner.loading:after{content:"";position:absolute;right:10px;top:50%;width:16px;height:16px;border:2px solid var(--muted);border-top-color:var(--text);border-radius:50%;transform:translateY(-50%);animation:spin .8s linear infinite}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}.gpsInput[readonly]{color:var(--muted)}.topbar{position:sticky;top:0;z-index:50;background:var(--panel);border-bottom:1px solid var(--border);padding:12px 24px}.brand{display:flex;align-items:center;gap:12px}.logo{height:36px;width:auto;border-radius:8px}.title{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:20px;line-height:1}.withIcon{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px}.stepbar-labels{display:flex;justify-content:space-between;margin-top:8px}.step-dot{min-width:28px;height:22px;padding:0 6px;border-radius:999px;background:#0b1220;border:1px solid var(--border);color:var(--muted);display:grid;place-items:center;font-size:12px;line-height:1}.stepbar{margin:12px 0 18px}.stepbar-track{position:relative;height:6px;background:#1f2937;border-radius:999px;overflow:hidden}.stepbar-fill{position:absolute;inset:0 auto 0 0;background:var(--accent);transition:width .25s ease;border-radius:999px}.stepbar-labels{display:grid;grid-template-columns:repeat(var(--step-count, 14),1fr);gap:0;margin-top:8px}.step-node{display:grid;justify-items:center;row-gap:4px}.step-dot{min-width:28px;height:22px;padding:0 6px;border-radius:999px;background:#0b1220;border:1px solid var(--border);color:var(--muted);font-size:12px;line-height:22px;text-align:center}.step-dot.done{background:#22c55e26;color:#a7f3d0;border-color:#166534}.step-dot.clickable{cursor:pointer}.step-dot.clickable:hover{filter:brightness(1.15)}.step-short{font-size:11px;color:var(--muted);white-space:nowrap}.step-short.done{color:#cbd5e1}.stepbar-caption{margin-top:6px;color:var(--muted);font-weight:600}.table{display:grid;gap:8px}.table .thead,.table .trow{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:12px;align-items:center}.thead{font-weight:600;background:#eef6ff;padding:8px 12px;border-radius:6px;text-align:left;color:#1f2937}.thead div{display:flex;align-items:center;gap:6px;font-size:14px}.trow{padding:8px 12px;border-bottom:1px solid #e5e7eb;background:#1f2937;border-radius:4px}.buttons{position:sticky;bottom:0;background:var(--bg);padding:12px 0;display:flex;justify-content:space-between;align-items:center;gap:12px;z-index:5}.buttons .btn-right{display:flex;gap:12px}button.secondary{white-space:nowrap}.errorSummary{background:#fff3f3;border:1px solid #f5c2c7;color:#842029;padding:12px;border-radius:8px;margin:12px 0 16px}.errorSummary ul{margin:8px 0 0;padding-left:18px}.errorSummary .linklike{background:transparent;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer;font-weight:600}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:#dc2626;outline-color:#dc2626}.step-dot{border-radius:9999px;width:36px;height:36px}.step-dot.st-complete{background:#e7f7ec;border:2px solid #28a745;color:#28a745}.step-dot.st-incomplete{background:#fdecec;border:2px solid #dc3545;color:#dc3545}.step-dot.st-current{background:#eef5ff;border:2px solid #2f6fed;color:#2f6fed}.step-short.st-complete{color:#28a745}.step-short.st-incomplete{color:#dc3545}.step-short.st-current{color:#2f6fed;font-weight:600}.alert{padding:10px 12px;border-radius:8px;font-size:.95rem}.alert.warning{background:#fff7e6;border:1px solid #ffe0a3}.alert.info{background:#eef6ff;border:1px solid #cfe3ff}.stepbar{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.stepbar::-webkit-scrollbar{display:none}input,select,textarea,button{min-height:44px;font-size:16px}@media (max-width: 1024px){.grid-3{grid-template-columns:1fr 1fr}}@media (max-width: 680px){.container{padding:16px}.panel{padding:14px;border-radius:12px}h1{font-size:22px}.grid-2,.grid-3{grid-template-columns:1fr}}.form-row .radio-group{align-self:end;padding-bottom:2px}.radio-group{flex-wrap:wrap;gap:12px 18px}.buttons{gap:10px}@media (max-width: 680px){.buttons{flex-direction:column;align-items:stretch;gap:8px;padding:12px}.buttons .btn-right{flex-direction:column;gap:8px}.buttons button{width:100%}}@media (max-width: 900px){.table .thead{display:none}.table .trow{grid-template-columns:1fr;gap:.5rem;border:1px solid #e5e7eb;border-radius:10px;background:#fff2;padding:.75rem;margin-bottom:.5rem}.table .trow .cell{display:grid;grid-template-columns:9rem 1fr;gap:.25rem .5rem}.table .trow .cell:before{content:attr(data-label);color:#cbd5e1;font-size:.9rem}}@media (max-width: 680px){.topbar{padding:10px 14px}.logo{height:30px}.title{font-size:18px}}@media (max-width: 680px){label{margin-bottom:4px}.kv{gap:6px;margin-bottom:12px}.scoreBox{padding:6px 8px}}select{padding-right:40px;background-position:right 10px center}@media (max-width: 680px){.errorSummary{padding:10px;font-size:14px}.errorSummary .linklike{display:inline-block;margin:2px 0}}:root{--bg: #8e44ad}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;min-height:44px;line-height:1.2;padding:10px 40px 10px 12px;border-radius:10px;background-color:#8e44ad;color:#fff;border:1px solid rgba(255,255,255,.35);background-image:url("data:image/svg+xml;utf8,    <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' width='20' height='20' fill='none'>      <path d='M6 8l4 4 4-4' stroke='white' stroke-opacity='.8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/>    </svg>");background-repeat:no-repeat;background-position:right 12px center;background-size:20px 20px}select:focus{outline:none;border-color:#fff;box-shadow:0 0 0 3px #fff3}select::-ms-expand{display:none}.form-row{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:end}.form-row label{margin-bottom:6px}.form-row select{min-height:44px}.form-row .radio-group{display:flex;align-items:center;gap:16px;min-height:44px;padding-bottom:2px}@media (max-width: 680px){.form-row{grid-template-columns:1fr}.form-row .radio-group{order:2;justify-content:flex-start}}.toolbar{display:flex;align-items:center;gap:12px;white-space:nowrap;overflow-x:auto;padding:8px 12px;margin-bottom:12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;position:sticky;top:0;z-index:20}.toolbar .input,.toolbar select{height:36px;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;outline:none}.toolbar .input:focus,.toolbar select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.alert,.muted{filter:none!important;opacity:1!important;color:#0f172a}.alert.info{background:#eef2ff;border-left:4px solid #6366f1}.alert.warning{background:#fff7ed;border-left:4px solid #f59e0b}.table .thead>div{font-weight:600;color:#111827}.button.primary{background:#2563eb;color:#fff;border:none;height:36px;padding:0 14px;border-radius:8px;font-weight:600;cursor:pointer}.button.primary:hover{background:#1d4ed8}.button.primary:focus{outline:2px solid #93c5fd;outline-offset:2px}.button.primary.bright{box-shadow:0 0 0 3px #2563eb26}.button.secondary{background:#f3f4f6;color:#111827;border:1px solid #e5e7eb;height:32px;padding:0 12px;border-radius:8px}button.danger{background:#ef4444;color:#fff;border:none;height:32px;padding:0 12px;border-radius:8px}button.danger:hover{background:#dc2626}.fill{grid-column:1 / -1}.regb-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,max-content));gap:8px 16px;align-items:start;margin-top:6px}.regb-grid label{display:inline-flex;align-items:center;gap:8px;line-height:1.2;white-space:normal}.regb-grid input[type=checkbox]{margin:0}.other-inline{grid-column:1 / -1;margin-top:4px;max-width:480px}.subLabel{margin:8px 0 4px}.qLabel span{display:inline-flex;align-items:center;gap:6px}.hint{--hint-bg: #2563eb;--hint-fg: #ffffff;--hint-border: #93c5fd;--tip-bg: #111827;--tip-fg: #ffffff;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:6px;border-radius:999px;border:1px solid var(--hint-border);background:var(--hint-bg);color:var(--hint-fg);cursor:help;position:relative;padding:0}.hint.warn{--hint-bg: #d97706;--hint-border: #fcd34d}.hint:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%) translateY(-6px);background:var(--tip-bg);color:var(--tip-fg);font-size:12px;line-height:1.3;padding:8px 10px;border-radius:8px;box-shadow:0 8px 28px #00000040;min-width:180px;max-width:320px;white-space:normal;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;z-index:30}.hint:before{content:"";position:absolute;left:50%;bottom:calc(100% + 4px);transform:translate(-50%);border:6px solid transparent;border-top-color:var(--tip-bg);opacity:0;transition:opacity .12s ease;z-index:30}.hint:hover:after,.hint:focus-visible:after,.hint:hover:before,.hint:focus-visible:before{opacity:1;transform:translate(-50%) translateY(0)}.hint:focus-visible{outline:2px solid var(--hint-bg);outline-offset:2px}.radio-group,.checkbox-group,.regb-grid{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;margin-top:6px}.radio-group label,.checkbox-group label,.regb-grid>label{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.contactRow{display:grid;grid-template-columns:2fr 1.2fr 1.6fr 1.8fr 90px;gap:8px;align-items:center;margin-bottom:8px}.contactHeader{font-weight:600;margin-bottom:6px}button.sm{padding:6px 10px;font-size:12px}button.danger{background:#c72b2b;color:#fff;border:none;border-radius:6px}button.danger:hover{filter:brightness(.95)}.scoringKey .keyTable{width:100%;border-collapse:collapse;margin-top:8px;font-size:.95rem}.scoringKey .keyTable th,.scoringKey .keyTable td{border:1px solid #e6e6e6;padding:8px 10px}.scoringKey .keyTable thead th{background:#fff;color:#1b1b1b;border-color:#d9d9d9}.sym{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:6px;font-weight:700;border:1px solid transparent}.sym.yes{background:#e8f7ee;color:#0b7a2a;border-color:#bfe8cf}.sym.no{background:#fdeaea;color:#b91c1c;border-color:#f3c2c2}.sectionBanner{padding:14px 16px;border-radius:12px;border:1px solid transparent;margin:-4px 0 16px}.sectionBanner h2{margin:0 0 4px;font-weight:800;font-size:18px}.sectionBanner p{margin:0;font-weight:600;opacity:.95}.sectionBanner.critical{background:#f3e8ff;border-color:#a78bfa;color:#4c1d95}.sectionBanner.critical h2{color:#5b21b6}.sectionBanner.additional{background:#ecfdf5;border-color:#34d399;color:#064e3b}.sectionBanner.additional h2{color:#047857}.contactRow{display:grid;gap:8px;align-items:center;margin-bottom:8px;grid-template-columns:1.2fr 1fr 1fr 1.4fr auto}.contactHeader{font-weight:600;color:var(--muted, #ddd);margin-bottom:6px}.contactRow .cell{display:contents}.mobLabel{display:none}.contactRow input{width:100%;min-height:38px}.contactRow .actions{justify-self:end}@media (max-width: 900px){.contactRow{grid-template-columns:1fr 1fr}.contactRow .cell{display:block}.mobLabel{display:inline-block;font-size:12px;color:var(--muted, #bbb);margin-bottom:4px}.contactHeader{display:none}.contactRow .actions{grid-column:1 / -1;justify-self:end}}@media (max-width: 600px){.contactRow{grid-template-columns:1fr;padding:10px;border-radius:10px;background:#ffffff0a}.contactRow:not(.contactHeader)+.contactRow{margin-top:8px}}.contactActions{margin-top:8px}
