:root{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--space-1:6px;--space-2:10px;--space-3:14px;--space-4:18px;--space-5:24px;--container:980px;--shadow-sm:0 1px 2px #0000000f, 0 1px 1px #0000000a;--shadow-md:0 10px 24px #0000001a, 0 2px 6px #0000000f;--bg:#f7f7fb;--surface:#fff;--surface-2:#fbfbfe;--text:#111827;--muted:#6b7280;--border:#e5e7eb;--primary:#2563eb;--primary-2:#1d4ed8;--success:#16a34a;--warning:#d97706;--danger:#dc2626;--focus:#2563eb59;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0d1117;--surface:#161b22;--surface-2:#21262d;--text:#e6edf3;--muted:#8b949e;--border:#30363d;--primary:#58a6ff;--primary-2:#388bfd;--success:#3fb950;--warning:#d29922;--danger:#f85149;--focus:#58a6ff59;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0d1117;--surface:#161b22;--surface-2:#21262d;--text:#e6edf3;--muted:#8b949e;--border:#30363d;--primary:#58a6ff;--primary-2:#388bfd;--success:#3fb950;--warning:#d29922;--danger:#f85149;--focus:#58a6ff59;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);letter-spacing:.1px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:18px;line-height:1.45}@media (width<=640px){body,input,select,textarea{font-size:16px}}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0 0 var(--space-2) 0;line-height:1.15}p{margin:0 0 var(--space-2) 0}.muted{color:var(--muted)}button,input,select,textarea{font-family:inherit}button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;min-height:44px;box-shadow:none;padding:12px 14px;transition:transform .12s,box-shadow .12s,background .12s,border-color .12s}button:hover{background:var(--surface-2);box-shadow:var(--shadow-sm)}button:active{transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}input,select,textarea{box-sizing:border-box;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:100%;min-height:44px;color:var(--text);outline:none;padding:12px;transition:box-shadow .12s,border-color .12s}textarea{resize:vertical;min-height:120px}input:focus,select:focus,textarea:focus,button:focus{box-shadow:0 0 0 4px var(--focus);border-color:color-mix(in srgb, var(--primary) 55%, var(--border))}::placeholder{color:color-mix(in srgb, var(--muted) 70%, transparent)}.container{max-width:var(--container);padding:var(--space-5) var(--space-4);margin:0 auto}@media (width<=640px){.container{padding:var(--space-4) var(--space-3)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm)}@media (width<=640px){.card{padding:var(--space-3)}}.stack{gap:var(--space-3);display:grid}.row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.btn{justify-content:center;align-items:center;gap:10px;font-weight:700;text-decoration:none;display:inline-flex}.btnPrimary{background:var(--primary);border-color:var(--primary);color:#fff}.btnPrimary:hover{background:var(--primary-2);border-color:var(--primary-2)}.btnSecondary{background:var(--surface);border-color:var(--border);color:var(--text)}.btnDanger{background:var(--danger);border-color:var(--danger);color:#fff}.btnDanger:hover{background:color-mix(in srgb, var(--danger) 85%, #000);border-color:color-mix(in srgb, var(--danger) 85%, #000)}.btnGhost{box-shadow:none;background:0 0;border-color:#0000}.btnGhost:hover{background:color-mix(in srgb, var(--surface) 70%, transparent);border-color:var(--border)}.badge{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 70%, transparent);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-flex}.topbar{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb, var(--surface) 88%, transparent);border-bottom:1px solid var(--border);position:sticky;top:0}.topbarInner{justify-content:space-between;align-items:center;gap:12px;max-width:1200px;margin:0 auto;padding:12px 16px;display:flex}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brandLogo{border-radius:10px;width:40px;height:40px}.brandName{white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:900;overflow:hidden}.topbarActions{align-items:center;gap:10px;display:flex}.pageFull{min-height:calc(100svh - 65px);padding:var(--space-4);box-sizing:border-box;justify-content:center;align-items:center;display:flex}.pageFullCard{width:100%;max-width:440px}.authBrandMark{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border);flex-direction:column;display:flex}.authBrandMark img{border-radius:12px;width:52px;height:52px}.authBrandMark .authBrandName{color:var(--muted);letter-spacing:.5px;text-transform:uppercase;font-size:15px;font-weight:700}.progressBar{background:var(--border);border-radius:999px;width:100%;height:8px;overflow:hidden}.progressBarFill{background:var(--primary);border-radius:999px;min-width:4px;height:100%;transition:width .4s}.progressBarFill.success{background:var(--success)}.progressMeta{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-1);display:flex}.progressLabel{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600}.progressValue{color:var(--text);font-size:13px;font-weight:700}.statusBadge{letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.statusBadge.notStarted{background:color-mix(in srgb, var(--muted) 12%, transparent);color:var(--muted);border:1px solid color-mix(in srgb, var(--muted) 25%, transparent)}.statusBadge.inProgress{background:color-mix(in srgb, var(--warning) 12%, transparent);color:var(--warning);border:1px solid color-mix(in srgb, var(--warning) 35%, transparent)}.statusBadge.complete{background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success);border:1px solid color-mix(in srgb, var(--success) 35%, transparent)}.welcomeHero{padding:var(--space-5) var(--space-4);border-bottom:1px solid var(--border)}.welcomeHero h2{margin:0 0 var(--space-1) 0;font-size:22px;font-weight:800}.welcomeHero p{color:var(--muted);margin:0}.catCardHeader{justify-content:space-between;align-items:flex-start;gap:var(--space-2);flex-wrap:wrap;display:flex}.catCardTitle{color:var(--text);flex:1;min-width:0;font-size:16px;font-weight:800}.catCardProgress{margin-top:var(--space-2)}.otpInput{letter-spacing:10px;text-align:center;font-variant-numeric:tabular-nums;padding:16px 20px;font-size:26px;font-weight:700}.stepIndicator{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.stepDot{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:800;display:flex}.stepDot.done{background:var(--success);color:#fff}.stepDot.active{background:var(--primary);color:#fff}.stepDot.pending{background:var(--border);color:var(--muted)}.stepLine{background:var(--border);border-radius:999px;flex:1;height:2px}.stepLine.done{background:var(--success)}.qaRow{gap:var(--space-2);padding:var(--space-3) 0;border-bottom:1px solid var(--border);grid-template-columns:1fr auto;align-items:start;display:grid}.qaRow:last-child{border-bottom:none}.qaPrompt{color:var(--text);font-size:15px;font-weight:600}.qaAnswer{color:var(--muted);word-break:break-word;margin-top:4px;font-size:14px}.qaAnswer.answered{color:var(--text)}.qaAnswerMissing{color:var(--warning);align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.qaAnswerSensitive{color:var(--muted);align-items:center;gap:4px;font-size:13px;font-style:italic;font-weight:600;display:inline-flex}.naLabel{color:var(--muted);font-style:italic}.answerList{margin:4px 0 0;padding-left:18px}.answerList li{margin-bottom:2px}.answerFields{flex-direction:column;gap:8px;margin-top:4px;display:flex}.answerField{flex-direction:column;gap:2px;display:flex}.answerFieldLabel{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:700}.answerFieldValue{color:var(--text);word-break:break-word;font-size:14px}.answerEntries{flex-direction:column;gap:10px;margin-top:6px;display:flex}.answerEntry{align-items:flex-start;gap:10px;display:flex}.answerEntryNum{background:var(--border);width:20px;height:20px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;font-size:11px;font-weight:800;display:flex}.questionMeta{gap:var(--space-2);flex-direction:column;display:flex}.questionCategoryLabel{text-transform:uppercase;letter-spacing:.5px;color:var(--primary);align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.questionProgressRow{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}@media (width<=640px){.questionProgressRow{grid-template-columns:1fr}}.groupTable{border-collapse:collapse;border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;overflow:hidden}.groupTable th{text-align:left;background:var(--surface-2);border-bottom:2px solid var(--border);text-transform:uppercase;letter-spacing:.4px;color:var(--muted);white-space:nowrap;padding:10px 12px;font-size:13px;font-weight:700}.groupTable td{vertical-align:top;border-bottom:1px solid var(--border);min-width:160px;padding:10px 12px}.groupTable tr:last-child td{border-bottom:none}.groupTable tbody tr:hover{background:var(--surface-2)}.groupTableWrap{overflow-x:auto}@media (width<=640px){.groupTableWrap{overflow-x:visible}.groupTable,.groupTable thead,.groupTable tbody,.groupTable th,.groupTable td,.groupTable tr{display:block}.groupTable thead{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.groupTable{border:none;border-radius:0}.groupTable tbody tr{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:var(--space-2);padding:var(--space-2);background:var(--surface)}.groupTable tbody tr:last-child{margin-bottom:0}.groupTable tbody tr:hover{background:var(--surface)}.groupTable td{border:none;border-bottom:1px solid var(--border);flex-direction:column;gap:4px;min-width:0;padding:6px 0;display:flex}.groupTable td:last-child{border-bottom:none}.groupTable td[data-label]:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-size:11px;font-weight:700}.groupTable td[data-label=""]:before{display:none}.groupTable td[data-label=""]{padding-top:var(--space-1);border-bottom:none;align-items:flex-end}}.statusMsg{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:14px;font-weight:500}.statusMsg.info{background:color-mix(in srgb, var(--primary) 10%, transparent);color:var(--primary);border:1px solid color-mix(in srgb, var(--primary) 25%, transparent)}.statusMsg.ok{background:color-mix(in srgb, var(--success) 10%, transparent);color:var(--success);border:1px solid color-mix(in srgb, var(--success) 25%, transparent)}.statusMsg.err{background:color-mix(in srgb, var(--danger) 10%, transparent);color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 25%, transparent)}@media (prefers-reduced-motion:no-preference){.fadeIn{animation:.22s both fadeSlideIn}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}.profileMenuWrap{position:relative}.profileBtn{border:2px solid var(--border);background:var(--surface-2);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:14px;font-weight:800;line-height:1;transition:border-color .12s,background .12s;display:flex}.profileBtn:hover{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, var(--surface-2))}.profileMenu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-width:220px;box-shadow:var(--shadow-md);padding:var(--space-2) 0;z-index:200;position:absolute;top:calc(100% + 8px);right:0}.profileMenuEmail{padding:var(--space-2) var(--space-3);color:var(--muted);word-break:break-all;border-bottom:1px solid var(--border);margin-bottom:var(--space-1);font-size:13px}.profileMenuSection{padding:var(--space-2) var(--space-3)}.profileMenuLabel{text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:var(--space-1);font-size:11px;font-weight:700}.themeSegmented{border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:1fr 1fr 1fr;display:grid;overflow:hidden}.themeSegBtn{text-align:center;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:6px 4px;font-size:12px;font-weight:600;transition:background .12s,color .12s}.themeSegBtn:not(:last-child){border-right:1px solid var(--border)}.themeSegBtn:hover{background:var(--surface-2);color:var(--text)}.themeSegBtn.active{background:var(--primary);color:#fff}.profileMenuDivider{background:var(--border);height:1px;margin:var(--space-1) 0}.profileMenuSignOut{width:100%;padding:var(--space-2) var(--space-3);color:var(--danger);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;font-size:14px;font-weight:600;transition:background .12s;display:flex}.profileMenuSignOut:hover{background:color-mix(in srgb, var(--danger) 10%, transparent)}.adminNav{gap:var(--space-2);flex-wrap:wrap;display:flex}.adminNavBtn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;padding:8px 14px;font-size:14px;font-weight:600;transition:border-color .12s,background .12s,color .12s}.adminNavBtn:hover{background:var(--surface-2)}.adminNavBtn.active{border-width:2px;border-color:var(--primary);color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, var(--surface))}.adminGrid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(360px,1fr));align-items:start;display:grid}.btnBlock{width:100%}.btnGrid2{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.pagePadBottom{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.actionRowInline{display:none}.bottomBar{z-index:50;padding:var(--space-2);padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface) 86%, transparent);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:fixed;bottom:0;left:0;right:0}.bottomBarInner{max-width:var(--container);flex-direction:column;gap:0;margin:0 auto;display:flex}.bottomBarRow{gap:var(--space-2);align-items:center;display:flex}.bottomBarRow .btnPrimary{flex:1}@media (width>=641px){.btnBlock{width:auto}.btnGrid2{flex-wrap:wrap;display:flex}.pagePadBottom{padding-bottom:0}.actionRowInline{display:flex}.bottomBar{display:none}}@media (width<=480px){.pageFull{padding-top:var(--space-5);align-items:flex-start}}
