:root{--theme-primary: #5b6fe8;--theme-primary-hover: #4a5dd6;--theme-primary-dark: #3f51c7;--theme-primary-soft: #eef2ff;--theme-primary-muted: #dde4ff;--theme-primary-ring: rgb(91 111 232 / 14%);--theme-accent-pink: #fdf2f8;--theme-accent-pink-text: #9d174d;--theme-accent-lavender: #f5f3ff;--theme-accent-lavender-text: #5b21b6;--theme-black: #171717;--theme-black-hover: #262626;--theme-green: #059669;--theme-green-soft: #ecfdf5;--theme-green-muted: #a7f3d0;--theme-blue: #2563eb;--theme-blue-soft: #eff6ff;--theme-orange: #d97706;--theme-orange-soft: #fffbeb;--theme-red: #dc2626;--theme-red-soft: #fef2f2;--theme-coral: #f97316;--theme-teal: #0d9488;--theme-teal-soft: #ecfdf5;--theme-teal-muted: #99f6e4;--theme-cyan: #0891b2;--theme-cyan-soft: #ecfeff;--asper-purple: var(--theme-primary-dark);--asper-purple-dark: #1e1b4b;--asper-purple-mid: var(--theme-primary);--asper-purple-light: #8b9af0;--asper-purple-soft: var(--theme-primary-soft);--asper-purple-muted: var(--theme-primary-muted);--asper-purple-ring: var(--theme-primary-ring);--asper-gold: var(--theme-orange);--asper-gold-soft: var(--theme-orange-soft);--asper-blue: var(--theme-blue);--asper-blue-soft: var(--theme-blue-soft);--asper-green: var(--theme-green);--asper-green-soft: var(--theme-green-soft);--asper-green-muted: var(--theme-green-muted);--asper-red: var(--theme-red);--asper-red-soft: var(--theme-red-soft);--asper-orange: var(--theme-orange);--asper-orange-soft: var(--theme-orange-soft);--asper-text: #111827;--asper-text-body: #374151;--asper-text-muted: #6b7280;--asper-text-subtle: #9ca3af;--asper-bg: #f8f9fb;--asper-surface: #ffffff;--asper-surface-muted: #f9fafb;--asper-border: #e5e7eb;--asper-border-strong: #d1d5db;--asper-shadow-sm: 0 1px 2px rgb(17 24 39 / 4%);--asper-shadow-md: 0 4px 24px rgb(17 24 39 / 6%);--asper-shadow-lg: 0 12px 40px rgb(91 111 232 / 10%);--asper-shadow-card: 0 1px 3px rgb(17 24 39 / 5%), 0 1px 2px rgb(17 24 39 / 3%);--asper-primary: var(--theme-primary);--asper-primary-dark: var(--theme-primary-hover);--asper-primary-soft: var(--theme-primary-soft);--asper-accent: var(--theme-primary);--color-success-text: #047857;--color-success-bg: var(--theme-green-soft);--color-success-border: var(--theme-green-muted);--color-warning-text: #b45309;--color-warning-bg: var(--theme-orange-soft);--color-warning-border: #fde68a;--color-info-text: var(--theme-blue);--color-info-bg: var(--theme-blue-soft);--color-info-border: #bfdbfe;--color-danger-text: #b91c1c;--color-danger-bg: var(--theme-red-soft);--color-danger-border: #fecaca;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--asper-text-body);background:var(--asper-bg);font-family:var(--font-family);font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;height:100%;min-height:100vh;font-family:var(--font-family)}html,body,#root{height:100%}button,input,select,textarea,code,pre{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{height:100%;min-height:100vh;max-height:100dvh;display:flex;flex-direction:column;overflow:hidden}.app-shell.has-footer .app-body{padding-bottom:0}.app-main-row{flex:1;display:flex;flex-direction:row;min-height:0;overflow:hidden}.app-body{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.topbar-chat-toggle{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;border:1px solid var(--asper-border, #e5e7eb);background:var(--asper-surface, #fff);color:var(--theme-black);font-size:17px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.topbar-chat-toggle:hover{border-color:var(--theme-primary);color:var(--theme-primary)}.topbar-chat-toggle.is-active{background:var(--theme-primary);border-color:var(--theme-primary);color:#fff}.chat-panel{flex:0 0 380px;width:380px;max-width:42vw;display:flex;flex-direction:column;min-height:0;background:var(--asper-surface, #fff);border-left:1px solid var(--asper-border, #e5e7eb);box-shadow:-8px 0 24px #1118270d}.chat-panel-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--asper-border, #e5e7eb)}.chat-panel-title{display:flex;align-items:center;gap:10px;color:var(--theme-primary);min-width:0}.chat-panel-title-copy{display:flex;flex-direction:column;min-width:0}.chat-panel-heading{font-size:18px;font-weight:700;color:var(--theme-black)}.chat-panel-subtitle{font-size:16px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-panel-actions{display:flex;gap:4px}.chat-icon-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:7px;border:1px solid transparent;background:transparent;color:#6b7280;cursor:pointer;transition:background .15s ease,color .15s ease}.chat-icon-button:hover:not(:disabled){background:var(--theme-primary-soft);color:var(--theme-primary)}.chat-icon-button:disabled{opacity:.4;cursor:not-allowed}.chat-panel-messages{flex:1;min-height:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.chat-empty-state{margin:auto 0;color:#6b7280}.chat-empty-title{font-size:17px;font-weight:700;color:var(--theme-black);margin:0 0 10px}.chat-empty-hints{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.chat-empty-hints li{display:flex}.chat-empty-hint{width:100%;text-align:left;font-size:16.5px;font-family:inherit;padding:8px 10px;border-radius:8px;border:1px solid transparent;background:var(--theme-primary-soft);color:var(--theme-primary-dark);cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .05s ease}.chat-empty-hint:hover:not(:disabled){border-color:var(--theme-primary);background:var(--theme-primary-soft)}.chat-empty-hint:active:not(:disabled){transform:translateY(1px)}.chat-empty-hint:disabled{cursor:not-allowed;opacity:.6}.chat-message{display:flex;flex-direction:column;gap:4px;max-width:100%}.chat-message-role{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#9ca3af}.chat-message-content{font-size:17.5px;line-height:1.55;color:var(--theme-black);white-space:pre-wrap;word-break:break-word;padding:10px 12px;border-radius:10px}.chat-markdown{white-space:normal}.chat-markdown>:first-child{margin-top:0}.chat-markdown>:last-child{margin-bottom:0}.chat-markdown p{margin:0 0 8px}.chat-markdown ul,.chat-markdown ol{margin:0 0 8px;padding-left:20px}.chat-markdown li{margin:2px 0}.chat-markdown h1,.chat-markdown h2,.chat-markdown h3,.chat-markdown h4{margin:10px 0 6px;font-size:18px;font-weight:700;line-height:1.3}.chat-markdown a{color:var(--theme-primary);text-decoration:underline}.chat-markdown code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:16px;background:#11182714;padding:1px 5px;border-radius:4px}.chat-markdown pre{margin:0 0 8px;padding:10px 12px;background:#1e293b;color:#e2e8f0;border-radius:8px;overflow-x:auto}.chat-markdown pre code{background:transparent;padding:0;color:inherit;font-size:16px}.chat-markdown blockquote{margin:0 0 8px;padding-left:10px;border-left:3px solid var(--theme-primary-muted);color:#4b5563}.chat-markdown table{border-collapse:collapse;width:100%;margin:0 0 8px;font-size:16px;display:block;overflow-x:auto}.chat-markdown th,.chat-markdown td{border:1px solid var(--asper-border, #e5e7eb);padding:5px 8px;text-align:left}.chat-markdown th{background:var(--theme-primary-soft);font-weight:600}.chat-message-user .chat-message-content{background:var(--theme-primary);color:#fff;align-self:flex-end}.chat-message-user{align-items:flex-end}.chat-message-assistant .chat-message-content{background:#f3f4f6}.chat-typing{display:inline-flex;gap:4px;align-items:center}.chat-typing span{width:6px;height:6px;border-radius:50%;background:#9ca3af;animation:chat-bounce 1.2s infinite ease-in-out}.chat-typing span:nth-child(2){animation-delay:.15s}.chat-typing span:nth-child(3){animation-delay:.3s}@keyframes chat-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.chat-error{flex-shrink:0;margin:0 16px;padding:8px 12px;border-radius:8px;background:var(--theme-red-soft);color:var(--theme-red);font-size:16.5px}.chat-blocked-note{flex-shrink:0;margin:0 16px;padding:8px 12px;border-radius:8px;background:var(--theme-orange-soft);color:var(--theme-orange);font-size:16.5px}.chat-panel-input{flex-shrink:0;display:flex;gap:8px;align-items:flex-end;padding:12px 16px 16px;border-top:1px solid var(--asper-border, #e5e7eb)}.chat-send-wrap{display:inline-flex;flex-shrink:0}.chat-textarea{flex:1;resize:none;border-radius:10px;border:1px solid var(--asper-border, #e5e7eb);padding:10px 12px;font-size:17.5px;font-family:inherit;line-height:1.4;color:var(--theme-black);background:#fff;max-height:140px}.chat-textarea:focus{outline:none;border-color:var(--theme-primary);box-shadow:0 0 0 3px var(--theme-primary-ring)}.chat-textarea:disabled{background:#f9fafb;cursor:not-allowed}.chat-send-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:10px;border:none;background:var(--theme-primary);color:#fff;cursor:pointer;transition:background .15s ease}.chat-send-button:hover:not(:disabled){background:var(--theme-primary-hover)}.chat-send-button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:900px){.chat-panel{flex-basis:300px;width:300px}}.workflow-footer{flex-shrink:0;padding:16px 24px 20px;background:var(--asper-surface);border-top:1px solid var(--asper-border);box-shadow:0 -4px 20px #1118270a}.workflow-footer-inner{display:flex;align-items:center;justify-content:flex-end;gap:12px;max-width:100%}.workflow-footer-button{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 20px;border-radius:var(--radius-sm);font-size:18px;font-weight:600;transition:background-color .15s ease,border-color .15s ease,opacity .15s ease}.workflow-footer-button.secondary{color:var(--asper-text-body);background:var(--asper-surface);border:1px solid var(--asper-border-strong)}.workflow-footer-button.secondary:hover:not(:disabled){background:var(--asper-surface-muted)}.workflow-footer-button.primary{color:var(--asper-surface);background:var(--theme-black);border:1px solid var(--theme-black)}.workflow-footer-button.primary:hover:not(:disabled){background:var(--theme-black-hover);border-color:var(--theme-black-hover)}.workflow-footer-button:disabled{opacity:.45;cursor:not-allowed}.drop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px;pointer-events:none;background:#5b6fe829;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.drop-overlay-card{min-width:min(400px,100%);display:grid;place-items:center;gap:8px;padding:40px 32px;color:var(--theme-primary);background:var(--asper-surface);border:2px dashed var(--theme-primary-muted);border-radius:var(--radius-lg);box-shadow:var(--asper-shadow-lg);text-align:center}.drop-overlay-card strong{font-size:20px;font-weight:700;color:var(--asper-text)}.drop-overlay-card span{font-size:17px;color:var(--asper-text-muted)}.app-chrome{flex-shrink:0;background:var(--asper-surface);border-bottom:1px solid var(--asper-border)}.topbar{position:relative;display:flex;flex-direction:column}.topbar-accent{height:2px;background:var(--theme-primary)}.topbar-inner{display:flex;align-items:center;gap:24px;min-height:68px;padding:16px 32px 14px}.topbar-actions{display:flex;align-items:center;gap:12px;margin-left:auto;flex-shrink:0}.topbar-user{display:inline-flex;align-items:center;gap:10px;padding-left:12px;border-left:1px solid var(--asper-border)}.topbar-user-email{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--asper-text-muted);font-size:17px}.topbar-user-role{padding:2px 8px;border-radius:999px;color:var(--theme-primary-dark);background:var(--theme-primary-soft);border:1px solid var(--theme-primary-muted);font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.topbar-users{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:8px;border:1px solid var(--theme-primary-muted);background:var(--theme-primary-soft);color:var(--theme-primary-dark);font-size:17px;font-weight:600;transition:border-color .15s ease,background-color .15s ease}.topbar-users:hover{border-color:var(--theme-primary);background:var(--theme-primary-muted)}.topbar-logout{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:8px;border:1px solid var(--asper-border);background:var(--asper-surface);color:var(--asper-text-body);font-size:17px;font-weight:600;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.topbar-logout:hover{border-color:var(--color-danger-border);color:var(--color-danger-text);background:var(--color-danger-bg)}.topbar-user-avatar{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin-left:4px;padding:0;border:0;border-radius:50%;background:var(--theme-primary);color:#fff;font-size:18px;font-weight:700;line-height:1;flex-shrink:0;cursor:pointer;transition:background-color .15s ease}.topbar-user-avatar:hover,.topbar-user-avatar.is-open{background:var(--theme-primary-hover)}.topbar-user-menu{position:relative;flex-shrink:0}.topbar-user-dropdown{position:absolute;top:calc(100% + 10px);right:0;z-index:40;min-width:220px;padding:8px;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-md);box-shadow:var(--asper-shadow-lg)}.topbar-user-dropdown-header{display:grid;gap:6px;padding:8px 10px 10px;border-bottom:1px solid var(--asper-border);margin-bottom:6px}.topbar-user-dropdown-email{color:var(--asper-text);font-size:17px;font-weight:600;word-break:break-all}.topbar-user-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--asper-text-body);font-size:18px;font-weight:600;text-align:left;cursor:pointer;transition:background-color .15s ease,color .15s ease}.topbar-user-dropdown-item:hover{color:var(--color-danger-text);background:var(--color-danger-bg)}.brand,.panel-heading,.heading-line,.icon-row,.primary-action,.download-button,.loading-box,.error-strip{display:flex;align-items:center}.brand{gap:18px;min-width:0;flex:1}.brand-logo-link{display:flex;flex-shrink:0;align-items:center;border-radius:var(--radius-sm);transition:opacity .15s ease}.brand-logo-link:hover{opacity:.85}.brand-logo{display:block;height:34px;width:auto;flex-shrink:0}.brand-divider{width:1px;height:36px;flex-shrink:0;background:var(--asper-border-strong)}.brand-copy{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0}.brand-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.brand-copy h1{margin:0;color:var(--asper-text);font-size:22px;font-weight:700;letter-spacing:-.025em;line-height:1.2}.brand-subtitle{margin:0;overflow:hidden;color:var(--asper-text-muted);font-size:17px;font-weight:400;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.brand-badge{display:inline-flex;align-items:center;padding:3px 10px;color:var(--theme-primary-dark);font-size:14px;font-weight:700;letter-spacing:.06em;line-height:1.2;text-transform:uppercase;background:var(--theme-primary-soft);border:1px solid var(--theme-primary-muted);border-radius:999px}.workflow-stepper{background:var(--asper-surface-muted);border-top:1px solid var(--asper-border)}.workflow-stepper-inner{--workflow-step-count: 6;position:relative;padding:14px 20px 16px}.workflow-stepper-track{position:absolute;top:28px;left:34px;right:34px;height:2px;background:var(--asper-border);border-radius:999px;overflow:hidden}.workflow-stepper-track-fill{height:100%;background:linear-gradient(90deg,var(--theme-green),var(--theme-primary));border-radius:inherit;transition:width .4s cubic-bezier(.4,0,.2,1)}.workflow-stepper-list{position:relative;z-index:1;display:grid;grid-template-columns:repeat(var(--workflow-step-count),minmax(0,1fr));grid-auto-flow:column;align-items:start;gap:0;width:100%;max-width:none;margin:0;padding:0;list-style:none;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.workflow-stepper-list::-webkit-scrollbar{display:none}.workflow-stepper-item{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;max-width:100%;text-align:center}.workflow-stepper-button,.workflow-stepper-static{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;min-width:0;padding:0;margin:0;color:inherit;background:transparent;border:none;font:inherit;text-align:center}.workflow-stepper-button{cursor:pointer;border-radius:var(--radius-md);transition:background-color .15s ease}.workflow-stepper-button:hover .workflow-stepper-label{color:var(--asper-text)}.workflow-stepper-button:hover .workflow-stepper-node{border-color:var(--theme-primary);box-shadow:0 0 0 3px var(--theme-primary-ring)}.workflow-stepper-button:focus-visible{outline:2px solid var(--theme-primary);outline-offset:2px}.workflow-stepper-node{position:relative;z-index:1;flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:var(--asper-text-subtle);background:var(--asper-surface);border:2px solid var(--asper-border-strong);border-radius:999px;font-size:15px;font-weight:700;transition:background-color .25s ease,border-color .25s ease,color .25s ease,box-shadow .15s ease}.workflow-stepper-index{line-height:1}.workflow-stepper-item.completed .workflow-stepper-node{color:var(--asper-surface);background:var(--theme-green);border-color:var(--theme-green)}.workflow-stepper-item.current .workflow-stepper-node{color:var(--asper-surface);background:var(--theme-primary);border-color:var(--theme-primary);box-shadow:0 0 0 3px var(--theme-primary-ring)}.workflow-stepper-item.upcoming .workflow-stepper-node{opacity:.72}.workflow-stepper-copy{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;min-width:0;padding:0 2px}.workflow-stepper-label{width:100%;max-width:100%;overflow:hidden;color:var(--asper-text-subtle);font-size:15px;font-weight:500;line-height:1.25;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;transition:color .2s ease}.workflow-stepper-description{display:none}.workflow-stepper-item.completed .workflow-stepper-label{color:var(--color-success-text);font-weight:600}.workflow-stepper-item.current .workflow-stepper-label{color:var(--asper-text);font-size:15px;font-weight:700}.workflow-stepper-item.current .workflow-stepper-description{display:none}.upload-center{flex:1;display:grid;place-content:center;min-height:0;padding:40px 24px 56px;background:var(--asper-bg)}.upload-center-shell{display:grid;gap:24px;width:min(560px,100%);margin:0 auto}.upload-center-header{display:grid;gap:10px;text-align:center}.upload-center-eyebrow{justify-self:center;display:inline-flex;align-items:center;padding:4px 12px;color:var(--theme-blue);font-size:14px;font-weight:700;letter-spacing:.06em;line-height:1.2;text-transform:uppercase;background:var(--theme-blue-soft);border:1px solid var(--color-info-border);border-radius:999px}.upload-center-header h2{margin:0;color:var(--asper-text);font-size:28px;font-weight:700;letter-spacing:-.025em;line-height:1.2}.upload-center-header p{margin:0 auto;max-width:480px;color:var(--asper-text-muted);font-size:18px;line-height:1.6}.upload-zone.hero{position:relative;width:100%;margin:0;padding:40px 32px 36px;background:var(--asper-surface);border:1.5px dashed var(--asper-border-strong);border-radius:var(--radius-xl)}.upload-zone.hero.drag-active{border-color:var(--theme-blue);border-style:solid;background:var(--theme-blue-soft)}.upload-zone.hero.uploading{pointer-events:none;border-style:solid;border-color:var(--color-info-border)}.upload-zone.hero .upload-zone-icon{width:68px;height:68px;color:var(--theme-blue);background:var(--theme-blue-soft);border:1px solid var(--color-info-border);border-radius:var(--radius-lg)}.upload-zone.hero .upload-zone-copy{gap:6px}.upload-zone.hero .upload-zone-copy strong{font-size:20px;font-weight:700;letter-spacing:-.01em}.upload-zone.hero .upload-zone-copy span{font-size:17px}.upload-button.hero{min-height:42px;padding:0 24px;font-size:18px;font-weight:600}.upload-button.hero.primary{color:var(--asper-surface);background:var(--theme-blue);border:0;border-radius:var(--radius-sm);transition:none}.upload-button.hero.primary:hover:not(:disabled){background:var(--theme-blue)}.upload-format-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.upload-format-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-md)}.upload-format-card-icon{width:36px;height:36px;display:grid;place-items:center;flex-shrink:0;border-radius:var(--radius-sm)}.upload-format-card-icon.excel{color:var(--theme-green);background:var(--theme-green-soft)}.upload-format-card-icon.csv{color:var(--theme-blue);background:var(--theme-blue-soft)}.upload-format-card-copy{display:grid;gap:2px;min-width:0}.upload-format-card-copy strong{overflow:hidden;color:var(--asper-text);font-size:16px;font-weight:600;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.upload-format-card-copy span{color:var(--asper-text-subtle);font-size:15px;font-weight:500;line-height:1.3}.upload-pipeline-hints{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none}.upload-pipeline-hints li{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;color:var(--asper-text-muted);font-size:16px;font-weight:500;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:999px}.upload-pipeline-hints li svg{flex-shrink:0;color:var(--theme-primary)}.source-info-bar{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-md);box-shadow:var(--asper-shadow-sm)}.source-info-bar.compact{gap:10px;min-height:40px;padding:8px 14px;background:var(--asper-surface-muted);box-shadow:none}.source-info-bar-file-icon{flex-shrink:0;color:var(--asper-text-muted)}.source-info-bar-filename{overflow:hidden;color:var(--asper-text);font-size:17px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.source-info-bar-meta{margin-left:auto;flex-shrink:0;color:var(--asper-text-muted);font-size:15px;white-space:nowrap}.source-info-bar-icon{width:36px;height:36px;display:grid;place-items:center;flex-shrink:0;color:var(--asper-text-muted);background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:var(--radius-sm)}.source-info-bar-copy{display:grid;gap:2px;min-width:0}.source-info-bar-copy strong{overflow:hidden;color:var(--asper-text);font-size:17px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.source-info-bar-copy span{color:var(--asper-text-muted);font-size:15px}.source-files-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.source-file-chip{display:flex;align-items:center;gap:2px;max-width:260px;padding-right:4px;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-md);box-shadow:var(--asper-shadow-sm);transition:border-color .12s ease,box-shadow .12s ease}.source-file-chip.active{border-color:var(--asper-accent, #4f46e5);box-shadow:0 0 0 1px var(--asper-accent, #4f46e5)}.source-file-chip-select{display:flex;align-items:center;gap:8px;min-width:0;padding:7px 4px 7px 12px;background:none;border:none;cursor:pointer;text-align:left}.source-file-chip-icon{flex-shrink:0;color:var(--asper-text-muted)}.source-file-chip-icon.xlsx{color:#1d7044}.source-file-chip-icon.csv{color:#2563eb}.source-file-chip-copy{display:grid;gap:1px;min-width:0}.source-file-chip-name{overflow:hidden;color:var(--asper-text);font-size:16.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.source-file-chip-meta{color:var(--asper-text-muted);font-size:14.5px;white-space:nowrap}.source-file-chip-remove{display:grid;place-items:center;flex-shrink:0;width:22px;height:22px;color:var(--asper-text-muted);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:color .12s ease,background .12s ease}.source-file-chip-remove:hover{color:var(--asper-danger, #dc2626);background:var(--asper-surface-muted)}.source-file-add{position:relative;display:inline-flex;align-items:center;gap:7px;padding:8px 14px;color:var(--asper-text-muted);font-size:16.5px;font-weight:600;background:var(--asper-surface-muted);border:1px dashed var(--asper-border);border-radius:var(--radius-md);cursor:pointer;transition:color .12s ease,border-color .12s ease}.source-file-add:hover{color:var(--asper-text);border-color:var(--asper-accent, #4f46e5)}.source-file-add.uploading{cursor:progress}.source-file-add input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.run-title .run-file{overflow:hidden;color:var(--asper-text-muted);font-size:14.5px;text-overflow:ellipsis;white-space:nowrap}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.section-header-copy{display:grid;gap:4px;min-width:0}.section-header-copy h2{margin:0;color:var(--asper-text);font-size:24px;font-weight:700;line-height:1.3;letter-spacing:-.01em}.section-header-copy p{margin:0;color:var(--asper-text-muted);font-size:17px;line-height:1.4}.section-header-actions{flex-shrink:0}.count-badge{min-width:28px;padding:4px 12px;color:var(--theme-accent-lavender-text);background:var(--theme-accent-lavender);border-radius:999px;text-align:center;font-size:16px;font-weight:700}.headline-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.headline-metrics-grid.compact{margin-top:14px;margin-bottom:0}.headline-metric-card{position:relative;display:grid;gap:4px;min-width:0;padding:16px;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-lg);box-shadow:var(--asper-shadow-card)}.headline-metric-icon{color:var(--theme-primary);margin-bottom:4px}.headline-metric-value{color:var(--asper-text);font-size:26px;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.headline-metric-label{color:var(--asper-text-muted);font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.headline-metric-description{margin:2px 0 0;color:var(--asper-text-subtle);font-size:16px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.headline-metric-badge{margin-top:8px}.status-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:15px;font-weight:600}.status-chip.success{color:var(--color-success-text);background:var(--color-success-bg)}.status-chip.warning{color:var(--color-warning-text);background:var(--color-warning-bg)}.status-chip.info{color:var(--theme-accent-pink-text);background:var(--theme-accent-pink)}.error-strip{gap:8px;min-height:42px;padding:9px 24px;color:var(--color-danger-text);background:var(--color-danger-bg);border-bottom:1px solid var(--color-danger-border)}.workspace-grid{flex:1;display:grid;grid-template-columns:minmax(260px,300px) minmax(0,1fr);min-height:0}.workspace-full{flex:1;min-height:0;padding:16px;overflow:auto}.workspace-full .main-panel{margin:0;min-height:min(100%,100%)}.configure-step-center{display:flex;flex:1;flex-direction:column;min-height:0;overflow:auto}.configure-step-shell{display:grid;gap:16px;width:100%;flex:1;min-height:0;grid-template-rows:auto minmax(0,1fr)}.configure-step-layout{display:grid;grid-template-columns:minmax(320px,380px) minmax(0,1fr);gap:16px;align-items:stretch;min-height:0}.configure-step-layout.csv-only{grid-template-columns:minmax(300px,340px) minmax(0,1fr)}.configure-step-rail{display:flex;flex-direction:column;gap:12px;min-height:0;overflow:auto}.configure-step-side{display:flex;flex-direction:column;gap:12px;min-height:0}.configure-step-rail .panel,.configure-step-side .panel{padding:16px}.configure-step-rail .sheets-panel,.configure-step-side .sheets-panel{flex:1 0 auto;min-height:200px;display:flex;flex-direction:column;padding-bottom:14px;background:var(--asper-surface);border-color:var(--asper-border)}.configure-step-rail .sheets-panel .sheet-list.compact,.configure-step-side .sheets-panel .sheet-list.compact{flex:1;max-height:none;overflow:auto}.configure-step-rail .run-options-panel,.configure-step-side .run-options-panel{flex-shrink:0;background:var(--asper-surface);border-color:var(--asper-border)}.configure-step-main{min-width:0;min-height:0;padding:0;overflow:hidden}.configure-step-main .config-workspace{min-height:100%}.left-rail{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--asper-bg);border-right:1px solid var(--asper-border)}.panel,.main-panel{background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-lg);box-shadow:var(--asper-shadow-card)}.panel{padding:16px}.upload-panel .section-header{margin-bottom:12px}.upload-zone{display:grid;place-items:center;gap:10px;padding:24px 16px;text-align:center;background:var(--asper-surface-muted);border:1.5px dashed var(--asper-border-strong);border-radius:10px;cursor:pointer}.upload-zone.drag-active{background:var(--asper-primary-soft);border-color:var(--asper-primary);box-shadow:inset 0 0 0 1px var(--asper-primary)}.upload-zone.has-file{padding:18px 16px;background:var(--asper-surface);border-style:solid;border-color:var(--asper-border)}.upload-zone input{position:absolute;opacity:0;pointer-events:none}.upload-zone-icon{width:52px;height:52px;display:grid;place-items:center;color:var(--asper-primary);background:var(--asper-primary-soft);border-radius:12px}.upload-zone-copy{display:grid;gap:4px}.upload-zone-copy strong{color:var(--asper-text);font-size:18px;font-weight:600}.upload-zone-copy span{color:var(--asper-text-muted);font-size:16px}.upload-button{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 18px;color:var(--asper-surface);background:var(--theme-black);border:0;border-radius:var(--radius-sm);font-size:17px;font-weight:600}.upload-button:not(.hero){transition:background-color .15s ease}.upload-button:hover:not(:disabled):not(.hero){background:var(--theme-black-hover)}.upload-file-card{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;background:var(--asper-primary-soft);border:1px solid var(--asper-purple-muted);border-radius:8px}.upload-file-card-icon{width:40px;height:40px;display:grid;place-items:center;flex-shrink:0;color:var(--asper-primary);background:var(--asper-surface);border-radius:8px}.upload-file-card-copy{display:grid;gap:2px;min-width:0}.upload-file-card-copy strong{overflow:hidden;font-size:17px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.upload-file-card-copy span{color:var(--asper-text-muted);font-size:16px}.panel-heading{gap:8px;margin-bottom:12px}.panel-heading.spread{justify-content:space-between}.panel-heading h2,.run-strip h2,.result-header h2,.config-header h2,.config-workspace-empty h2{margin:0;color:var(--asper-purple);font-size:18px;font-weight:700}.config-header h2,.config-workspace-empty h2{font-size:22px}.heading-line{gap:8px}.icon-row{gap:6px}.icon-row button{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;color:var(--asper-primary);background:var(--asper-primary-soft);border:1px solid var(--asper-border-strong);border-radius:6px}.file-drop{min-height:118px;display:grid;place-items:center;gap:8px;padding:18px;color:var(--asper-text);background:var(--asper-surface-muted);border:1px dashed var(--asper-border-strong);border-radius:8px;text-align:center;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease}.file-drop.drag-active{color:var(--asper-primary);background:var(--asper-primary-soft);border-color:var(--asper-primary);box-shadow:inset 0 0 0 1px var(--asper-primary)}.file-drop input{position:absolute;opacity:0;pointer-events:none}.file-drop span{font-size:17px;font-weight:600}.upload-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.upload-summary div,.metric{min-width:0;padding:10px;background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:7px}.meta-label,.metric span{display:block;color:var(--asper-text-muted);font-size:15px;font-weight:600;text-transform:uppercase}.upload-summary strong,.metric strong{display:block;overflow:hidden;margin-top:3px;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.panel-hint{margin:0 0 10px;color:var(--asper-text-muted);font-size:16px;line-height:1.45}.sheet-list{display:grid;gap:6px}.sheet-list.compact{max-height:min(42vh,360px);overflow:auto;scrollbar-width:none}.sheet-list.compact::-webkit-scrollbar{display:none}.sheet-row,.toggle-row{display:flex;align-items:center;gap:8px;min-height:34px;font-size:17px}.sheet-row{padding:0 8px;border:1px solid var(--asper-border);border-radius:6px}.sheet-picker-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:stretch;padding:10px 10px 10px 8px;background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:10px;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.sheet-picker-row input[type=checkbox]{accent-color:var(--sheet-tone-accent, var(--theme-primary))}.sheet-picker-row:hover,.sheet-picker-row.included{background:var(--asper-surface);border-color:var(--asper-border-strong)}.sheet-picker-row.active{background:var(--asper-surface);border-color:var(--asper-border-strong);box-shadow:inset 3px 0 0 var(--sheet-tone-accent, var(--theme-primary)),var(--asper-shadow-sm)}.sheet-picker-row.active .sheet-picker-name{color:var(--asper-text)}.sheet-picker-label{display:grid;gap:2px;min-width:0;padding:2px 4px;text-align:left;color:inherit;background:transparent;border:0;border-radius:4px}.sheet-picker-label:hover{background:var(--asper-surface-muted)}.sheet-picker-name{overflow:hidden;font-size:18px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.sheet-picker-meta{overflow:hidden;color:var(--asper-text-muted);font-size:15px;text-overflow:ellipsis;white-space:nowrap}.sheets-panel .section-header{margin-bottom:12px}.sheets-progress{display:grid;gap:6px;margin-bottom:12px}.sheets-progress-copy{display:flex;align-items:center;justify-content:space-between;color:var(--asper-text-muted);font-size:15px;font-weight:600}.sheets-progress-track{height:4px;overflow:hidden;background:var(--asper-border);border-radius:999px}.sheets-progress-fill{height:100%;background:var(--theme-green);border-radius:999px;transition:width .2s ease}.sheet-status-chip{display:inline-flex;align-items:center;width:fit-content;max-width:100%;overflow:hidden;padding:3px 9px;border-radius:999px;font-size:15px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.sheet-status-chip.detecting{color:#92400e;background:#fef3c7}.sheet-status-chip.suggested{color:var(--asper-text-body);background:var(--asper-surface-muted);border:1px solid var(--asper-border)}.sheet-status-chip.warning{color:#b45309;background:#fff7ed}.sheet-status-chip.ready{color:#047857;background:#d1fae5}.sheet-status-chip.excluded{color:var(--asper-text-subtle);background:var(--asper-surface-muted)}.sheet-picker-row:not(.included) .sheet-status-chip{opacity:.85}.sheet-dataset-options{display:grid;gap:20px}.sheet-dataset-options.wide .identity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sheet-dataset-options.wide .context-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:960px){.sheet-dataset-options.wide .identity-grid,.sheet-dataset-options.wide .context-grid{grid-template-columns:1fr;max-width:none}}.suggestion-banner{display:grid;gap:14px;padding:16px 18px;background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-left:3px solid var(--sheet-tone-accent, var(--theme-primary));border-radius:var(--radius-lg);box-shadow:var(--asper-shadow-card)}.suggestion-loading{display:flex;align-items:flex-start;gap:12px;color:var(--color-warning-text)}.suggestion-loading strong{display:block;margin-bottom:2px;color:var(--asper-text);font-size:18px}.suggestion-loading span{color:var(--asper-text-muted);font-size:17px}.suggestion-banner-top{display:flex;align-items:flex-start;gap:12px}.suggestion-banner-icon{width:36px;height:36px;display:grid;place-items:center;flex-shrink:0;color:var(--asper-text-muted);background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-sm)}.suggestion-banner-icon.muted{color:var(--asper-text-muted);border-color:var(--asper-border)}.suggestion-banner-copy{display:grid;gap:8px;flex:1;min-width:0}.suggestion-banner-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:17px}.suggestion-banner-title span:first-child{color:var(--asper-text-muted);font-weight:600}.suggestion-banner-title strong{color:var(--asper-text);font-size:19px}.suggestion-confidence-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:15px;font-weight:600}.suggestion-confidence-chip.high{color:var(--color-success-text);background:var(--color-success-bg)}.suggestion-confidence-chip.medium{color:var(--theme-orange);background:#ffffffb8}.suggestion-confidence-chip.low{color:var(--asper-text-muted);background:var(--asper-surface-muted)}.suggestion-rationale-toggle{display:inline-flex;align-items:center;gap:4px;padding:0;color:var(--asper-text-muted);background:transparent;border:0;font-size:16px;font-weight:600}.suggestion-rationale-toggle:hover{color:var(--asper-text)}.suggestion-rationale-toggle svg{transition:transform .15s ease}.suggestion-rationale-toggle svg.open{transform:rotate(180deg)}.suggestion-rationale p,.suggestion-fallback-copy{margin:0;color:var(--asper-text-muted);font-size:17px;line-height:1.5}.suggestion-copy:has(.spin){display:flex;align-items:center;gap:10px;color:var(--color-warning-text)}.suggestion-copy{display:grid;gap:6px;font-size:17px;color:var(--asper-text)}.suggestion-copy p{margin:0;color:var(--asper-text-muted)}.suggestion-confidence{margin-left:6px;color:var(--asper-text-muted);font-weight:500}.suggestion-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-left:48px}.btn-primary,.btn-secondary,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border-radius:var(--radius-sm);font-size:17px;font-weight:600;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn-primary{color:var(--asper-surface);background:var(--theme-black);border:1px solid var(--theme-black)}.btn-primary:hover{background:var(--theme-black-hover);border-color:var(--theme-black-hover)}.btn-secondary{color:var(--asper-text-body);background:var(--asper-surface);border:1px solid var(--asper-border-strong)}.btn-secondary:hover{background:var(--asper-surface-muted)}.btn-ghost{color:var(--asper-text-muted);background:transparent;border:1px solid transparent}.btn-ghost:hover{color:var(--asper-text);background:#ffffff8c}.suggestion-actions button,.suggestion-copy>button{min-height:34px;padding:0 14px;color:var(--asper-text-body);background:var(--asper-surface);border:1px solid var(--asper-border-strong);border-radius:var(--radius-sm);font-size:17px;font-weight:600;transition:background-color .15s ease,border-color .15s ease}.suggestion-actions button:hover,.suggestion-copy>button:hover{background:var(--asper-surface-muted);border-color:var(--asper-border-strong)}.suggestion-change{position:relative}.suggestion-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:5;display:grid;align-content:start;min-width:220px;max-height:min(320px,48vh);padding:4px;overflow-y:auto;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-sm);box-shadow:var(--asper-shadow-md);overscroll-behavior:contain}.suggestion-menu button{width:100%;min-height:34px;padding:0 10px;text-align:left;color:var(--asper-text);background:transparent;border:0;border-radius:4px}.suggestion-menu button:hover{background:var(--asper-surface-muted)}.form-section{padding:20px;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-lg);box-shadow:var(--asper-shadow-card)}.form-section-header{margin-bottom:16px}.form-section-header h3{margin:0 0 4px;color:var(--asper-text);font-size:19px;font-weight:700}.form-section-header p{margin:0;color:var(--asper-text-muted);font-size:17px;line-height:1.45}.field-grid{display:grid;grid-template-columns:1fr;gap:16px}.form-field{display:grid;gap:6px;min-width:0}.form-label{color:var(--asper-text-body);font-size:17px;font-weight:600;line-height:1.3}.form-control{width:100%;min-height:42px;padding:0 12px;color:var(--asper-text);background:var(--asper-surface);border:1px solid var(--asper-border-strong);border-radius:var(--radius-sm);font-size:18px;line-height:1.4;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.form-control:hover:not(:disabled){border-color:var(--asper-text-subtle)}.form-control:focus{outline:none;border-color:var(--asper-text-subtle);box-shadow:0 0 0 3px #11182714}.form-control:disabled{color:var(--asper-text-subtle);background:var(--asper-surface-muted);cursor:not-allowed}.form-control::placeholder{color:var(--asper-text-subtle)}select.form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;cursor:pointer}select.form-control option{color:var(--asper-text)}.select-wrap,.custom-select{position:relative;display:block}.custom-select-trigger{width:100%;display:flex;align-items:center;text-align:left;padding-right:32px}.custom-select-trigger>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-select-trigger:disabled{cursor:not-allowed}.custom-select-placeholder{color:var(--asper-text-subtle)}.custom-select.open .select-chevron{transform:translateY(-50%) rotate(180deg)}.custom-select.open .custom-select-trigger{border-color:var(--asper-text-subtle);box-shadow:0 0 0 3px #11182714}.custom-select-menu{margin:0;padding:4px;overflow-x:hidden;overflow-y:auto;list-style:none;background:var(--asper-surface);border:1px solid var(--asper-border-strong);border-radius:var(--radius-sm);box-shadow:var(--asper-shadow-md)}.custom-select-menu-searchable{display:flex;flex-direction:column;padding:0;overflow:hidden}.custom-select-search{display:flex;flex-shrink:0;align-items:center;gap:8px;padding:8px;border-bottom:1px solid var(--asper-border);background:var(--asper-surface)}.custom-select-search svg{flex-shrink:0;color:var(--asper-text-muted)}.custom-select-search-input{width:100%;min-width:0;padding:0;color:var(--asper-text);font-size:17px;background:transparent;border:0;outline:none}.custom-select-search-input::placeholder{color:var(--asper-text-subtle)}.custom-select-options{margin:0;padding:4px;overflow-x:hidden;overflow-y:auto;list-style:none;flex:1;min-height:0}.custom-select-empty{justify-content:center;color:var(--asper-text-muted);font-style:italic;cursor:default}.custom-select-menu-portal{position:fixed;z-index:1200}.custom-select-menu-portal.open-down{bottom:auto}.custom-select-menu-portal.open-up{top:auto}.custom-select-menu li{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:8px 12px;color:var(--asper-text);border-radius:6px;font-size:18px;line-height:1.35;cursor:pointer}.custom-select-menu li span{min-width:0;overflow-wrap:anywhere}.custom-select-menu li:hover,.custom-select-menu li.active{background:var(--asper-surface-muted)}.custom-select-menu li.selected{background:var(--asper-bg);font-weight:600}.custom-select-menu li.selected svg{flex-shrink:0;color:var(--theme-green)}.custom-select-menu li.disabled{opacity:.45;cursor:not-allowed}.select-chevron{position:absolute;top:50%;right:12px;color:var(--asper-text-muted);pointer-events:none;transform:translateY(-50%);transition:transform .15s ease}.field-grid label:not(.form-field){display:grid;gap:6px}.field-grid label:not(.form-field) span{color:var(--asper-text-body);font-size:17px;font-weight:600}.field-grid label:not(.form-field) input{width:100%;min-height:42px;padding:0 12px;color:var(--asper-text);background:var(--asper-surface);border:1px solid var(--asper-border-strong);border-radius:var(--radius-sm);font-size:18px}.field-grid label:not(.form-field) input:focus{outline:none;border-color:var(--asper-text-subtle);box-shadow:0 0 0 3px #11182714}.toggle-row{margin-top:12px}.primary-action{width:100%;justify-content:center;gap:8px;min-height:40px;margin-top:14px;color:var(--asper-surface);background:var(--theme-primary);border:0;border-radius:var(--radius-sm);font-size:18px;font-weight:600;box-shadow:var(--asper-shadow-sm);transition:background-color .15s ease}.primary-action.inline{width:auto;margin-top:0;padding:0 20px}.primary-action:hover:not(:disabled){background:var(--theme-primary-hover)}.secondary-button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;color:var(--asper-text-body);background:var(--asper-surface);border:1px solid var(--asper-border-strong);border-radius:7px;font-size:16px;font-weight:600;text-decoration:none;transition:background-color .15s ease,border-color .15s ease}.secondary-button:hover{background:var(--asper-surface-muted);border-color:var(--asper-border-strong)}.main-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:0;min-width:0;margin:16px;padding:20px 20px 0;overflow:hidden;background:var(--asper-surface)}.main-panel>.section-header{padding-bottom:4px}.main-panel.configuring{grid-template-rows:minmax(0,1fr);padding:0}.config-workspace{display:grid;grid-template-rows:auto minmax(0,1fr);gap:0;min-height:0;overflow:hidden}.config-workspace-header{display:flex;flex-direction:column;gap:0;min-height:0;background:var(--asper-surface);border-bottom:1px solid var(--asper-border)}.config-sheet-carousel{display:flex;align-items:center;gap:8px;min-height:0;padding:12px 14px}.config-sheet-carousel-track{--carousel-gap: 10px;--carousel-visible: 4;flex:1;display:flex;gap:var(--carousel-gap);min-width:0;padding:2px 0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.config-sheet-carousel-track::-webkit-scrollbar{display:none}.config-sheet-card{flex:0 0 calc((100% - (var(--carousel-visible) - 1) * var(--carousel-gap)) / var(--carousel-visible));display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:10px 12px;text-align:left;background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:var(--radius-md);cursor:pointer;scroll-snap-align:start;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.config-sheet-card:hover,.config-sheet-card.included{background:var(--asper-surface);border-color:var(--asper-border-strong)}.config-sheet-card.active{background:var(--asper-surface);border-color:var(--asper-border-strong);box-shadow:inset 3px 0 0 var(--sheet-tone-accent, var(--theme-primary)),var(--asper-shadow-sm)}.config-sheet-card.tone-0,.suggestion-banner.tone-0,.sheet-picker-row.tone-0{--sheet-tone-accent: var(--theme-primary)}.config-sheet-card.tone-1,.suggestion-banner.tone-1,.sheet-picker-row.tone-1{--sheet-tone-accent: var(--theme-accent-lavender-text)}.config-sheet-card.tone-2,.suggestion-banner.tone-2,.sheet-picker-row.tone-2{--sheet-tone-accent: var(--theme-green)}.config-sheet-card.tone-3,.suggestion-banner.tone-3,.sheet-picker-row.tone-3{--sheet-tone-accent: var(--theme-orange)}.config-sheet-card.tone-4,.suggestion-banner.tone-4,.sheet-picker-row.tone-4{--sheet-tone-accent: var(--theme-accent-pink-text)}.config-sheet-card.tone-5,.suggestion-banner.tone-5,.sheet-picker-row.tone-5{--sheet-tone-accent: var(--theme-teal)}.config-sheet-card.active .config-sheet-card-name{color:var(--asper-text)}.config-sheet-card-name{width:100%;overflow:hidden;color:var(--asper-text);font-size:17px;font-weight:600;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.config-sheet-card .sheet-status-chip{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-sheet-carousel-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin:0;padding:6px 12px 8px;border-top:1px solid var(--asper-border);color:var(--asper-text-muted);font-size:16px;line-height:1.35}.config-context-nav{width:32px;height:32px;flex-shrink:0;display:grid;place-items:center;color:var(--asper-text-muted);background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-sm);transition:background-color .15s ease,color .15s ease,border-color .15s ease}.config-context-nav:hover:not(:disabled){color:var(--asper-text);background:var(--asper-surface-muted);border-color:var(--asper-border-strong)}.config-context-nav:disabled{opacity:.35;cursor:not-allowed}.config-context-nav:focus{outline:none}.config-context-nav:focus-visible{outline:2px solid var(--theme-primary-muted);outline-offset:-2px;z-index:1}.config-context-dot{color:var(--asper-text-subtle)}.config-context-progress-inline{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-variant-numeric:tabular-nums}.config-context-progress-track{width:64px;height:4px;overflow:hidden;background:var(--asper-border);border-radius:999px}.config-context-progress-fill{display:block;height:100%;background:var(--theme-green);border-radius:999px;transition:width .2s ease}.config-header-leading{flex-shrink:0;min-width:180px}.config-header-leading h2{margin:0;color:var(--asper-text);font-size:20px;font-weight:700;line-height:1.25}.config-header-progress-row{display:flex;align-items:center;gap:10px;margin-top:8px}.config-header-progress-track{width:88px;height:4px;overflow:hidden;background:var(--asper-border);border-radius:999px}.config-header-progress-fill{height:100%;background:var(--theme-green);border-radius:999px;transition:width .2s ease}.config-header-progress-label{color:var(--asper-text-muted);font-size:16px;font-weight:600;white-space:nowrap}.config-header-nav{display:inline-flex;align-items:stretch;min-width:0;max-width:min(100%,520px);margin-left:auto;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-md);overflow:hidden}.config-header-nav-body{display:flex;flex:1;align-items:center;justify-content:center;gap:10px;min-width:0;padding:0 16px;border-inline:1px solid var(--asper-border)}.config-sheet-position{flex-shrink:0;color:var(--asper-text-muted);font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.config-header-title-block{flex-shrink:0;min-width:0}.config-header-subtitle{margin:2px 0 0;color:var(--asper-text-muted);font-size:16px;line-height:1.35}.config-header-sheet-bar{display:flex;flex:1;align-items:center;justify-content:center;gap:12px;min-width:0;max-width:560px;margin-inline:auto;padding:8px 12px;background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:var(--radius-lg);box-shadow:none}.config-header-sheet-info{display:flex;flex:1;flex-direction:column;align-items:center;gap:4px;min-width:0;text-align:center}.config-header-ready-pill{flex-shrink:0;padding:7px 12px;color:var(--asper-text-body);background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:999px;font-size:16px;font-weight:700;white-space:nowrap}.config-header-ready-pill.complete{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.config-workspace-header-main .section-header{padding:20px 24px 0;margin-bottom:0}.config-sheet-nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 24px 16px}.config-sheet-nav-btn{width:40px;display:grid;place-items:center;flex-shrink:0;align-self:stretch;color:var(--asper-text);background:var(--asper-surface-muted);border:0;border-radius:0;transition:background-color .15s ease,color .15s ease}.config-sheet-nav-btn:hover:not(:disabled){color:var(--asper-text);background:var(--asper-border)}.config-sheet-nav-btn:focus{outline:none}.config-sheet-nav-btn:focus-visible{outline:2px solid var(--asper-text-subtle);outline-offset:-2px;z-index:1}.config-sheet-nav-btn:disabled{opacity:.4;cursor:not-allowed}.config-sheet-nav-current{display:grid;gap:4px;min-width:0;text-align:center}.config-sheet-nav-label{color:var(--asper-text-subtle);font-size:15px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.config-sheet-nav-name{overflow:hidden;color:var(--asper-text);font-size:19px;font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.config-sheet-nav-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}.config-sheet-excluded-notice{margin-bottom:16px;padding:12px 14px;color:var(--asper-text-muted);background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:var(--radius-md);font-size:17px;line-height:1.45}.config-form-card{overflow:hidden;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-lg);box-shadow:var(--asper-shadow-card)}.config-form-divider{height:1px;background:var(--asper-border)}.form-section-inline{padding:20px 22px;background:transparent;border:0;border-radius:0;box-shadow:none}.run-options-panel .section-header{margin-bottom:12px}.run-options-icon{display:grid;place-items:center;width:28px;height:28px;color:var(--asper-text-muted);background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:var(--radius-sm)}.run-options-fields{display:grid;gap:14px}.run-options-toggle{align-items:flex-start;padding:10px 12px;background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:var(--radius-md)}.toggle-row-copy{display:grid;gap:2px}.toggle-row-copy strong{color:var(--asper-text);font-size:17px;font-weight:600}.toggle-row-copy span{color:var(--asper-text-muted);font-size:16px;line-height:1.4}.config-workspace>.section-header{padding:20px 24px 0;margin-bottom:0}.config-workspace-empty{place-content:center;padding:32px;text-align:center}.config-workspace-empty .section-header{justify-content:center;margin-bottom:0}.config-workspace-empty .section-header-copy{text-align:center}.config-header{padding:20px 24px 16px;border-bottom:1px solid var(--asper-border)}.config-header h2{margin:0 0 6px;font-size:22px;font-weight:700}.config-header p{margin:0;color:var(--asper-text-muted);font-size:18px;line-height:1.5}.sheet-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:12px 24px;background:var(--asper-surface-muted);border-bottom:1px solid var(--asper-border)}.sheet-tab{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;color:var(--asper-text);background:var(--asper-surface);border:1px solid var(--asper-border-strong);border-radius:999px;font-size:17px;font-weight:600}.sheet-tab:hover{background:var(--asper-surface-muted)}.sheet-tab.active{color:var(--asper-surface);background:var(--theme-black);border-color:var(--theme-black)}.sheet-tab.included:not(.active){border-color:var(--asper-border-strong)}.sheet-tab-badge{max-width:160px;overflow:hidden;padding:2px 8px;color:inherit;background:#ffffff29;border-radius:999px;font-size:15px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.sheet-tab.active .sheet-tab-badge{background:#ffffff2e}.config-body{min-height:0;padding:20px 24px 28px;overflow:auto;background:var(--asper-surface)}.run-strip{min-height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--asper-border)}.mapping-progress-legend{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.legend-item{display:inline-flex;align-items:center;gap:6px;color:var(--asper-text-muted);font-size:16px;font-weight:600}.legend-item:before{content:"";width:8px;height:8px;border-radius:999px}.legend-item.high:before{background:var(--theme-green)}.legend-item.medium:before{background:var(--theme-orange)}.legend-item.low:before{background:var(--theme-red)}.legend-item.unmapped:before{background:var(--asper-border-strong)}.legend-item.home-dimension:before{background:var(--theme-blue)}.mapping-progress-bar{display:flex;height:8px;overflow:hidden;margin-bottom:20px;background:var(--asper-border);border-radius:999px}.mapping-progress-bar .segment{height:100%;min-width:2px}.mapping-progress-bar .segment.high{background:var(--asper-green)}.mapping-progress-bar .segment.medium{background:#eab308}.mapping-progress-bar .segment.low{background:var(--asper-orange)}.mapping-progress-bar .segment.unmapped{background:var(--asper-border-strong)}.result-panel .section-header{padding:20px 24px;margin-bottom:0;border-bottom:1px solid var(--asper-border);background:var(--asper-surface)}.result-panel .section-header-copy h2{font-size:24px;letter-spacing:-.01em}.run-status-banner{display:flex;align-items:center;gap:14px;margin:20px 24px 0;padding:16px 18px;border:1px solid var(--asper-border);border-radius:var(--radius-lg);background:var(--asper-surface)}.run-status-banner.running{border-color:var(--asper-border);border-left:3px solid var(--theme-orange);background:var(--asper-surface)}.run-status-banner.queued{border-color:var(--asper-border);background:var(--asper-surface-muted)}.run-status-banner.running .run-status-banner-icon{color:var(--color-warning-text);border-color:var(--color-warning-border);background:var(--asper-surface)}.run-status-banner.queued .run-status-banner-icon{color:var(--asper-text-muted);border-color:var(--asper-border);background:var(--asper-surface)}.run-status-banner-icon{width:44px;height:44px;display:grid;place-items:center;flex-shrink:0;color:var(--asper-text-muted);background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:999px}.run-status-banner-copy{display:grid;gap:4px;flex:1;min-width:0}.run-status-banner-copy strong{color:var(--asper-text);font-size:19px;font-weight:700}.run-status-banner-copy span{color:var(--asper-text-muted);font-size:17px;text-transform:capitalize}.main-panel.runs-view{padding:0;overflow:auto}.main-panel.runs-view>.runs-workspace{padding:24px 24px 0}.main-panel.runs-view>.result-panel{margin-top:0}.runs-workspace{display:grid;gap:4px}.runs-workspace .section-header{margin-bottom:8px}.empty-state{padding:32px 24px;color:var(--asper-text-muted);font-size:17px;text-align:center}.empty-state.runs-empty{display:grid;gap:6px;margin:8px 24px 24px;padding:40px 24px;background:var(--asper-surface-muted);border:1px dashed var(--asper-border-strong);border-radius:var(--radius-lg)}.empty-state.runs-empty strong{color:var(--asper-text);font-size:19px}.run-list{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);gap:12px;padding:4px 0 20px;overflow-x:auto;scrollbar-width:thin}.run-list::-webkit-scrollbar{height:6px}.run-list::-webkit-scrollbar-thumb{background:var(--asper-border-strong);border-radius:999px}.run-row{min-height:76px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:4px 12px;padding:14px 16px;color:var(--asper-text);background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-lg);box-shadow:var(--asper-shadow-card);text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.run-row:hover{border-color:var(--asper-border-strong);box-shadow:var(--asper-shadow-md)}.run-row.active{border-color:var(--asper-border-strong);border-left-width:3px;border-left-color:var(--asper-border-strong);box-shadow:var(--asper-shadow-md);background:var(--asper-surface)}.run-row.active.status-running{border-left-color:var(--theme-orange)}.run-row.active.status-queued{border-left-color:var(--asper-text-subtle)}.run-row.active.status-awaiting_review{border-left-color:var(--theme-accent-pink-text)}.run-row.active.status-succeeded{border-left-color:var(--theme-green)}.run-row.active.status-failed{border-left-color:var(--theme-red)}.run-icon-wrap{grid-row:1 / span 2;width:40px;height:40px;display:grid;place-items:center;background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:999px}.run-row.active .run-icon-wrap{background:var(--asper-surface-muted);border-color:var(--asper-border)}.run-row.status-running .run-icon-wrap{color:var(--color-warning-text);background:var(--color-warning-bg);border-color:var(--color-warning-border)}.run-row .status-pill{grid-column:2;justify-self:start;margin-top:2px;padding:3px 10px;font-size:15px;font-weight:600;text-transform:capitalize}.run-title{display:grid;gap:3px;overflow:hidden;grid-column:2;grid-row:1;align-self:center}.run-title strong{overflow:hidden;color:var(--asper-text);font-size:18px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.run-title small{overflow:hidden;color:var(--asper-text-muted);font-size:15px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.status-pill{padding:3px 10px;border-radius:999px;font-size:15px;font-weight:600;text-transform:capitalize}.status-pill.queued{color:var(--asper-text-muted);background:var(--asper-surface-muted);border:1px solid var(--asper-border)}.status-pill.running{color:var(--color-warning-text);background:var(--color-warning-bg);border:1px solid var(--color-warning-border)}.status-pill.succeeded{color:var(--color-success-text);background:var(--color-success-bg);border:1px solid var(--color-success-border)}.status-pill.awaiting_review{color:var(--theme-accent-pink-text);background:var(--theme-accent-pink);border:1px solid #fbcfe8}.status-pill.failed{color:var(--color-danger-text);background:var(--color-danger-bg);border:1px solid var(--color-danger-border)}.review-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;padding:.75rem 1rem;border:1px solid #fcd34d;border-radius:8px;background:#fffbeb}.review-banner button{white-space:nowrap}.review-actions{display:flex;gap:.5rem}.review-progress{display:block;margin-top:.35rem;font-size:16px;color:var(--asper-text-muted)}.review-table input,.review-table select{width:100%;min-width:120px}.review-pill{display:inline-flex;align-items:center;flex-shrink:0;padding:3px 9px;border-radius:999px;font-size:15px;font-weight:700;letter-spacing:.01em;line-height:1.2}.review-pill.large{padding:6px 12px;font-size:16px}.review-pill.pending{color:var(--theme-accent-pink-text);background:var(--theme-accent-pink);border:1px solid #fbcfe8}.review-pill.approved{color:var(--color-success-text);background:var(--color-success-bg);border:1px solid var(--color-success-border)}.review-pill.rejected{color:var(--color-danger-text);background:var(--color-danger-bg);border:1px solid var(--color-danger-border)}.review-pill.grain{color:var(--theme-teal);background:var(--theme-teal-soft);border:1px solid #b0e0d8}.review-pill.issues{color:var(--color-danger-text);background:var(--color-danger-bg);border:1px solid var(--color-danger-border)}.memory-provenance{display:block;margin-top:.25rem;font-size:14px;color:var(--asper-text-muted)}.review-banner.compact{margin:20px 24px;padding:16px 18px;border:1px solid #fbcfe8;border-radius:var(--radius-lg);background:var(--theme-accent-pink)}.error-box{margin:20px 24px}.review-recommendations{margin:16px 24px 0;padding:14px 16px;border:1px solid var(--asper-border);border-radius:var(--radius-lg, 12px);background:var(--asper-surface-muted, #f7f7f8)}.review-er-body{display:flex;flex:1;min-height:0;min-width:0}.review-recommendations-side{flex:0 0 320px;align-self:stretch;display:flex;flex-direction:column;gap:0;margin:12px 0 16px 16px;padding:0;overflow-y:auto;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-lg, 12px);box-shadow:var(--asper-shadow-card)}.review-er-body .review-er-canvas-page{flex:1;min-width:0}@media(max-width:900px){.review-er-body{flex-direction:column}.review-recommendations-side{flex:none;margin:12px 16px 0;max-height:32vh}}.review-recommendations-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:var(--asper-surface);border-bottom:1px solid var(--asper-border)}.review-recommendations-title{display:flex;align-items:center;gap:7px;font-size:16px;font-weight:700;line-height:1.3;color:var(--asper-text)}.review-recommendations-title svg{flex:none;color:var(--asper-accent, #2563eb)}.review-recommendations-badge{flex:none;padding:2px 8px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--asper-text-muted);background:var(--asper-surface-muted, #f4f4f5);border:1px solid var(--asper-border);border-radius:999px;white-space:nowrap}.review-recommendation-group{padding:12px 14px;border-top:1px solid var(--asper-border)}.review-recommendation-group:first-of-type{border-top:none}.review-recommendations-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.review-recommendations-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;background:var(--asper-surface-muted, #f7f7f8);border:1px solid var(--asper-border);border-radius:8px}.review-recommendations-list .mapping-code{min-width:0;padding:0;background:transparent;border:none;font-weight:600;white-space:normal;overflow-wrap:anywhere}.review-recommendation-dim{flex:none;padding:1px 8px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--asper-accent, #2563eb);background:color-mix(in srgb,var(--asper-accent, #2563eb) 12%,transparent);border-radius:999px;white-space:nowrap}.review-recommendation-summary{margin:10px 0 0;padding:8px 10px;font-size:16px;line-height:1.5;color:var(--asper-text-muted);background:var(--asper-surface-muted, #f7f7f8);border-left:2px solid color-mix(in srgb,var(--asper-accent, #2563eb) 45%,transparent);border-radius:0 6px 6px 0}.review-screen{flex:1;display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden;background:var(--asper-bg)}.review-screen-er{grid-template-rows:auto minmax(0,1fr);display:flex;flex-direction:column}.review-er-layout{display:grid;grid-template-rows:minmax(150px,26vh) minmax(0,1fr);gap:12px;min-height:0;min-width:0;overflow:hidden;padding:12px 16px 16px}.review-er-canvas-page{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow:hidden;margin:12px 16px 16px;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-lg);box-shadow:var(--asper-shadow-card)}.review-er-canvas-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 18px 10px;border-bottom:1px solid var(--asper-border)}.review-er-canvas-header h3{margin:0;color:var(--asper-text);font-size:19px;font-weight:700}.review-er-canvas-header p{margin:4px 0 0;color:var(--asper-text-muted);font-size:16px;line-height:1.45}.review-er-canvas-header strong{color:var(--asper-text);font-weight:600}.review-mapping-page{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;padding:12px 16px 16px}.review-screen-dictionary{display:flex;flex-direction:column}.dictionary-review-page{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;padding:12px 16px 16px}.dictionary-review-panel{display:flex;flex:1;flex-direction:column;min-height:0;margin:0;overflow:hidden}.dictionary-review-panel .mapping-table-wrap{flex:1;min-height:0;max-height:none}.dictionary-review-legend{padding:10px 20px 12px;border-bottom:1px solid var(--asper-border)}.dictionary-review-table{width:100%;min-width:0;table-layout:fixed}.dictionary-review-table thead th{position:sticky;top:0;z-index:1;padding:12px 16px}.dictionary-review-table tbody td{padding:14px 16px;vertical-align:top}.dictionary-review-table th:nth-child(1),.dictionary-review-table td:nth-child(1){width:13%;min-width:108px}.dictionary-review-table th:nth-child(2),.dictionary-review-table td:nth-child(2){width:10%}.dictionary-review-table th:nth-child(3),.dictionary-review-table td:nth-child(3){width:34%}.dictionary-review-table th:nth-child(4),.dictionary-review-table td:nth-child(4){width:14%}.dictionary-review-table th:nth-child(5),.dictionary-review-table td:nth-child(5),.dictionary-review-table th:nth-child(6),.dictionary-review-table td:nth-child(6){width:12%}.dictionary-review-table td strong{color:var(--asper-text);font-size:17px;font-weight:700;line-height:1.35}.dictionary-review-table td>span{color:var(--asper-text-muted);font-size:16px;line-height:1.4}.dictionary-type-cell,.dictionary-metric{display:block;color:var(--asper-text-body);font-size:17px;font-weight:600}.dictionary-muted{color:var(--asper-text-subtle);font-size:16px;font-weight:600}.dictionary-meaning-cell{display:grid;gap:8px;min-width:0}.dictionary-meaning{margin:0;color:var(--asper-text-body);font-size:17px;line-height:1.5;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.dictionary-alias-list{display:flex;flex-wrap:wrap;gap:6px}.dictionary-alias-chip{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;color:var(--asper-text-muted);background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:999px;font-size:15px;font-weight:600}.dictionary-alias-more{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;color:var(--asper-text-subtle);font-size:15px;font-weight:700}.dictionary-grain-cell{display:grid;gap:6px;justify-items:start}.dictionary-grain-entity{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;color:var(--theme-blue);background:var(--theme-blue-soft);border:1px solid var(--color-info-border);border-radius:999px;font-size:15px;font-weight:700;line-height:1.3;text-transform:lowercase}.dictionary-grain-cell{gap:8px}.dictionary-grain-cell .confidence-pill{text-transform:capitalize}.dictionary-grain-cell .dictionary-grain-select{width:100%;min-width:148px;max-width:190px}.dictionary-grain-cell .dictionary-grain-select .custom-select-trigger{padding-right:32px}.dictionary-grain-cell .dictionary-grain-select .custom-select-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dictionary-grain-controls{display:inline-flex;align-items:center;gap:8px}.dictionary-grain-home-dimension{display:inline-flex;align-items:center;gap:4px;font-size:15px;color:var(--theme-text-muted, #6b7280)}.dictionary-grain-home-dimension:before{content:"↳";color:var(--theme-text-muted, #9ca3af)}.grain-switch{display:inline-flex;align-items:center;gap:7px;font-size:16px;font-weight:600;color:var(--theme-text, #374151);cursor:pointer;-webkit-user-select:none;user-select:none}.grain-switch input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.grain-switch-track{position:relative;display:inline-block;width:30px;height:18px;border-radius:999px;background:var(--asper-border, #d1d5db);transition:background .15s ease}.grain-switch-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s ease}.grain-switch input:checked+.grain-switch-track{background:var(--theme-primary, #2563eb)}.grain-switch input:checked+.grain-switch-track .grain-switch-thumb{transform:translate(12px)}.grain-switch input:focus-visible+.grain-switch-track{outline:2px solid var(--theme-primary, #2563eb);outline-offset:2px}.grain-switch.disabled{color:var(--theme-text-muted, #9ca3af);cursor:not-allowed}.grain-switch.disabled .grain-switch-track{opacity:.55}.column-table.dictionary-review-table tbody tr:hover{background:transparent}.column-table.dictionary-review-table tbody tr:nth-child(2n):hover{background:#f9fafbcc}.review-screen-scope{display:flex;flex-direction:column}.scope-screen-body{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:16px;min-height:0;min-width:0;overflow:hidden;padding:12px 16px 16px}.scope-sidebar{display:flex;flex-direction:column;min-height:0;overflow:hidden}.scope-sidebar-panel{display:flex;flex:1;flex-direction:column;min-height:0;margin:0;overflow:hidden}.scope-sidebar-toolbar{align-items:flex-start}.scope-sidebar-toolbar-copy h3{margin:0 0 4px;color:var(--asper-text);font-size:20px;font-weight:700}.scope-sidebar-toolbar-copy p{margin:0;color:var(--asper-text-muted);font-size:17px;line-height:1.45}.scope-sidebar-scroll{flex:1;min-height:0;overflow-y:auto;padding:8px 12px 12px;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--asper-border-strong) transparent}.scope-sidebar-section+.scope-sidebar-section{margin-top:14px;padding-top:14px;border-top:1px solid var(--asper-border)}.scope-sidebar-section-head{display:grid;gap:4px;margin-bottom:10px}.scope-hint{margin:0;color:var(--asper-text-muted);font-size:16px;line-height:1.45}.scope-choice-list{display:grid;gap:6px}.scope-choice-item{display:flex;align-items:flex-start;gap:12px;width:100%;padding:10px 12px;text-align:left;color:inherit;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-md);transition:background-color .15s ease,border-color .15s ease}.scope-choice-item:hover{background:var(--asper-surface-muted);border-color:var(--asper-border-strong)}.scope-choice-item:focus{outline:none}.scope-choice-item:focus-visible{border-color:var(--asper-border-strong);box-shadow:0 0 0 2px #11182714}.scope-choice-item.selected{background:var(--asper-surface-muted);border-color:var(--asper-border-strong)}.scope-choice-check{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:22px;height:22px;margin-top:1px;color:var(--asper-text-muted);background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:999px}.scope-choice-item.selected .scope-choice-check{color:var(--asper-text);background:var(--asper-surface);border-color:var(--asper-border-strong)}.scope-choice-copy{display:grid;gap:6px;min-width:0;flex:1}.scope-choice-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.scope-choice-copy strong{color:var(--asper-text);font-size:17px;font-weight:700;line-height:1.35}.scope-choice-rationale{margin:0;color:var(--asper-text-muted);font-size:16px;line-height:1.5;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.scope-warn-badge{display:inline-flex;align-items:center;min-height:20px;padding:0 8px;color:var(--color-danger-text);background:var(--color-danger-bg);border-radius:999px;font-size:14px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.scope-suggestion-list{display:grid;gap:8px}.scope-suggestion{display:grid;gap:8px;width:100%;padding:12px 14px;text-align:left;color:inherit;background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:var(--radius-md);transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.scope-suggestion:hover{background:var(--asper-surface);border-color:var(--asper-border-strong)}.scope-suggestion.selected{background:var(--asper-surface);border-color:#b0e0d8}.scope-suggestion-head{display:flex;align-items:center;gap:10px;min-width:0}.scope-suggestion-check{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:22px;height:22px;color:var(--theme-teal);background:var(--theme-teal-soft);border-radius:999px}.scope-suggestion-head strong{overflow:hidden;color:var(--asper-text);font-size:17px;font-weight:700;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.scope-suggestion-rationale{margin:0;color:var(--asper-text-muted);font-size:16px;line-height:1.5}.scope-catalog-panel{display:flex;flex:1;flex-direction:column;min-height:0;margin:0;overflow:hidden}.scope-catalog-toolbar{align-items:flex-start;gap:20px}.scope-catalog-toolbar-copy{flex:1;min-width:0}.scope-catalog-toolbar-copy h3{margin:0 0 4px;color:var(--asper-text);font-size:20px;font-weight:700}.scope-catalog-toolbar-copy p{margin:0;color:var(--asper-text-muted);font-size:17px;line-height:1.45}.scope-search{position:relative;display:flex;flex-shrink:0;align-items:center;width:min(280px,100%)}.scope-search svg{position:absolute;left:12px;color:var(--asper-text-muted);pointer-events:none}.scope-search input{width:100%;min-height:40px;padding:0 12px 0 36px;color:var(--asper-text);background:var(--asper-surface);border:1px solid var(--asper-border-strong);border-radius:var(--radius-sm);font-size:17px;transition:border-color .15s ease,box-shadow .15s ease}.scope-search input:focus{outline:none;border-color:var(--asper-text-subtle);box-shadow:0 0 0 3px #11182714}.scope-catalog-list{flex:1;min-height:0;overflow-y:auto;padding:8px 12px 12px;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--asper-border-strong) transparent}.scope-catalog-item{display:flex;align-items:flex-start;gap:12px;width:100%;margin-bottom:6px;padding:12px 14px;text-align:left;color:inherit;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-md);transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.scope-catalog-item:hover{background:var(--asper-surface-muted);border-color:var(--asper-border-strong)}.scope-catalog-item:focus{outline:none}.scope-catalog-item:focus-visible{border-color:var(--asper-border-strong);box-shadow:0 0 0 2px #11182714}.scope-catalog-item.selected{background:var(--theme-teal-soft);border-color:#b0e0d8}.scope-catalog-check{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:22px;height:22px;margin-top:1px;color:var(--theme-teal);background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:999px}.scope-catalog-item.selected .scope-catalog-check{background:var(--asper-surface);border-color:#b0e0d8}.scope-catalog-copy{display:grid;gap:6px;min-width:0;flex:1}.scope-catalog-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.scope-catalog-title-row strong{color:var(--asper-text);font-size:18px;font-weight:700;line-height:1.3}.scope-role-pill{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;color:var(--asper-text-muted);background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:999px;font-size:15px;font-weight:700;letter-spacing:.02em;text-transform:lowercase}.scope-role-pill.dimension{color:#2d7a6f;background:#e8f7f4;border-color:#b0e0d8}.scope-role-pill.fact{color:#9a5b1f;background:#fff4e8;border-color:#f0d4b0}.scope-catalog-meta{color:var(--asper-text-muted);font-size:16px;font-weight:600}.scope-catalog-desc{margin:0;color:var(--asper-text-body);font-size:16px;line-height:1.5;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.review-mapping-panel{display:flex;flex:1;flex-direction:column;min-height:0;margin:0;overflow:hidden}.review-mapping-panel .mapping-table-wrap{flex:1;min-height:0;max-height:none}.review-mapping-toolbar{align-items:flex-start}.review-mapping-toolbar-actions{display:flex;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:10px;width:min(280px,100%)}.review-mapping-toolbar-actions .review-search{width:100%}.review-mapping-toolbar-main{display:flex;flex-direction:column;gap:12px;min-width:0}.review-mapping-toolbar-copy h3{margin:0 0 4px;color:var(--asper-text);font-size:20px;font-weight:700}.review-mapping-toolbar-copy p{margin:0;color:var(--asper-text-muted);font-size:17px;line-height:1.45}.review-mapping-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.review-mapping-legend .legend-item.pending{color:var(--theme-accent-pink-text);background:var(--theme-accent-pink);border:1px solid #fbcfe8}.review-back-to-diagram{display:inline-flex;align-items:center;gap:8px;width:fit-content;min-height:34px;padding:0 12px;color:var(--asper-text-muted);background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:var(--radius-sm);font-size:16px;font-weight:600;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.review-back-to-diagram:hover{color:var(--asper-text);background:var(--asper-surface);border-color:var(--asper-border-strong)}.mapping-review-table th:nth-child(1),.mapping-review-table td:nth-child(1){width:18%;min-width:120px}.mapping-review-table th:nth-child(2),.mapping-review-table td:nth-child(2){width:14%}.mapping-review-table th:nth-child(3),.mapping-review-table td:nth-child(3){width:34%}.mapping-review-table th:nth-child(4),.mapping-review-table td:nth-child(4){width:12%}.mapping-review-table th:nth-child(5),.mapping-review-table td:nth-child(5){width:12%}.mapping-review-table .mapping-override-select{width:100%;min-width:0}.mapping-review-table .mapping-override-select .custom-select-trigger{min-height:36px;font-size:17px;font-weight:600;background:var(--asper-surface)}.mapping-review-table .review-pill{min-height:22px;padding:0 8px;font-size:16px;text-transform:capitalize}.mapping-table-data-empty{display:grid;place-items:center;min-height:180px;padding:32px 24px;color:var(--asper-text-muted);text-align:center}.mapping-er-canvas{position:relative;display:flex;flex:1;justify-content:center;min-height:0;padding:24px 28px 28px;overflow:auto;background:var(--asper-surface-muted)}.mapping-er-canvas-body{position:relative;z-index:2;display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:88px;align-items:center;width:100%;max-width:960px;min-height:100%}.mapping-er-ontology-card{position:relative;z-index:2;align-self:center;padding:18px 20px;background:#faf8fc;border:1px solid #c4b0e8;border-left:4px solid #8b6fd4;border-radius:14px;box-shadow:var(--asper-shadow-sm)}.mapping-er-ontology-card:after{content:"";position:absolute;top:50%;right:-5px;z-index:3;width:8px;height:8px;background:#3d8f5f;border:2px solid #fff;border-radius:999px;box-shadow:0 0 0 1px #3d8f5f;transform:translateY(-50%)}.mapping-er-ontology-card h4{margin:0;color:#5b4694;font-size:21px;font-weight:700;letter-spacing:-.02em}.mapping-er-ontology-signals{display:grid;gap:7px;margin:12px 0 0;padding:0;list-style:none}.mapping-er-ontology-signals li{position:relative;padding-left:16px;color:#6b5a8f;font-size:16px;line-height:1.45}.mapping-er-ontology-signals li:before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;background:#9b7fd4;border-radius:999px;animation:mapping-er-signal-pulse 2.4s ease-in-out infinite}.mapping-er-ontology-signals li:nth-child(2):before{animation-delay:.4s}.mapping-er-ontology-signals li:nth-child(3):before{animation-delay:.8s}.mapping-er-ontology-signals li:nth-child(4):before{animation-delay:1.2s}.mapping-er-ontology-meta{margin:12px 0 0;padding-top:10px;color:var(--asper-text-muted);font-size:15px;border-top:1px solid #e8e0f4}.mapping-er-target-stack{position:relative;z-index:2;display:flex;flex-direction:column;gap:10px;justify-content:center;min-width:0;max-width:520px}.mapping-er-enriched-card{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:68px;padding:12px 14px 12px 18px;overflow:hidden;text-align:left;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:12px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.mapping-er-enriched-card:hover{transform:translate(3px);border-color:var(--asper-border-strong);box-shadow:var(--asper-shadow-sm)}.mapping-er-enriched-card:hover .mapping-er-enriched-chevron{transform:translate(2px);color:var(--asper-text)}.mapping-er-enriched-accent{position:absolute;top:0;bottom:0;left:0;width:4px;background:var(--asper-border-strong)}.mapping-er-enriched-card.pos .mapping-er-enriched-accent{background:#e07a3a}.mapping-er-enriched-card.tpm{border-color:#b8d4f0}.mapping-er-enriched-card.tpm .mapping-er-enriched-accent{background:#5a9fd4}.mapping-er-enriched-card.finance{border-color:#f0d4b0}.mapping-er-enriched-card.finance .mapping-er-enriched-accent{background:#d4924f}.mapping-er-enriched-card.dimension{border-color:#b0e0d8}.mapping-er-enriched-card.dimension .mapping-er-enriched-accent{background:#3dafa0}.mapping-er-enriched-card.fact{border-color:#f0cdb0}.mapping-er-enriched-card.fact .mapping-er-enriched-accent{background:#e07a3a}.mapping-er-enriched-card.default .mapping-er-enriched-accent{background:var(--asper-text-subtle)}.mapping-er-enriched-card.orphan{background:var(--asper-surface-muted);border-style:dashed}.mapping-er-enriched-card.orphan .mapping-er-enriched-accent{background:var(--asper-text-muted)}.mapping-er-enriched-copy{display:grid;flex:1;gap:3px;min-width:0}.mapping-er-enriched-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.mapping-er-enriched-copy strong{overflow:hidden;flex:1;color:var(--asper-text);font-size:17px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.mapping-er-enriched-copy small{color:var(--asper-text-muted);font-size:15px}.mapping-er-enriched-category{overflow:hidden;color:var(--asper-text-subtle);font-size:14px;font-weight:600;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.mapping-er-enriched-chevron{flex-shrink:0;color:var(--asper-text-subtle);transition:transform .18s ease,color .18s ease}.mapping-er-branch-line{fill:none;stroke:#3d8f5f;stroke-linecap:round;stroke-width:1.75;opacity:.92}.mapping-er-arrowhead{fill:#3d8f5f}.mapping-er-branch-flow{fill:#3d8f5f;stroke:#fff;stroke-width:1.25;opacity:.95}.mapping-er-enriched-top .mapping-er-role{flex-shrink:0;padding:2px 7px;font-size:13px}@keyframes mapping-er-signal-pulse{0%,to{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}.mapping-er-panel-header,.mapping-table-data-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 14px 8px;border-bottom:1px solid var(--asper-border)}.mapping-er-panel-header h3,.mapping-table-data-header h3{margin:0;color:var(--asper-text);font-size:18px;font-weight:700}.mapping-er-panel-header p,.mapping-table-data-header p{margin:2px 0 0;color:var(--asper-text-muted);font-size:15px;line-height:1.35}.mapping-er-panel-count{flex-shrink:0;padding:4px 10px;color:var(--asper-text-muted);background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:999px;font-size:16px;font-weight:600}.mapping-er-diagram{position:relative;min-height:0;padding:8px 10px 10px;overflow:auto}.mapping-er-flow{display:grid;grid-template-columns:minmax(160px,190px) minmax(150px,175px) minmax(0,1fr);gap:12px;align-items:start;min-height:0;padding:0}.mapping-er-flow-column{position:relative;z-index:2;display:flex;flex-direction:column;gap:6px;min-width:0}.mapping-er-flow-stage-label{color:var(--asper-text-subtle);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.mapping-er-flow-card{display:flex;align-items:flex-start;gap:8px;width:100%;padding:8px 10px;text-align:left;color:inherit;background:var(--asper-surface);border:1.5px solid var(--asper-border);border-radius:10px;transition:border-color .15s ease,box-shadow .15s ease}button.mapping-er-flow-card{cursor:pointer}.mapping-er-flow-card.active{border-color:var(--theme-orange);box-shadow:0 0 0 1px var(--theme-orange-soft)}.mapping-er-flow-card.source.pos{border-color:#86c8a0;background:linear-gradient(180deg,#f3fbf6 0%,var(--asper-surface) 100%)}.mapping-er-flow-card.source.tpm{border-color:#8eb8e8;background:linear-gradient(180deg,#f2f7fd 0%,var(--asper-surface) 100%)}.mapping-er-flow-card.source.finance{border-color:#e8b07d;background:linear-gradient(180deg,#fff8f1 0%,var(--asper-surface) 100%)}.mapping-er-flow-card.source.default{border-color:var(--theme-teal-muted)}.mapping-er-flow-card.hub{border-color:#b49adf;background:linear-gradient(180deg,#f8f4fd 0%,var(--asper-surface) 100%);box-shadow:var(--asper-shadow-sm)}.mapping-er-flow-card.target.dimension{border-color:var(--theme-teal-muted);border-left-width:4px;border-left-color:var(--theme-teal)}.mapping-er-flow-card.target.fact{border-color:var(--theme-orange-muted);border-left-width:4px;border-left-color:var(--theme-orange)}.mapping-er-flow-card.target.orphan{border-color:var(--asper-border-strong);border-style:dashed;opacity:.95}.mapping-er-flow-card:hover{box-shadow:var(--asper-shadow-sm)}.mapping-er-flow-card-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:var(--asper-surface-muted)}.mapping-er-flow-card.source .mapping-er-flow-card-icon{color:var(--theme-teal);background:#ffffffb3}.mapping-er-flow-card.hub .mapping-er-flow-card-icon{color:#7b4fbf;background:#efe6fb}.mapping-er-flow-card.target.dimension .mapping-er-flow-card-icon{color:var(--theme-teal);background:var(--theme-teal-soft)}.mapping-er-flow-card.target.fact .mapping-er-flow-card-icon{color:var(--theme-orange);background:var(--theme-orange-soft)}.mapping-er-flow-card-copy{display:grid;gap:4px;min-width:0}.mapping-er-flow-card-copy strong{overflow:hidden;color:var(--asper-text);font-size:16px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.mapping-er-flow-card-copy small{overflow:hidden;color:var(--asper-text-muted);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.mapping-er-hub-summary{display:block;margin-top:2px;color:var(--asper-text-muted)}.mapping-er-flow-card-badge{color:var(--theme-orange);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.mapping-er-flow-card-stats{display:flex;flex-wrap:wrap;gap:4px;color:var(--asper-text-muted);font-size:14px}.mapping-er-flow-category{display:block;overflow:hidden;color:var(--asper-text-subtle);font-size:13px;font-weight:600;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.mapping-er-hub-signals{display:grid;gap:4px;margin:4px 0 0;padding:0;list-style:none}.mapping-er-hub-signals li{position:relative;padding-left:12px;color:var(--asper-text-muted);font-size:15px;line-height:1.4}.mapping-er-hub-signals li:before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;background:#b49adf;border-radius:999px}.mapping-er-target-lanes{display:flex;flex-direction:column;gap:8px;max-height:22vh;min-width:0;overflow-y:auto}.mapping-er-target-lane{display:flex;flex-direction:column;gap:6px;min-width:0;padding:8px;background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:var(--radius-sm)}.mapping-er-target-lane-dimension{border-top:2px solid var(--theme-teal)}.mapping-er-target-lane-fact{border-top:2px solid var(--theme-orange)}.mapping-er-target-lane-unmapped{border-style:dashed}.mapping-er-target-lane-label{color:var(--asper-text);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.mapping-er-target-lane-body{display:grid;gap:6px}.review-screen-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px 14px;background:var(--asper-surface);border-bottom:1px solid var(--asper-border)}.review-screen-actions{display:flex;flex-shrink:0;align-items:center;gap:10px}.review-screen-header-compact{gap:0;padding:12px 20px 10px}.mapping-er-panel,.mapping-table-data-panel{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-lg);box-shadow:var(--asper-shadow-card)}.mapping-er-relationship-line{fill:none;stroke:#9b7fd4;stroke-width:2;opacity:.55}.mapping-er-relationship-line.highlighted{stroke:var(--theme-orange);stroke-width:2.5;opacity:1}.mapping-er-flow-dot{fill:#9b7fd4;opacity:0}.mapping-er-main-row{position:relative;z-index:2;display:flex;justify-content:center;width:100%;padding:8px 12px 0}.mapping-er-hub-spine{position:relative;z-index:1;display:flex;justify-content:center;width:100%;height:28px}.mapping-er-hub-spine span{width:2px;height:100%;background:linear-gradient(to bottom,var(--theme-orange-muted),var(--theme-teal-muted));border-radius:999px}.mapping-er-children-row{position:relative;z-index:2;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;width:100%;padding:8px 8px 4px}.mapping-er-child-cluster{flex:1 1 220px;max-width:320px;display:flex;flex-direction:column;min-width:200px;background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:var(--radius-md)}.mapping-er-child-cluster-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid var(--asper-border)}.mapping-er-child-cluster-header span{color:var(--asper-text);font-size:15px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.mapping-er-child-cluster-header small{color:var(--asper-text-muted);font-size:14px;font-weight:600}.mapping-er-child-cluster-body{display:grid;gap:8px;padding:10px}.mapping-er-orphan-row{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%;margin-top:10px;padding:10px 12px 0;border-top:1px dashed var(--asper-border)}.mapping-er-orphan-label{color:var(--asper-text-subtle);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.mapping-er-relationships-svg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;overflow:visible;pointer-events:none}.mapping-er-empty{display:grid;place-items:center;gap:10px;min-height:180px;padding:24px;color:var(--asper-text-muted);text-align:center}.mapping-er-empty p{margin:0;max-width:360px;font-size:17px;line-height:1.5}.mapping-er-group{position:relative;z-index:1;flex:0 0 min(320px,100%);display:flex;flex-direction:column;min-width:260px;background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:var(--radius-md)}.mapping-er-group-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--asper-border)}.mapping-er-group-label{color:var(--asper-text);font-size:17px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.mapping-er-group-count{color:var(--asper-text-muted);font-size:15px;font-weight:600}.mapping-er-group-body{display:grid;gap:10px;padding:12px}.mapping-er-lane{display:grid;gap:8px}.mapping-er-lane-label{color:var(--asper-text-subtle);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.mapping-er-table-row{display:grid;gap:8px}.mapping-er-connector{display:flex;justify-content:center;padding:2px 0}.mapping-er-connector span{width:2px;height:18px;background:linear-gradient(to bottom,var(--theme-teal-muted),var(--theme-orange-muted));border-radius:999px}.mapping-er-table{display:flex;align-items:flex-start;gap:10px;width:100%;padding:10px 12px;text-align:left;color:inherit;background:var(--asper-surface);border:1px solid var(--asper-border);border-left:3px solid var(--theme-teal-muted);border-radius:10px;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.mapping-er-table.main{width:min(420px,100%);padding:14px 16px;border-width:2px;border-color:var(--theme-orange-muted);border-left-color:var(--theme-orange);box-shadow:var(--asper-shadow-sm)}.mapping-er-table.child{border-left-color:var(--theme-teal-muted)}.mapping-er-table.orphan{flex:1 1 220px;max-width:320px;border-left-color:var(--asper-text-subtle);opacity:.92}.mapping-er-main-badge{color:var(--theme-orange);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.mapping-er-link-label{padding:1px 6px;color:var(--theme-teal);background:var(--theme-teal-soft);border-radius:999px;font-size:14px;font-weight:600}.mapping-er-table.main .mapping-er-table-icon{width:36px;height:36px;color:var(--theme-orange);background:var(--theme-orange-soft)}.mapping-er-table:hover{border-color:var(--asper-border-strong);box-shadow:var(--asper-shadow-sm);transform:translateY(-1px)}.mapping-er-table.active{border-color:var(--theme-orange);border-left-color:var(--theme-orange);box-shadow:0 0 0 1px var(--theme-orange-soft)}.mapping-er-table-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:28px;height:28px;color:var(--theme-teal);background:var(--theme-teal-soft);border-radius:8px}.mapping-er-table-copy{display:grid;gap:4px;min-width:0}.mapping-er-table-copy strong{overflow:hidden;color:var(--asper-text);font-size:17px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.mapping-er-table-meta{display:flex;flex-wrap:wrap;gap:6px;color:var(--asper-text-muted);font-size:15px}.mapping-er-role{padding:1px 6px;border-radius:999px;font-weight:600}.mapping-er-role.dimension{color:var(--theme-teal);background:var(--theme-teal-soft)}.mapping-er-role.fact{color:var(--theme-orange);background:var(--theme-orange-soft)}.mapping-er-role.unknown{color:var(--asper-text-muted);background:var(--asper-surface-muted)}.mapping-er-relationship-legend{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 14px;border-top:1px solid var(--asper-border)}.mapping-er-relationship-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:6px 10px;color:var(--asper-text-muted);background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:999px;font-size:15px;line-height:1.3}.mapping-er-relationship-chip span{display:grid;gap:1px;min-width:0}.mapping-er-relationship-chip small{color:var(--asper-text-subtle);font-size:14px}.mapping-er-relationship-chip-line{flex-shrink:0;width:18px;height:0;border-top:2px dashed var(--theme-teal-muted)}.mapping-er-relationship-more{align-self:center;color:var(--asper-text-subtle);font-size:15px;font-weight:600}.mapping-table-data-panel{overflow:auto}.review-screen-header-main{display:flex;align-items:center;gap:16px;min-width:0}.review-screen-title{flex:1;min-width:0}.review-screen-title h2{margin:0;overflow:hidden;color:var(--asper-text);font-size:26px;font-weight:700;letter-spacing:-.03em;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.review-screen-title p{margin:6px 0 0;color:var(--asper-text-muted);font-size:17px}.review-back-button{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:40px;height:40px;color:var(--asper-text-muted);background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:999px;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.review-back-button:hover{color:var(--asper-text);background:var(--asper-surface-muted);border-color:var(--asper-border-strong)}.review-bulk-action{display:inline-flex;flex-shrink:0;align-items:center;gap:8px;min-height:40px;padding:0 16px;color:var(--color-success-text);background:var(--color-success-bg);border:1px solid var(--color-success-border);border-radius:var(--radius-sm);font-size:17px;font-weight:600;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.review-bulk-action:hover:not(:disabled){background:#d1fae5;border-color:var(--theme-green-muted)}.review-bulk-action:disabled{opacity:.55;cursor:not-allowed}.review-screen-stats{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}.review-screen-progress{display:grid;gap:8px}.review-progress-meta{display:flex;justify-content:space-between;gap:12px;font-size:16px;color:var(--asper-text-muted)}.review-progress-meta strong{color:var(--asper-text);font-size:17px;font-weight:600}.review-progress-bar{height:8px;overflow:hidden;background:#e8ebf2;border-radius:999px}.review-progress-bar span{display:block;height:100%;background:var(--theme-green);border-radius:999px;transition:width .25s ease}.review-stat-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.review-stat-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:16px;font-weight:600}.review-stat-chip.pending{color:var(--theme-accent-pink-text);background:var(--theme-accent-pink);border:1px solid #fbcfe8}.review-stat-chip.approved{color:var(--color-success-text);background:var(--color-success-bg);border:1px solid var(--color-success-border)}.review-stat-chip.rejected{color:var(--color-danger-text);background:var(--color-danger-bg);border:1px solid var(--color-danger-border)}.review-screen-body{display:grid;grid-template-columns:minmax(280px,320px) minmax(0,1fr);gap:16px;min-height:0;min-width:0;overflow:hidden;padding:16px 20px 20px}.review-queue{display:flex;flex-direction:column;min-width:0;min-height:0;max-height:100%;overflow:hidden;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-lg);box-shadow:var(--asper-shadow-card)}.review-queue-toolbar{display:grid;flex-shrink:0;gap:12px;padding:14px 14px 12px;border-bottom:1px solid var(--asper-border);background:var(--asper-surface)}.review-search{position:relative;display:flex;align-items:center}.review-search svg{position:absolute;left:12px;color:var(--asper-text-muted);pointer-events:none}.review-search-input{width:100%;min-height:40px;padding:0 12px 0 36px;color:var(--asper-text);background:var(--asper-surface);border:1px solid var(--asper-border-strong);border-radius:var(--radius-sm);font-size:17px;transition:border-color .15s ease,box-shadow .15s ease}.review-search-input:focus{outline:none;border-color:var(--asper-text-subtle);box-shadow:0 0 0 3px #11182714}.review-filter-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px;background:var(--asper-bg);border:1px solid var(--asper-border);border-radius:10px}.review-filter-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:52px;padding:8px 6px;color:var(--asper-text-muted);background:transparent;border:0;border-radius:8px;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.review-filter-tab-label{overflow:hidden;max-width:100%;font-size:15px;font-weight:600;line-height:1.2;text-align:center;text-overflow:ellipsis;white-space:nowrap}.review-filter-tab-count{min-width:24px;padding:2px 8px;color:inherit;background:#fffc;border-radius:999px;font-size:15px;font-weight:700;line-height:1.2;text-align:center}.review-filter-tab.active{color:var(--asper-text);background:var(--asper-surface);box-shadow:inset 0 0 0 1px var(--asper-border-strong)}.review-filter-tab.active .review-filter-tab-count{color:#fff;background:var(--theme-black)}.review-filter-tab:nth-child(1).active .review-filter-tab-count{background:var(--theme-black)}.review-filter-tab:nth-child(2).active{color:var(--theme-accent-pink-text);background:var(--theme-accent-pink);box-shadow:inset 0 0 0 1px #fbcfe8}.review-filter-tab:nth-child(2).active .review-filter-tab-count{background:var(--theme-accent-pink-text)}.review-filter-tab:nth-child(3).active{color:var(--color-success-text);background:var(--color-success-bg);box-shadow:inset 0 0 0 1px var(--color-success-border)}.review-filter-tab:nth-child(3).active .review-filter-tab-count{background:var(--theme-green)}.review-filter-tab:nth-child(4).active{color:var(--color-danger-text);background:var(--color-danger-bg);box-shadow:inset 0 0 0 1px var(--color-danger-border)}.review-filter-tab:nth-child(4).active .review-filter-tab-count{background:var(--theme-red)}.review-queue-list-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px 8px;color:var(--asper-text-muted);font-size:16px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;border-bottom:1px solid var(--asper-border);background:var(--asper-surface-muted)}.review-queue-list-header strong{color:var(--asper-text);font-size:16px;font-weight:700;text-transform:none;letter-spacing:0}.review-queue-list-header span{min-width:24px;padding:2px 8px;color:var(--asper-text-muted);background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:999px;font-size:15px;font-weight:700;text-transform:none;letter-spacing:0}.review-queue-list{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:8px 10px 12px;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--asper-border-strong) transparent}.review-queue-list::-webkit-scrollbar{width:8px}.review-queue-list::-webkit-scrollbar-track{margin:4px 0;background:transparent}.review-queue-list::-webkit-scrollbar-thumb{background:var(--asper-border-strong);border:2px solid var(--asper-surface);border-radius:999px}.review-queue-list::-webkit-scrollbar-thumb:hover{background:var(--asper-text-subtle)}.review-queue-empty{margin:24px 16px;color:var(--asper-text-muted);font-size:17px;text-align:center}.review-queue-item{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;align-items:start;width:100%;margin-bottom:4px;padding:10px;text-align:left;color:inherit;background:var(--asper-surface);border:1px solid transparent;border-radius:8px;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.review-queue-item:hover{background:var(--asper-surface-muted);border-color:var(--asper-border)}.review-queue-item.active{background:var(--asper-surface);border-color:var(--asper-border-strong);box-shadow:inset 3px 0 0 var(--theme-black)}.review-queue-index{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--asper-text-muted);background:var(--asper-bg);border-radius:8px;font-size:15px;font-weight:700}.review-queue-item.active .review-queue-index{color:var(--asper-text);background:var(--asper-surface-muted)}.review-queue-label{display:grid;gap:4px;min-width:0}.review-queue-label-row{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;min-width:0}.review-queue-label-row .review-pill{padding:2px 6px;font-size:14px}.review-queue-label strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:600}.review-queue-label small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--asper-text-muted);font-size:16px}.review-detail{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-lg);box-shadow:var(--asper-shadow-card)}.review-detail-layout{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;height:100%}.review-detail-scroll{min-width:0;overflow-x:hidden;overflow-y:auto;padding:20px 20px 32px}.review-detail-empty{display:grid;place-items:center;min-height:240px;color:var(--asper-text-muted)}.review-column-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;padding:20px 22px;background:var(--asper-surface);border:1px solid var(--asper-border);border-left:4px solid var(--theme-black);border-radius:var(--radius-lg)}.review-column-hero-copy{min-width:0}.review-column-hero-copy h3{margin:6px 0 0;overflow-wrap:anywhere;color:var(--asper-text);font-size:32px;font-weight:700;letter-spacing:-.03em;line-height:1.1}.review-column-hero-copy p{margin:8px 0 0;color:var(--asper-text-muted);font-size:17px}.review-column-hero-copy strong{color:var(--asper-text)}.review-mapping-section,.review-suggestions-section{min-width:0;margin-bottom:16px;overflow:hidden}.review-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-notes-field{grid-column:1 / -1}.review-notes-control{min-height:108px;padding-top:10px;padding-bottom:10px;resize:vertical}.review-info-card{margin-bottom:16px;padding:16px 18px;background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:var(--radius-lg)}.review-info-card p{margin:8px 0 0;color:var(--asper-text-body);font-size:18px;line-height:1.5}.review-candidate-section+.review-candidate-section{margin-top:18px;padding-top:18px;border-top:1px solid var(--asper-border)}.review-candidate-section-header h4{margin:0;color:var(--asper-text);font-size:18px;font-weight:700}.review-candidate-section-header p{margin:4px 0 0;color:var(--asper-text-muted);font-size:16px;line-height:1.45}.review-candidate-section{min-width:0}.review-candidate-grid{display:flex;flex-direction:column;gap:8px;margin-top:10px}.review-candidate-card{display:grid;gap:4px;width:100%;min-width:0;padding:10px 12px;text-align:left;color:inherit;background:var(--asper-surface);border:1px solid var(--asper-border);border-left-width:3px;border-radius:10px;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.review-candidate-card:nth-child(3n+1){border-left-color:var(--theme-orange);background:var(--asper-surface)}.review-candidate-card:nth-child(3n+2){border-left-color:var(--asper-text-subtle);background:var(--asper-surface)}.review-candidate-card:nth-child(3n){border-left-color:var(--theme-teal);background:var(--asper-surface)}.review-candidate-card:hover{border-color:var(--asper-border-strong);box-shadow:var(--asper-shadow-sm);transform:translateY(-1px)}.review-candidate-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.review-candidate-card-top strong{flex:1;min-width:0;overflow:hidden;font-size:17px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.review-candidate-card:nth-child(3n+1) .review-candidate-card-top strong{color:var(--theme-orange)}.review-candidate-card:nth-child(3n+2) .review-candidate-card-top strong{color:var(--asper-text)}.review-candidate-card:nth-child(3n) .review-candidate-card-top strong{color:var(--theme-teal)}.review-candidate-score{flex-shrink:0;padding:2px 7px;border-radius:999px;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.review-candidate-card:nth-child(3n+1) .review-candidate-score{color:var(--color-warning-text);background:var(--color-warning-bg);border:1px solid var(--color-warning-border)}.review-candidate-card:nth-child(3n+2) .review-candidate-score{color:var(--asper-text-muted);background:var(--asper-surface-muted);border:1px solid var(--asper-border)}.review-candidate-card:nth-child(3n) .review-candidate-score{color:var(--theme-teal);background:var(--theme-teal-soft);border:1px solid var(--theme-teal-muted)}.review-candidate-card-desc{display:-webkit-box;overflow:hidden;color:var(--asper-text-muted);font-size:15px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.review-detail-scroll .review-info-card:last-child,.review-detail-scroll .review-suggestions-section:last-child,.review-detail-scroll .review-mapping-section:last-child{margin-bottom:8px}.review-suggestions-section .form-section-header{margin-bottom:12px}.candidate-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#1118278c}.candidate-modal{width:min(760px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-lg);box-shadow:var(--asper-shadow-lg)}.candidate-modal-header,.candidate-modal-footer{padding:20px 24px}.candidate-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--asper-border)}.candidate-modal-header-copy{flex:1;min-width:0}.candidate-modal-footer{padding:16px 24px 20px;background:var(--asper-surface);border-top:1px solid var(--asper-border)}.candidate-modal-footer-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;width:100%}.candidate-modal-footer-actions{display:flex;flex-shrink:0;align-items:center;gap:10px;margin-left:auto}.candidate-modal-footer-actions .workflow-footer-button{min-width:112px}.candidate-modal-header h3{margin:0;overflow-wrap:anywhere;color:var(--asper-text);font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1.15}.candidate-modal-subtitle{margin:6px 0 0;color:var(--asper-text-muted);font-size:17px}.candidate-modal-lead{margin:10px 0 0;color:var(--asper-text-body);font-size:18px;line-height:1.5}.candidate-modal-header-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.candidate-modal-stat{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;color:var(--asper-text-muted);background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:999px;font-size:16px}.candidate-modal-stat strong{color:var(--asper-text);font-weight:700}.candidate-modal-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;color:var(--asper-text-muted);background:var(--asper-surface);border:1px solid var(--asper-border-strong);border-radius:999px;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.candidate-modal-close:hover{color:var(--asper-text);background:var(--asper-surface-muted);border-color:var(--asper-border-strong)}.candidate-modal-body{overflow:auto;padding:20px 24px 24px}.candidate-modal-details{margin-bottom:18px;overflow:hidden;background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:var(--radius-md)}.candidate-modal-details>summary{padding:12px 14px;color:var(--asper-text-body);font-size:17px;font-weight:600;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.candidate-modal-details>summary::-webkit-details-marker{display:none}.candidate-modal-details[open]>summary{border-bottom:1px solid var(--asper-border)}.candidate-modal-details-body{display:grid;gap:12px;padding:14px}.candidate-modal-section+.candidate-modal-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--asper-border)}.candidate-modal-section h4{margin:0 0 14px;color:var(--asper-text);font-size:18px;font-weight:700}.candidate-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.candidate-modal-grid-compact{margin-top:4px}.candidate-modal-field,.candidate-modal-field-block{display:grid;gap:6px}.candidate-modal-field{min-width:0;padding:10px 12px;background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:var(--radius-sm)}.candidate-modal-field span,.candidate-modal-field-block>span,.candidate-modal-table-select span{color:var(--asper-text-muted);font-size:15px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.candidate-modal-field strong{font-size:18px;font-weight:600;overflow-wrap:anywhere;word-break:break-word}.candidate-modal-field-block-full{margin-bottom:12px}.candidate-modal-mono{display:block;padding:10px 12px;color:var(--asper-text-body);background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:var(--radius-sm);font-size:16px;line-height:1.45;overflow-wrap:anywhere;word-break:break-word}.candidate-modal-field-block{margin-top:12px}.candidate-modal-tags{display:flex;flex-wrap:wrap;gap:6px}.candidate-modal-tags span{padding:4px 9px;color:var(--asper-text-body);background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:999px;font-size:16px;line-height:1.3}.candidate-modal-tags span:nth-child(3n+1){border-color:#fde68a;background:var(--color-warning-bg)}.candidate-modal-tags span:nth-child(3n+2){border-color:var(--asper-border-strong);background:var(--asper-surface-muted)}.candidate-modal-tags span:nth-child(3n){color:var(--theme-teal);border-color:var(--theme-teal-muted);background:var(--theme-teal-soft)}.candidate-modal-list{margin:0;padding-left:18px;color:var(--asper-text-body);font-size:17px}.candidate-modal-table-list{display:grid;gap:10px}.candidate-modal-table-card{padding:12px 14px;background:var(--asper-surface);border:1px solid var(--asper-border);border-left:3px solid var(--theme-teal);border-radius:var(--radius-sm)}.candidate-modal-table-card p{margin:8px 0 0;color:var(--asper-text-body);font-size:17px;line-height:1.45}.candidate-modal-table-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.candidate-modal-table-meta span{padding:2px 8px;color:var(--asper-text-muted);background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:999px;font-size:15px}.candidate-modal-muted,.candidate-modal-status{color:var(--asper-text-muted);font-size:17px}.candidate-modal-error{color:var(--color-danger-text);font-size:17px}.candidate-modal-table-select{flex:1;min-width:0;max-width:320px}.candidate-modal-table-select .custom-select-trigger{min-height:42px}.candidate-modal-table-select .form-label{color:var(--asper-text-muted);font-size:15px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}@media(max-width:720px){.candidate-modal-grid{grid-template-columns:1fr}.candidate-modal-footer-inner{flex-direction:column;align-items:stretch}.candidate-modal-table-select{max-width:none}.candidate-modal-footer-actions{margin-left:0}.candidate-modal-footer-actions .workflow-footer-button{flex:1;min-width:0}}.review-prior-list{margin:8px 0 0;padding-left:18px;color:var(--asper-text-body);font-size:17px}.review-prior-list li{margin-bottom:4px}.review-prior-list span{margin-left:8px;color:var(--asper-text-muted);font-size:16px}.review-detail-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:var(--asper-surface);border-top:1px solid var(--asper-border)}.review-detail-nav{display:flex;flex-wrap:wrap;gap:8px}.review-nav-button{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 16px;color:var(--asper-text-body);background:var(--asper-surface);border:1px solid var(--asper-border-strong);border-radius:var(--radius-sm);font-size:17px;font-weight:600;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.review-nav-button:hover:not(:disabled){color:var(--asper-text);background:var(--asper-surface-muted);border-color:var(--asper-border-strong)}.review-nav-button:disabled{opacity:.45;cursor:not-allowed}.review-detail-actions{display:flex;align-items:center;gap:10px}.review-approve-button,.review-reject-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 18px;border-radius:var(--radius-sm);font-size:18px;font-weight:600;transition:background-color .15s ease,border-color .15s ease}.review-reject-button{color:var(--theme-red);background:var(--asper-surface);border:1px solid var(--asper-border-strong)}.review-reject-button:hover{background:var(--asper-surface-muted);border-color:var(--asper-border-strong)}.review-approve-button{color:#fff;background:var(--theme-green);border:1px solid var(--theme-green)}.review-approve-button:hover{background:#047857;border-color:#047857}.result-panel{min-height:0;margin-top:4px;border:0;border-top:1px solid var(--asper-border);border-radius:0;box-shadow:none;overflow:auto;background:var(--asper-surface-muted)}.result-header{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 16px;border-bottom:1px solid var(--asper-border)}.result-header span{color:var(--asper-text-muted);font-size:16px}.result-actions{display:inline-flex;align-items:center;gap:8px}.download-button{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 10px;color:var(--asper-accent);background:var(--asper-gold-soft);border:1px solid var(--asper-gold-muted);border-radius:7px;font-size:17px;font-weight:750;text-decoration:none}.loading-box,.error-box{margin:16px 24px;padding:14px 16px;border-radius:var(--radius-md)}.loading-box{gap:9px;color:var(--color-warning-text);background:var(--asper-surface);border:1px solid var(--asper-border);border-left:3px solid var(--theme-orange)}.loading-box svg{color:var(--color-warning-text)}.workflow-steps-panel{margin:20px 24px 24px;overflow:hidden;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-lg);box-shadow:var(--asper-shadow-card)}.workflow-steps-panel>summary{display:flex;align-items:center;gap:12px;padding:16px 18px;color:var(--asper-text);cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;background:var(--asper-surface)}.workflow-steps-panel>summary::-webkit-details-marker{display:none}.workflow-steps-panel[open]>summary{border-bottom:1px solid var(--asper-border)}.workflow-steps-chevron{flex:0 0 auto;color:var(--asper-text-muted);transition:transform .15s ease}.workflow-steps-panel[open] .workflow-steps-chevron{transform:rotate(180deg)}.workflow-steps-summary{display:grid;gap:2px;flex:1;min-width:0}.workflow-steps-summary strong{font-size:18px;font-weight:700;color:var(--asper-text)}.workflow-steps-summary span{overflow:hidden;color:var(--asper-text-muted);font-size:16px;text-overflow:ellipsis;white-space:nowrap}.workflow-steps-summary-progress{display:flex;align-items:center;gap:10px;min-width:120px}.workflow-steps-summary-progress>span{color:var(--color-success-text);font-size:16px;font-weight:700;white-space:nowrap}.workflow-steps-summary-bar{flex:1;height:6px;overflow:hidden;background:var(--asper-border);border-radius:999px}.workflow-steps-summary-bar span{display:block;height:100%;background:var(--theme-green);border-radius:999px;transition:width .25s ease}.workflow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px;background:var(--asper-surface-muted)}.workflow-step{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;min-height:64px;padding:14px;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-md);box-shadow:var(--asper-shadow-sm);border-left-width:3px;border-left-color:var(--asper-border-strong)}.workflow-step.queued{opacity:.92}.workflow-step.running{border-left-color:var(--theme-orange);background:var(--asper-surface);box-shadow:var(--asper-shadow-sm)}.workflow-step.succeeded{border-left-color:var(--theme-green)}.workflow-step.failed{border-left-color:var(--theme-red);background:var(--color-danger-bg)}.step-marker{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--asper-text-subtle);background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:999px;font-size:15px;font-weight:800}.workflow-step.running .step-marker{color:var(--color-warning-text);background:var(--color-warning-bg);border-color:var(--color-warning-border)}.workflow-step.succeeded .step-marker{color:var(--color-success-text);background:var(--color-success-bg);border-color:var(--color-success-border)}.workflow-step.failed .step-marker{color:var(--color-danger-text);background:var(--color-danger-bg);border-color:var(--color-danger-border)}.workflow-step-copy{display:grid;gap:4px;min-width:0}.workflow-step-copy strong{color:var(--asper-text);font-size:17px;font-weight:600;line-height:1.35}.step-status-label{display:inline-flex;width:fit-content;padding:2px 8px;border-radius:999px;font-size:15px;font-weight:600}.step-status-label.running{color:var(--color-warning-text);background:var(--color-warning-bg);border:1px solid var(--color-warning-border)}.step-status-label.succeeded{color:var(--color-success-text);background:var(--color-success-bg)}.step-status-label.failed{color:var(--color-danger-text);background:var(--color-danger-bg)}.step-status-label.skipped{color:var(--asper-text-muted);background:var(--asper-surface-muted)}.workflow-step-copy small{margin-top:2px;color:var(--color-danger-text);font-size:15px;line-height:1.4}.error-box{color:var(--color-danger-text);background:var(--color-danger-bg);border:1px solid var(--color-danger-border)}.profile-preview{display:grid;gap:16px;padding:20px 24px 24px;background:var(--asper-surface)}.raw-result{display:grid;gap:12px;padding:16px}.raw-result pre{max-height:420px;overflow:auto;margin:0;padding:12px;color:var(--asper-text);background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:8px;font-size:16px;white-space:pre-wrap}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.column-table-wrap{overflow-x:auto;overflow-y:auto;max-width:100%;border:1px solid var(--asper-border);border-radius:var(--radius-md);box-shadow:var(--asper-shadow-card)}.column-table{width:max(100%,900px);border-collapse:collapse;table-layout:fixed;font-size:17px}.mapping-table{width:max(100%,1100px);border-collapse:collapse;table-layout:fixed;font-size:17px}.column-table th,.column-table td,.mapping-table th,.mapping-table td{padding:10px 12px;border-bottom:1px solid var(--asper-border);text-align:left;vertical-align:top;overflow:hidden;overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:0;box-sizing:border-box}.column-table th,.mapping-table th{color:var(--asper-text-muted);background:var(--asper-surface-muted);font-size:15px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.column-table tbody tr:nth-child(2n),.mapping-table tbody tr:nth-child(2n){background:#f9fafbcc}.column-table tbody tr:hover{background:var(--theme-primary-soft)}.column-table tr:last-child td,.mapping-table tr:last-child td{border-bottom:0}.column-table td strong,.column-table td span{display:block}.column-table td span{color:var(--asper-text-muted);font-size:16px}.caution-list{display:flex;flex-wrap:wrap;gap:8px}.caution-banner{display:grid;gap:8px;margin-bottom:4px;padding:14px 16px;background:var(--asper-surface);border:1px solid var(--asper-border);border-left:3px solid var(--asper-text-subtle);border-radius:var(--radius-md)}.caution-banner p{margin:0;color:var(--asper-text-body);font-size:17px;line-height:1.5}.finalize-summary{margin:12px 0 4px;padding:16px 18px;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-lg);box-shadow:var(--asper-shadow-card)}.finalize-summary-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.finalize-summary-head h3{margin:0;font-size:19px;font-weight:700;color:var(--asper-text)}.finalize-summary-stats{display:flex;flex-wrap:wrap;gap:8px}.finalize-stat{padding:3px 10px;font-size:16px;color:var(--asper-text-muted);background:var(--asper-surface-muted, #f4f4f5);border:1px solid var(--asper-border);border-radius:999px}.finalize-stat strong{color:var(--asper-text);font-weight:700}.finalize-diff-list{display:flex;flex-direction:column;gap:6px;margin:14px 0 0;padding:0;list-style:none}.finalize-diff-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:7px 10px;background:var(--asper-surface-muted, #f7f7f8);border:1px solid var(--asper-border);border-radius:8px}.finalize-diff-values{display:inline-flex;align-items:center;gap:6px;font-size:16px}.finalize-diff-old{color:var(--asper-text-muted);text-decoration:line-through}.finalize-diff-arrow{color:var(--asper-text-subtle)}.finalize-diff-new{font-weight:700;color:var(--asper-text)}.finalize-diff-dim{margin-left:auto;padding:1px 8px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--asper-accent, #2563eb);background:color-mix(in srgb,var(--asper-accent, #2563eb) 12%,transparent);border-radius:999px;white-space:nowrap}.finalize-summary-empty{margin:12px 0 0;font-size:16px;font-style:italic;color:var(--asper-text-muted)}.finalize-learning{margin-top:14px;padding:10px 12px;background:var(--asper-surface-muted, #f7f7f8);border-left:2px solid color-mix(in srgb,var(--asper-accent, #2563eb) 45%,transparent);border-radius:0 6px 6px 0}.finalize-learning-text{margin:0;font-size:17px;line-height:1.5;color:var(--asper-text-body)}.finalize-learning-rationale{margin:6px 0 0;font-size:16px;line-height:1.5;color:var(--asper-text-muted)}.finalize-learning-scope{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:15px;font-weight:600;color:var(--asper-text-muted)}.mapping-preview{padding-bottom:8px}.mapping-table-panel{margin-top:8px;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-lg);box-shadow:var(--asper-shadow-card)}.mapping-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--asper-border)}.mapping-table-toolbar h3{margin:0 0 4px;color:var(--asper-text);font-size:20px;font-weight:700}.mapping-table-toolbar p{margin:0;color:var(--asper-text-muted);font-size:17px}.mapping-table-wrap{border:0;border-radius:0;box-shadow:none}.mapping-table th:nth-child(1),.mapping-table td:nth-child(1){width:12%;min-width:108px}.mapping-table td:first-child{max-width:none}.mapping-table th:nth-child(2),.mapping-table td:nth-child(2){width:14%}.mapping-table th:nth-child(3),.mapping-table td:nth-child(3){width:20%}.mapping-table th:nth-child(4),.mapping-table td:nth-child(4){width:13%}.mapping-table th:nth-child(5),.mapping-table td:nth-child(5){width:8%}.mapping-table th:nth-child(6),.mapping-table td:nth-child(6){width:24%}.mapping-table{min-width:0}.mapping-table thead th{position:sticky;top:0;z-index:1;padding:12px 16px;background:var(--asper-surface-muted)}.mapping-table tbody td{padding:14px 16px;vertical-align:top}.mapping-table tbody tr,.mapping-table tbody tr td{transition:none}.mapping-table tbody tr:hover,.mapping-table tbody tr:hover td{background-color:transparent}.mapping-table tbody tr:nth-child(2n):hover,.mapping-table tbody tr:nth-child(2n):hover td{background-color:#f9fafbcc}.mapping-table tbody tr.mapping-row.unmapped:hover,.mapping-table tbody tr.mapping-row.unmapped:hover td{background-color:#fdf2f873}.mapping-row.unmapped{background:#fdf2f873}.mapping-sheet-cell{display:inline-block;max-width:100%;box-sizing:border-box;padding:4px 10px;color:var(--asper-text-body);background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:6px;font-size:15px;font-weight:600;line-height:1.35;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.mapping-code{display:inline-block;padding:3px 8px;color:var(--asper-text);background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:4px;font-size:16px}.mapping-also-present-tag{display:inline-block;margin-left:8px;padding:1px 6px;border:1px solid var(--asper-border);border-radius:999px;color:var(--asper-text-muted);font-size:14px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;vertical-align:middle}.mapping-also-present-column{font-weight:600}.mapping-standard-cell{display:block;overflow:hidden;overflow-wrap:anywhere;word-break:break-word;color:var(--asper-text);font-size:17px;font-weight:600}.mapping-table-cell{display:block;overflow:hidden;overflow-wrap:anywhere;word-break:break-word;color:var(--asper-text-muted);font-size:17px}.mapping-notes{display:-webkit-box;overflow:hidden;color:var(--asper-text-muted);font-size:16px;line-height:1.5;overflow-wrap:anywhere;word-break:break-word;-webkit-box-orient:vertical;-webkit-line-clamp:3}.mapping-table .confidence-pill{text-transform:capitalize}.caution-list span{padding:6px 8px;color:var(--color-warning-text);background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:7px;font-size:16px}.confidence-pill{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;font-size:16px;font-weight:750}.confidence-pill.high{color:var(--color-success-text);background:var(--color-success-bg);border:1px solid var(--color-success-border)}.confidence-pill.medium{color:var(--theme-orange);background:var(--theme-orange-soft);border:1px solid #fed7aa}.confidence-pill.low{color:var(--color-danger-text);background:var(--color-danger-bg);border:1px solid var(--color-danger-border)}.confidence-pill.unmapped{color:var(--theme-accent-pink-text);background:var(--theme-accent-pink);border:1px solid #fbcfe8}.spin{animation:spin .9s linear infinite}.success{color:var(--color-success-text)}.danger{color:var(--color-danger-text)}@keyframes spin{to{transform:rotate(360deg)}}.auth-screen{position:relative;min-height:100vh;overflow:hidden}.auth-screen-centered{display:grid;place-items:center;padding:24px}.auth-screen-split{display:grid;grid-template-columns:minmax(320px,1.05fr) minmax(360px,.95fr)}.auth-hero{position:relative;display:flex;align-items:center;justify-content:center;padding:48px 56px;color:#fff;background:linear-gradient(145deg,#3f51c7f5,#1e1b4beb),radial-gradient(circle at 20% 20%,rgb(139 154 240 / 28%),transparent 45%)}.auth-hero-inner{width:min(100%,520px)}.auth-hero-logo{display:block;width:auto;height:38px;margin-bottom:28px;filter:brightness(0) invert(1)}.auth-hero .auth-eyebrow{color:#ffffffb8}.auth-hero h1{margin:8px 0 12px;font-size:clamp(29px,4vw,39px);font-weight:700;line-height:1.15}.auth-hero p{margin:0 0 28px;color:#ffffffd1;font-size:19px;line-height:1.6}.auth-feature-list{display:grid;gap:14px;margin:0;padding:0;list-style:none}.auth-feature-list li{display:flex;align-items:center;gap:12px;color:#ffffffeb;font-size:18px}.auth-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#ffffff1f;border:1px solid rgb(255 255 255 / 16%)}.auth-panel{display:grid;place-items:center;padding:32px 24px;background:radial-gradient(circle at top right,rgb(91 111 232 / 12%),transparent 42%),var(--asper-bg)}.auth-panel-card{width:min(100%,460px);padding:28px;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-xl);box-shadow:var(--asper-shadow-lg)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;margin-bottom:24px;background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:var(--radius-md)}.auth-tab{min-height:40px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--asper-text-muted);font-size:18px;font-weight:600;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.auth-tab.is-active{background:var(--asper-surface);color:var(--asper-text);box-shadow:var(--asper-shadow-sm)}.auth-panel-copy{margin-bottom:20px}.auth-panel-copy h2{margin:0 0 6px;color:var(--asper-text);font-size:28px;font-weight:700}.auth-panel-copy p{margin:0;color:var(--asper-text-muted);font-size:18px;line-height:1.5}.auth-screen-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top right,rgb(91 111 232 / 18%),transparent 42%),radial-gradient(circle at bottom left,rgb(13 148 136 / 10%),transparent 38%),var(--asper-bg)}.auth-loading{position:relative;z-index:1;display:grid;place-items:center;gap:12px;padding:32px;color:var(--asper-text-muted);background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-lg);box-shadow:var(--asper-shadow-md)}.auth-card{position:relative;z-index:1;width:min(100%,440px);padding:28px;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-xl);box-shadow:var(--asper-shadow-lg)}.auth-card-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}.auth-logo{display:block;width:auto;height:34px;flex-shrink:0}.auth-card-copy h1{margin:4px 0 6px;color:var(--asper-text);font-size:26px;font-weight:700;line-height:1.2}.auth-card-copy p{margin:0;color:var(--asper-text-muted);font-size:18px;line-height:1.5}.auth-eyebrow{display:inline-block;color:var(--theme-primary);font-size:16px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.auth-form{display:grid;gap:18px}.auth-input-wrap{position:relative}.auth-input-icon{position:absolute;top:50%;left:12px;transform:translateY(-50%);color:var(--asper-text-subtle);pointer-events:none}.auth-input{padding-left:38px}.auth-error{padding:10px 12px;color:var(--color-danger-text);background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);font-size:17px;line-height:1.45}.auth-success{display:flex;align-items:flex-start;gap:8px;margin-bottom:16px;padding:10px 12px;color:var(--color-success-text);background:var(--color-success-bg);border:1px solid var(--color-success-border);border-radius:var(--radius-sm);font-size:17px;line-height:1.45}.auth-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;padding:0 16px;border:1px solid var(--theme-black);border-radius:var(--radius-sm);background:var(--theme-black);color:var(--asper-surface);font-size:18px;font-weight:700;transition:background-color .15s ease,border-color .15s ease}.auth-submit:hover:not(:disabled){background:var(--theme-black-hover);border-color:var(--theme-black-hover)}.auth-submit:disabled{opacity:.65}.user-mgmt-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:24px;background:#1118276b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.user-mgmt-panel{width:min(100%,920px);max-height:min(88vh,860px);display:flex;flex-direction:column;overflow:hidden;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-xl);box-shadow:var(--asper-shadow-lg)}.user-mgmt-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 24px 18px;border-bottom:1px solid var(--asper-border)}.user-mgmt-eyebrow{display:inline-block;margin-bottom:6px;color:var(--theme-primary);font-size:16px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.user-mgmt-header h2{margin:0 0 6px;color:var(--asper-text);font-size:26px}.user-mgmt-header p{margin:0;color:var(--asper-text-muted);font-size:18px}.user-mgmt-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--asper-border);border-radius:8px;background:var(--asper-surface);color:var(--asper-text-muted)}.user-mgmt-close:hover{color:var(--asper-text);border-color:var(--asper-border-strong)}.user-mgmt-body{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(280px,1.05fr);gap:0;min-height:0;overflow:auto}.user-mgmt-form-section,.user-mgmt-list-section{padding:22px 24px 24px}.user-mgmt-form-section{border-right:1px solid var(--asper-border)}.user-mgmt-section-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px;color:var(--theme-primary)}.user-mgmt-section-head h3{margin:0 0 4px;color:var(--asper-text);font-size:20px}.user-mgmt-section-head p{margin:0;color:var(--asper-text-muted);font-size:17px}.user-mgmt-form{display:grid;gap:16px}.user-mgmt-form-grid{display:grid;gap:14px}.user-mgmt-submit{width:auto;justify-self:start;min-width:160px}.user-mgmt-loading{display:inline-flex;align-items:center;gap:10px;color:var(--asper-text-muted);font-size:18px}.user-mgmt-table-wrap{overflow:auto;border:1px solid var(--asper-border);border-radius:var(--radius-md)}.user-mgmt-table{width:100%;border-collapse:collapse;font-size:17px}.user-mgmt-table th,.user-mgmt-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--asper-border)}.user-mgmt-table th{color:var(--asper-text-muted);background:var(--asper-surface-muted);font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.user-mgmt-table tbody tr:last-child td{border-bottom:0}.user-mgmt-empty{color:var(--asper-text-muted);text-align:center}.user-mgmt-role{display:inline-flex;padding:2px 8px;border-radius:999px;color:var(--asper-text-body);background:var(--asper-surface-muted);border:1px solid var(--asper-border);font-size:15px;font-weight:700;text-transform:uppercase}.user-mgmt-role.admin{color:var(--theme-primary-dark);background:var(--theme-primary-soft);border-color:var(--theme-primary-muted)}.admin-home-shell{background:var(--asper-bg)}.admin-home-shell .workspace-full{padding:16px}.learning-panel{min-height:calc(100vh - 72px);padding:0;overflow:hidden}.learning-panel>.error-strip{margin:0;border-radius:0}.learning-panel-header{padding:20px 24px 0;border-bottom:1px solid var(--asper-border)}.learning-panel-header .section-header{margin-bottom:16px}.learning-toast{display:flex;align-items:center;gap:10px;margin:0 24px;padding:10px 14px;border-radius:var(--radius-sm);font-size:17px;font-weight:600;animation:learning-toast-in .2s ease}.learning-toast.success{color:var(--color-success-text);background:var(--color-success-bg);border:1px solid var(--color-success-border)}@keyframes learning-toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.learning-layout{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:0;flex:1}.learning-sidebar{display:flex;flex-direction:column;gap:16px;padding:20px 18px;border-right:1px solid var(--asper-border);background:var(--asper-surface-muted)}.learning-sidebar-block{display:grid;gap:8px}.learning-sidebar-label{color:var(--asper-text-muted);font-size:15px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.learning-filter-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-refresh-btn{width:100%;justify-content:center}.learning-sidebar-note{padding:10px 12px;border-radius:var(--radius-sm);font-size:16px;line-height:1.45}.learning-sidebar-note.warning{color:var(--color-warning-text);background:var(--color-warning-bg);border:1px solid var(--color-warning-border)}.learning-main{min-width:0;min-height:0;overflow:auto;padding:20px 24px 28px}.learning-main-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;padding:14px 16px;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-lg);box-shadow:var(--asper-shadow-card)}.learning-toolbar-field{min-width:200px;flex:1}.learning-toolbar-refresh{margin-bottom:1px}.learning-empty{display:grid;gap:8px;place-items:center;margin-top:12px}.learning-empty svg{color:var(--asper-text-subtle)}.learning-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.learning-card{background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-lg);box-shadow:var(--asper-shadow-card);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.learning-card:hover{border-color:var(--asper-border-strong)}.learning-card.is-expanded{box-shadow:var(--asper-shadow-md)}.learning-card.status-not_reviewed{border-left:3px solid var(--theme-accent-pink-text)}.learning-card.status-approved{border-left:3px solid var(--theme-green)}.learning-card.status-fail{border-left:3px solid var(--theme-red)}.learning-card-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:14px;width:100%;padding:16px 18px;color:inherit;text-align:left;background:transparent;border:0;cursor:pointer}.learning-card-header:hover{background:var(--asper-surface-muted)}.learning-card-icon{width:44px;height:44px;display:grid;place-items:center;flex-shrink:0;border-radius:999px;border:1px solid var(--asper-border);background:var(--asper-surface-muted);color:var(--asper-text-muted)}.learning-card-icon.status-not_reviewed{color:var(--theme-accent-pink-text);background:var(--theme-accent-pink);border-color:#fbcfe8}.learning-card-icon.status-approved{color:var(--color-success-text);background:var(--color-success-bg);border-color:var(--color-success-border)}.learning-card-icon.status-fail{color:var(--color-danger-text);background:var(--color-danger-bg);border-color:var(--color-danger-border)}.learning-card-body{display:grid;gap:8px;min-width:0}.learning-card-topline{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.learning-card-topline strong{color:var(--asper-text);font-size:19px;font-weight:700;text-transform:capitalize}.learning-card-subline{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--asper-text-muted);font-size:16px}.learning-card-id{font-family:var(--font-mono, ui-monospace, monospace);font-size:15px}.learning-card-preview{color:var(--asper-text-body);font-size:17px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.learning-override-preview{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.learning-override-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;color:var(--asper-text-body);background:var(--asper-surface-muted);border:1px solid var(--asper-border);font-size:15px}.learning-override-chip strong{color:var(--theme-primary-dark);font-weight:700}.learning-override-more{color:var(--asper-text-muted);font-size:15px;font-weight:600}.learning-card-chevron{display:grid;place-items:center;width:32px;height:32px;color:var(--asper-text-muted);border-radius:8px;background:var(--asper-surface-muted);border:1px solid var(--asper-border)}.learning-card-expanded{padding:0 18px 16px;border-top:1px solid var(--asper-border);background:var(--asper-surface-muted)}.learning-card-summary{margin:14px 0 0;color:var(--asper-text-body);font-size:18px;line-height:1.5}.learning-meta-grid{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px}.learning-meta-item{display:inline-flex;align-items:center;gap:6px;color:var(--asper-text-muted);font-size:16px}.learning-scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.learning-scope-item{display:grid;gap:4px;min-width:0;padding:10px 12px;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-sm)}.learning-scope-label{color:var(--asper-text-muted);font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.learning-scope-value{color:var(--asper-text);font-size:17px;font-weight:600;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize}.learning-detail-rationale{margin:12px 0 0;padding:10px 12px;border-radius:var(--radius-sm);color:var(--asper-text-muted);background:var(--asper-surface);border:1px solid var(--asper-border);font-size:17px;line-height:1.5}.learning-overrides-panel{margin-top:16px}.learning-overrides-table .muted-cell{color:var(--asper-text-muted)}.learning-reviewed-note,.learning-run-note{margin:12px 0 0;color:var(--asper-text-muted);font-size:16px}.learning-run-note code{font-family:var(--font-mono, ui-monospace, monospace);font-size:15px}.learning-card-footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 18px;border-top:1px solid var(--asper-border);background:var(--asper-surface)}.learning-card-footer .btn-primary,.learning-card-footer .btn-secondary{gap:6px;min-width:120px}@media(max-width:900px){.learning-layout{grid-template-columns:1fr}.learning-sidebar{border-right:0;border-bottom:1px solid var(--asper-border)}.learning-filter-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:960px){.auth-screen-split{grid-template-columns:1fr}.auth-hero{padding:32px 24px}.auth-feature-list{display:none}.user-mgmt-body{grid-template-columns:1fr}.user-mgmt-form-section{border-right:0;border-bottom:1px solid var(--asper-border)}}@media(max-width:960px){.configure-step-layout,.configure-step-layout.csv-only{grid-template-columns:1fr}.suggestion-actions{padding-left:0}.config-context-nav{width:32px}.config-sheet-carousel{padding:10px 12px;gap:6px}.config-sheet-carousel-track{--carousel-visible: 3}.config-workspace-header-main .section-header,.config-body{padding-inline:16px}}@media(max-width:920px){.workspace-grid{grid-template-columns:1fr}.left-rail{border-right:0;border-bottom:1px solid var(--asper-border)}.main-panel{margin:12px}.headline-metrics-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-stepper-inner{padding:12px 12px 14px}.workflow-stepper-track{top:26px;left:24px;right:24px}.workflow-stepper-label,.workflow-stepper-item.current .workflow-stepper-label{font-size:14px}.workflow-steps{grid-template-columns:1fr}.workflow-steps-summary-progress{display:none}.run-status-banner{flex-wrap:wrap}.review-screen-header{padding:14px 16px 12px}.review-screen-header-main{flex-wrap:wrap}.review-screen-stats{grid-template-columns:1fr}.review-stat-chips{justify-content:flex-start}.review-bulk-action{width:100%;justify-content:center}.review-screen-body{grid-template-columns:1fr;grid-template-rows:minmax(200px,32vh) minmax(0,1fr);gap:12px;padding:12px}.scope-screen-body{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:12px}.scope-catalog-toolbar{flex-direction:column;align-items:stretch}.scope-search{width:100%}.review-queue{min-height:0}.review-field-grid{grid-template-columns:1fr}.review-detail-footer{flex-direction:column;align-items:stretch}.review-detail-nav,.review-detail-actions{width:100%}.review-detail-nav button,.review-detail-actions button{flex:1;justify-content:center;min-width:0}}@media(max-width:560px){.topbar-inner{flex-wrap:wrap;align-items:flex-start;min-height:56px;padding:12px 16px 10px;gap:12px}.brand{gap:12px;flex:1 1 100%}.brand-divider{height:30px}.brand-logo{height:28px}.brand-copy h1{font-size:20px}.brand-subtitle{font-size:16px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.brand-badge{font-size:13px;padding:2px 8px}.left-rail{padding:12px}.headline-metrics-grid,.headline-metrics-grid.compact,.metric-grid{grid-template-columns:1fr}.workflow-stepper-inner{padding:10px 8px 12px}.workflow-stepper-track{top:24px;left:20px;right:20px}.workflow-stepper-list{grid-template-columns:repeat(var(--workflow-step-count),minmax(56px,1fr))}.workflow-stepper-node{width:24px;height:24px;font-size:14px}.workflow-stepper-label,.workflow-stepper-item.current .workflow-stepper-label{font-size:13.5px}.result-panel .section-header{flex-direction:column;align-items:stretch}.result-actions{flex-wrap:wrap}}.mapping-override-note{display:block;width:100%;margin-top:6px;padding:5px 8px;font-size:16px;color:var(--asper-text-body);background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-md, 8px)}.mapping-override-note::placeholder{color:var(--asper-text-muted)}.mapping-override-note-readonly{display:block;margin-top:6px;font-size:16px;color:var(--asper-text-muted);font-style:italic}.learning-review-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a8c}.learning-review-panel{display:flex;flex-direction:column;width:min(720px,100%);max-height:min(86vh,900px);background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-lg);box-shadow:0 24px 60px #0f172a47;overflow:hidden}.learning-review-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--asper-border)}.learning-review-header h2{margin:0 0 6px;font-size:22px}.learning-review-header p{margin:0;font-size:17px;line-height:1.5;color:var(--asper-text-body)}.learning-review-body{flex:1 1 auto;overflow-y:auto;padding:18px 22px;display:flex;flex-direction:column;gap:14px}.learning-review-panel .learning-card{padding:14px 16px;border:1px solid var(--asper-border);border-radius:var(--radius-lg);background:var(--asper-surface-muted);box-shadow:none;overflow:visible}.learning-review-panel .learning-card:hover{border-color:var(--asper-border)}.learning-review-panel .learning-card.muted{opacity:.55}.learning-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.learning-text-label{display:block;font-size:16px;font-weight:600;color:var(--asper-text-muted)}.learning-text-field{display:block;width:100%;margin-top:6px;padding:8px 10px;font-size:17px;color:var(--asper-text-body);background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-md, 8px);resize:vertical}.learning-scope-rationale{margin:8px 0 0;font-size:16px;font-style:italic;color:var(--asper-text-muted)}.learning-scope-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.learning-scope-field{min-width:0}@media(max-width:640px){.learning-scope-grid,.learning-scope-row{grid-template-columns:1fr}}.learning-comment{margin:10px 0 0;font-size:16px;color:var(--asper-text-body)}.learning-review-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 22px;border-top:1px solid var(--asper-border)}.mapping-provenance-chip{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:1px 8px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--asper-accent, #2563eb);background:color-mix(in srgb,var(--asper-accent, #2563eb) 12%,transparent);border-radius:999px}.sv-result-body,.sv-modal-overlay{--sv-ink: var(--asper-text);--sv-ink2: var(--asper-text-body);--sv-muted: var(--asper-text-muted);--sv-faint: var(--asper-text-subtle);--sv-line: var(--asper-border);--sv-line2: var(--asper-surface-muted);--sv-ok: var(--theme-green);--sv-ok-soft: var(--theme-green-soft);--sv-ok-ink: var(--color-success-text);--sv-bad: var(--theme-red);--sv-bad-soft: var(--theme-red-soft);--sv-bad-ink: var(--color-danger-text);--sv-warn: var(--theme-orange);--sv-warn-soft: var(--theme-orange-soft);--sv-warn-ink: var(--color-warning-text);--sv-na: var(--asper-text-subtle);--sv-na-soft: var(--asper-surface-muted);--sv-accent: var(--theme-primary);--sv-accent-soft: var(--theme-primary-soft);--sv-sh: var(--asper-shadow-sm);--sv-sh-pop: var(--asper-shadow-md)}.sv-sheet-tabs{margin:0;border-top:0}.sv-result-body{padding:20px 24px 28px;min-height:0;background:var(--asper-surface)}.sv-result-body>.sv-page.profile-preview{padding:0}.sv-banner-failed{border-color:var(--color-danger-border);background:var(--color-danger-bg)}.sv-banner-failed .primary-action,.review-banner.compact .primary-action{display:inline-flex;align-items:center;gap:6px}.sv-page{display:grid;gap:16px}.sv-page.profile-preview{gap:16px}.sv-page .section-header,.sv-result-body .section-header{padding:0;margin-bottom:4px;border-bottom:0;background:transparent}.sv-ok-banner{border-left-color:var(--theme-green);background:var(--theme-green-soft)}.sv-ok-banner p{margin:0;color:var(--color-success-text);font-size:17px;font-weight:600}.sv-row{display:flex;align-items:center;gap:10px}.sv-spread{display:flex;align-items:center;justify-content:space-between;gap:12px}.sv-wrap{flex-wrap:wrap}.sv-mt{margin-top:14px}.sv-mt-sm{margin-top:7px}.sv-mb-4{margin-bottom:4px}.sv-mb-6{margin-bottom:6px}.sv-mb-10{margin-bottom:10px}.sv-mb-12{margin-bottom:12px}.sv-mb-14{margin-bottom:14px}.sv-grid{display:grid;gap:14px}.sv-grid-2{grid-template-columns:1fr 1fr}.sv-grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1080px){.sv-grid-4{grid-template-columns:repeat(2,1fr)}.sv-grid-2{grid-template-columns:1fr}}.sv-sub{color:var(--sv-muted, #8b93a5);font-size:15.5px}.sv-lab{font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--sv-muted, #8b93a5)}.sv-mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}.sv-eyebrow-label{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--sv-muted, #8b93a5)}.sv-section-title{font-size:18px;font-weight:700;color:var(--asper-text);letter-spacing:-.01em}.sv-section-sub{margin-top:2px;color:var(--asper-text-muted);font-size:17px;line-height:1.45}.sv-c-ok{color:var(--sv-ok, #16a34a)}.sv-c-bad{color:var(--sv-bad, #dc2626)}.sv-c-warn{color:var(--sv-warn, #d97706)}.sv-c-acc{color:var(--sv-accent, #4f46e5)}.sv-c-muted{color:var(--sv-muted, #8b93a5)}.sv-divider{height:1px;margin:16px 0;background:var(--asper-border)}.sv-btn-ghost{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;color:var(--asper-text);background:var(--asper-surface);border:1px solid var(--asper-border-strong);border-radius:var(--radius-md);font-family:inherit;font-size:17px;font-weight:600;cursor:pointer;transition:background-color .12s ease}.sv-btn-ghost:hover{background:var(--asper-surface-muted)}.sv-empty{padding:32px 0;color:var(--asper-text-muted);font-size:17px;text-align:center}.sv-card{background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-lg);box-shadow:var(--asper-shadow-card)}.sv-card-pad{padding:20px}.sv-stat{display:grid;gap:4px;min-width:0;padding:16px;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-lg);box-shadow:var(--asper-shadow-card)}.sv-stat-lab{color:var(--asper-text-muted);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.sv-stat-val{color:var(--asper-text);font-size:26px;font-weight:700;line-height:1.2;letter-spacing:-.01em}.sv-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;box-shadow:inset 0 0 0 1px #0000000a}.sv-chip-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px #0000000f}.sv-chip-PASS{color:var(--sv-ok-ink, #12813c);background:var(--sv-ok-soft, #eaf6ef)}.sv-chip-FAIL{color:var(--sv-bad-ink, #b91c1c);background:var(--sv-bad-soft, #fbeceb)}.sv-chip-NOT_APPLICABLE{color:#5b6472;background:var(--sv-na-soft, #eef1f5)}.sv-chip-ERROR{color:var(--sv-warn-ink, #9a5b00);background:var(--sv-warn-soft, #fbf3e6)}.sv-sev{padding:2px 7px;border-radius:5px;font-size:14px;font-weight:700;text-transform:capitalize}.sv-sev-high{color:var(--sv-bad-ink, #b91c1c);background:var(--sv-bad-soft, #fbeceb)}.sv-sev-medium{color:var(--sv-warn-ink, #9a5b00);background:var(--sv-warn-soft, #fbf3e6)}.sv-sev-low{color:#5b6472;background:var(--sv-na-soft, #eef1f5)}.sv-risk{padding:2px 9px;border-radius:999px;font-size:15px;font-weight:600}.sv-risk-High{color:var(--sv-bad-ink, #b91c1c);background:var(--sv-bad-soft, #fbeceb)}.sv-risk-Medium{color:var(--sv-warn-ink, #9a5b00);background:var(--sv-warn-soft, #fbf3e6)}.sv-risk-Low{color:var(--sv-ok-ink, #12813c);background:var(--sv-ok-soft, #eaf6ef)}.sv-risk-None{color:var(--sv-muted, #8b93a5);background:#eef1f5}.sv-flag{padding:2px 8px;border-radius:6px;color:var(--color-warning-text);background:var(--color-warning-bg);font-size:14.5px;font-weight:600}.sv-flag-miss{color:var(--color-danger-text);background:var(--color-danger-bg)}.sv-tag{padding:2px 8px;border:1px solid var(--asper-border);border-radius:6px;background:var(--asper-surface-muted);color:var(--asper-text-body);font-size:15px;font-weight:500}.sv-bar{min-width:48px;height:9px;overflow:hidden;background:var(--asper-surface-muted);border-radius:99px;box-shadow:inset 0 0 0 1px var(--asper-border);transition:background-color .15s ease}.sv-bar>i{display:block;height:100%;border-radius:99px;transition:width .3s ease}.sv-segbar{display:flex;gap:2px;height:11px;overflow:hidden;background:var(--asper-surface-muted);border-radius:99px;box-shadow:inset 0 0 0 1px var(--asper-border)}.sv-segbar>i{height:100%;border-radius:2px;transition:width .3s ease}.sv-segbar>i:first-child{border-radius:99px 2px 2px 99px}.sv-segbar>i:last-child{border-radius:2px 99px 99px 2px}.sv-segbar>i:only-child{border-radius:99px}.sv-dimrow{display:grid;grid-template-columns:190px 1fr 108px;align-items:center;gap:16px;padding:13px 16px;background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:var(--radius-md);transition:border-color .15s ease}.sv-dimrow:hover{border-color:var(--asper-border-strong)}.sv-dimrow+.sv-dimrow{margin-top:10px}.sv-dimrow-name{display:flex;align-items:center;gap:8px;color:var(--asper-text);font-size:17px;font-weight:650;letter-spacing:-.005em}.sv-dimrow-desc{margin-top:2px;color:var(--asper-text-muted);font-size:16px;font-weight:400}.sv-dimrow-cnt{display:flex;flex-direction:column;align-items:flex-end;gap:5px;color:var(--asper-text-muted);font-size:16px;text-align:right;font-variant-numeric:tabular-nums}.sv-dimrow-total{font-size:14.5px}.sv-dimrow-chips{gap:6px}.sv-search-wrap{display:flex;align-items:center;gap:8px;min-width:200px;padding:0 12px;background:var(--asper-surface);border:1px solid var(--asper-border-strong);border-radius:var(--radius-sm);color:var(--asper-text-muted)}.sv-search-wrap:focus-within{border-color:var(--theme-primary);box-shadow:0 0 0 3px var(--theme-primary-ring)}.sv-search{min-width:0;flex:1;padding:8px 0;border:none;outline:none;background:transparent;color:var(--asper-text);font-family:inherit;font-size:17px}.sv-search-full{width:100%;min-width:0}.sv-collist-search .sv-search-full{padding:8px 10px;border:1px solid var(--asper-border-strong);border-radius:var(--radius-sm)}.sv-select{padding:8px 12px;color:var(--asper-text);background:var(--asper-surface);border:1px solid var(--asper-border-strong);border-radius:var(--radius-sm);font-family:inherit;font-size:17px;font-weight:500;cursor:pointer}.sv-select:focus{outline:none;border-color:var(--theme-primary)}.sv-pills{display:flex;gap:7px;flex-wrap:wrap}.sv-pill{display:inline-flex;align-items:center;padding:6px 12px;color:var(--asper-text-body);background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-sm);font-family:inherit;font-size:16.5px;font-weight:500;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.sv-pill:hover{border-color:var(--asper-border-strong);background:var(--asper-surface-muted)}.sv-pill-on{color:var(--asper-surface);background:var(--theme-black);border-color:var(--theme-black)}.sv-pill-on:hover{color:var(--asper-surface);background:var(--theme-black-hover);border-color:var(--theme-black-hover)}.sv-callout{padding:12px 14px;border:1px solid var(--asper-border);border-radius:var(--radius-md);background:var(--asper-surface-muted);font-size:17px}.sv-callout-warn{color:var(--color-warning-text);background:var(--color-warning-bg);border-color:var(--color-warning-border)}.sv-callout-ok{color:var(--color-success-text);background:var(--color-success-bg);border-color:var(--color-success-border)}.sv-callout-bad{color:var(--color-danger-text);background:var(--color-danger-bg);border-color:var(--color-danger-border)}.sv-callout-acc{color:var(--theme-primary-dark);background:var(--theme-primary-soft);border-color:var(--theme-primary-muted)}.sv-legend{display:flex;gap:8px;flex-wrap:wrap;color:var(--asper-text-body);font-size:15.5px}.sv-legend span{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--asper-surface-muted);border-radius:999px;font-weight:600}.sv-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 2px #0000000f}.sv-heatstrip{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px}.sv-heatcell{height:30px;border-radius:4px;transition:transform .12s ease}.sv-heatcell:hover{transform:translateY(-2px)}.sv-heat-caption{margin-top:7px}.sv-heat-legend{display:flex;align-items:center;gap:5px;color:var(--asper-text-muted);font-size:15px}.sv-heat-scale{display:flex;gap:2px}.sv-heat-scale i{display:block;width:15px;height:8px;border-radius:2px}.sv-scoreboard{display:grid;grid-template-columns:auto 1fr;align-items:stretch;gap:14px}.sv-dq-card{display:flex;align-items:center;gap:16px;min-width:260px}.sv-dq-gauge{width:120px;height:120px;flex-shrink:0}.sv-dq-caption{margin:6px 0 0;color:var(--asper-text-muted);font-size:17px;line-height:1.4}.sv-dq-risk-row{gap:6px;margin-top:10px}.sv-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.sv-kpi{display:grid;gap:4px;min-width:0;padding:16px;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-lg);box-shadow:var(--asper-shadow-card)}.sv-kpi-lab{color:var(--asper-text-muted);font-size:15px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.sv-kpi-val{color:var(--asper-text);font-size:30px;font-weight:700;line-height:1.15;letter-spacing:-.02em;font-variant-numeric:tabular-nums}@media(max-width:1080px){.sv-scoreboard{grid-template-columns:1fr}.sv-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.sv-silver-tables{display:grid;gap:10px}.sv-silver-table-row{padding:14px 16px;background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-radius:var(--radius-md);transition:border-color .15s ease}.sv-silver-table-row:hover{border-color:var(--asper-border-strong)}.sv-silver-table-head{margin-bottom:10px}.sv-silver-table-name{color:var(--asper-text);font-size:17px;font-weight:650;letter-spacing:-.005em}.sv-silver-table-pctval{font-size:17.5px;font-weight:700;font-variant-numeric:tabular-nums}.sv-silver-table-foot{margin-top:9px}.sv-top-risk-row{padding:10px 0;border-bottom:1px solid var(--asper-border)}.sv-top-risk-row:last-child{border-bottom:none}.sv-top-risk-title{color:var(--asper-text);font-size:17px}.sv-top-risk-bar-wrap{width:210px}.sv-top-risk-caption{margin-top:3px;text-align:right}.sv-cautions-list{display:grid;gap:8px}.sv-cautions-toggle{margin-top:10px}.sv-verdict-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.sv-ai-card{border-color:var(--asper-border);background:var(--asper-surface)}.sv-ai-icon{display:inline-flex;color:var(--theme-primary)}.sv-ai-narrative{margin-top:12px;color:var(--asper-text-body);font-size:17.5px;line-height:1.7}.sv-ai-narrative p{margin:0 0 8px}.sv-ai-narrative p:last-child{margin-bottom:0}.sv-ai-bullet{display:flex;gap:8px;margin:3px 0}.sv-ai-bullet-dot{color:var(--theme-primary)}.sv-ai-finding-head{margin-bottom:6px}.sv-chat{margin-top:14px;padding-top:14px;border-top:1px solid var(--asper-border)}.sv-chat-thread{display:flex;flex-direction:column;gap:12px;max-height:380px;padding:2px 2px 4px;overflow-y:auto}.sv-chat-msg{display:flex;align-items:flex-start;gap:10px}.sv-chat-msg-user{flex-direction:row-reverse}.sv-chat-ava{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:30px;height:30px;color:var(--theme-primary-dark);background:var(--theme-primary-soft);border:1px solid var(--theme-primary-muted);border-radius:9px}.sv-chat-msg-user .sv-chat-ava{color:var(--asper-surface);background:var(--theme-black);border-color:var(--theme-black)}.sv-chat-bubble{max-width:82%;padding:11px 14px;border-radius:13px;font-size:17px;line-height:1.65;word-break:break-word}.sv-chat-msg-bot .sv-chat-bubble{color:var(--asper-text);background:var(--asper-surface-muted);border:1px solid var(--asper-border);border-top-left-radius:4px}.sv-chat-msg-user .sv-chat-bubble{color:var(--asper-surface);background:var(--theme-black);border-top-right-radius:4px}.sv-chat-bubble p{margin:0 0 7px}.sv-chat-bubble p:last-child{margin:0}.sv-chat-sugs{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.sv-chat-sug{padding:7px 12px;color:var(--asper-text-body);background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:999px;font-size:16px;cursor:pointer;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.sv-chat-sug:hover{color:var(--theme-primary);background:var(--theme-primary-soft);border-color:var(--theme-primary)}.sv-chat-input{display:flex;gap:8px;margin-top:12px}.sv-chat-input input{flex:1;min-width:0;padding:11px 14px;color:var(--asper-text);background:var(--asper-surface);border:1px solid var(--asper-border-strong);border-radius:11px;font-family:inherit;font-size:17px;outline:none;transition:border-color .15s ease}.sv-chat-input input:focus{border-color:var(--theme-primary);box-shadow:0 0 0 3px var(--theme-primary-ring)}.sv-chat-send{gap:6px}.sv-typing{display:inline-flex;gap:4px;padding:4px 2px}.sv-typing i{width:6px;height:6px;background:var(--asper-text-muted);border-radius:50%;opacity:.5;animation:sv-blink 1.1s infinite}.sv-typing i:nth-child(2){animation-delay:.18s}.sv-typing i:nth-child(3){animation-delay:.36s}@keyframes sv-blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.sv-catalog-summary{display:grid;grid-template-columns:260px 1fr;align-items:center;gap:14px}@media(max-width:900px){.sv-catalog-summary{grid-template-columns:1fr}}.sv-catalog-donut{text-align:center}.sv-catalog-donut-legend{justify-content:center;gap:14px;margin-top:4px}.sv-catalog-na-note{margin-top:12px;color:var(--sv-faint, #b6bdcc)}.sv-dot-bad{display:inline-block;width:9px;height:9px;background:var(--sv-bad, #dc2626);border-radius:50%}.sv-group-head{padding:12px 18px!important;border-bottom:1px solid var(--sv-line2, #f2f4f8)}.sv-checklist{display:flex;flex-direction:column;gap:7px}.sv-checkrow{position:relative;display:grid;grid-template-columns:1fr auto auto 104px 14px;align-items:center;gap:16px;padding:12px 16px 12px 18px;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.sv-checkrow:hover{border-color:var(--asper-border-strong);background:var(--asper-surface-muted);box-shadow:var(--asper-shadow-sm)}.sv-checkrow:before{content:"";position:absolute;top:0;bottom:0;left:0;width:3px;border-radius:10px 0 0 10px}.sv-checkrow-PASS:before{background:var(--sv-ok, #16a34a)}.sv-checkrow-FAIL:before{background:var(--sv-bad, #dc2626)}.sv-checkrow-NOT_APPLICABLE:before{background:#cfd5df}.sv-checkrow-FAIL{background:linear-gradient(90deg,var(--theme-red-soft),var(--asper-surface) 42%)}.sv-checkrow-title{color:var(--asper-text);font-size:17px;font-weight:600;line-height:1.3}.sv-checkrow-sub{margin-top:2px;color:var(--asper-text-muted);font-size:16px}.sv-checkrow-val{font-variant-numeric:tabular-nums;font-weight:700;font-size:16.5px;text-align:right}.sv-checkrow-caret{display:flex;align-items:center;justify-content:center;color:var(--sv-faint, #b6bdcc);font-size:21px;line-height:1}.sv-tileboard{display:grid;grid-template-columns:repeat(auto-fill,minmax(214px,1fr));gap:10px}.sv-tile{position:relative;overflow:hidden;padding:13px 14px;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-md);cursor:pointer;transition:box-shadow .12s ease,border-color .12s ease,background-color .12s ease}.sv-tile:hover{border-color:var(--asper-border-strong);background:var(--asper-surface-muted);box-shadow:var(--asper-shadow-sm)}.sv-tile:before{content:"";position:absolute;top:0;bottom:0;left:0;width:3px}.sv-tile-PASS:before{background:var(--sv-ok, #16a34a)}.sv-tile-FAIL:before{background:var(--sv-bad, #dc2626)}.sv-tile-NOT_APPLICABLE:before{background:#cfd5df}.sv-tile-FAIL{background:linear-gradient(180deg,var(--theme-red-soft),var(--asper-surface))}.sv-tile-NOT_APPLICABLE{opacity:.8}.sv-tile-title{display:-webkit-box;min-height:34px;overflow:hidden;color:var(--asper-text);font-size:16.5px;font-weight:600;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.sv-tile-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:8px;font-size:16px}.sv-tile-value{font-variant-numeric:tabular-nums;font-weight:700}.sv-issue{padding:18px 20px;background:var(--asper-surface);border:1px solid var(--color-danger-border);border-left:3px solid var(--theme-red);border-radius:var(--radius-lg);box-shadow:var(--asper-shadow-card)}.sv-issue+.sv-issue{margin-top:14px}.sv-issue-title{color:var(--asper-text);font-size:19px}.sv-issue-metrics{gap:18px}.sv-issue-metric-value{font-size:28px;font-weight:800}.sv-issue-metric-sub{font-size:22px;font-weight:700}.sv-issue-metric-week{font-size:18px;font-weight:700}.sv-tbl-wrap{overflow:auto}.sv-table{width:100%;border-collapse:collapse;font-size:17px}.sv-table th{position:sticky;top:0;padding:10px 12px;color:var(--asper-text-muted);background:var(--asper-surface-muted);border-bottom:1px solid var(--asper-border);font-size:15px;font-weight:600;text-align:left;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.sv-table td{padding:10px 12px;border-bottom:1px solid var(--asper-border);vertical-align:middle}.sv-table tbody tr:hover{background:var(--asper-surface-muted)}.sv-table-hot{color:var(--color-danger-text)!important;font-weight:700}.sv-table-title{color:var(--asper-text);font-weight:600}.sv-num,th.sv-num{text-align:right;font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,monospace}.sv-num-strong{font-weight:700}.sv-row-clickable{cursor:pointer}.sv-kv{display:grid;grid-template-columns:150px 1fr;gap:7px 14px;font-size:17px;color:var(--sv-ink, #0b1020)}.sv-kv-k{color:var(--sv-muted, #8b93a5);font-weight:600}.sv-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:24px;background:#1118278c;animation:sv-fade-in .15s ease}.sv-modal{width:100%;max-width:720px;max-height:86vh;overflow:auto;background:var(--asper-surface);border:1px solid var(--asper-border);border-radius:var(--radius-xl);box-shadow:var(--asper-shadow-lg)}.sv-modal-wide{max-width:980px}.sv-modal-head{position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;background:var(--asper-surface);border-bottom:1px solid var(--asper-border)}.sv-modal-title{margin-top:8px;color:var(--asper-text);font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1.3}.sv-modal-head .sv-sub.sv-mono{margin-top:4px;color:var(--sv-muted, #8b93a5);font-size:15.5px}.sv-modal-body{padding:18px 20px}.sv-modal-body .sv-eyebrow-label{margin-bottom:6px;font-size:15px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sv-muted, #8b93a5)}.sv-results-trend{margin-top:16px}.sv-echart{min-height:0}.sv-modal-metrics{gap:20px;margin-bottom:14px}.sv-modal-metric-value{font-size:26px;font-weight:800}.sv-modal-metric-sub{font-size:20px;font-weight:700}.sv-modal-table{max-height:52vh}.sv-modal-foot{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:var(--asper-surface);border-top:1px solid var(--asper-border);flex-wrap:wrap}.sv-modal-foot button{gap:8px}.sv-xbtn{display:inline-flex;flex:none;align-items:center;justify-content:center;width:36px;height:36px;color:var(--asper-text-muted);background:var(--asper-surface);border:1px solid var(--asper-border-strong);border-radius:999px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.sv-xbtn:hover{color:var(--asper-text);background:var(--asper-surface-muted);border-color:var(--asper-border-strong)}.sv-explorer{display:grid;grid-template-columns:300px 1fr;gap:14px}@media(max-width:1000px){.sv-explorer{grid-template-columns:1fr}}.sv-collist{display:flex;flex-direction:column;max-height:560px;overflow:hidden;border:1px solid var(--asper-border);border-radius:var(--radius-lg)}.sv-collist-search{padding:10px;border-bottom:1px solid var(--asper-border)}.sv-collist-scroll{overflow:auto}.sv-colitem{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--asper-border);cursor:pointer}.sv-colitem:hover{background:var(--asper-surface-muted)}.sv-colitem-on{background:var(--theme-primary-soft)}.sv-colitem-nm{flex:1;min-width:0;overflow:hidden;color:var(--asper-text);font-size:16.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.sv-colitem-bar{width:46px}.sv-colitem-flag{border-radius:50%}.sv-typedot{flex:none;width:8px;height:8px;border-radius:2px}.sv-typedot-lg{width:10px;height:10px}.sv-detail{padding:20px;border:1px solid var(--asper-border);border-radius:var(--radius-lg)}.sv-detail-title{color:var(--asper-text);font-size:20px}.sv-detail-raw{margin-top:3px}.sv-detail-complete{text-align:right}.sv-detail-complete-value{font-size:26px;font-weight:800}.sv-detail-flags{gap:6px;margin-top:10px}.sv-statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media(max-width:700px){.sv-statgrid{grid-template-columns:repeat(2,1fr)}}.sv-ministat{padding:10px 12px;border:1px solid var(--asper-border);border-radius:9px}.sv-ministat-k{color:var(--asper-text-muted);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.sv-ministat-v{margin-top:2px;color:var(--asper-text);font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.sv-ministat-v-sm{font-size:18px}.sv-top-values-head{gap:18px;margin-bottom:8px}.sv-top-values-count{color:var(--asper-text);font-size:24px;font-weight:800}
