@import"https://fonts.googleapis.com/css2?family=Geist:wght@100..900&family=Source+Code+Pro:wght@300;400;500;600;700;800&display=swap";:root{--font-sans: "Source Code Pro", monospace;--font-mono: "Source Code Pro", monospace;--font-geist: "Geist", sans-serif;--font-serif: "Georgia", serif;--lh-tight: 1.3;--lh-normal: 1.618;--lh-relaxed: 1.8;--bg: #ffffff;--surface: #ffffff;--surface-raised: #f2f2f2;--surface-hover: #e6e6e630;--surface-color: #ffffff;--surface-card: #ffffff;--border-color: #e6e6e6;--border-subtle: #f2f2f2;--border-accent: #ff6c37;--text-primary: #212121;--text-secondary: #6b6b6b;--text-tertiary: #969696;--accent-color: #ff6c37;--accent-hover: #e05e2f;--accent-subtle: rgba(255, 108, 55, .08);--accent-glow: rgba(255, 108, 55, .15);--primary-color: #212121;--primary-hover: #000000;--success-color: #0cbb52;--success-neon: #00ff41;--warning-color: #fca130;--error-color: #f85149;--error-subtle: rgba(248, 81, 73, .05);--muted-gray: #f2f2f2;--sidebar-width: 235px;--sidebar-collapsed-width: 48px;--sidebar-bg: #f9f9f9;--sidebar-border: #e6e6e6;--iv-color: #4f46e5;--iv-text: #4338ca;--iv-bg: rgba(79, 70, 229, .05);--iv-border: rgba(79, 70, 229, .2);--mv-color: #db2777;--mv-text: #be185d;--mv-bg: rgba(219, 39, 119, .05);--mv-border: rgba(219, 39, 119, .2);--dv-color: #059669;--dv-text: #047857;--dv-bg: rgba(5, 150, 105, .05);--dv-border: rgba(5, 150, 105, .2);--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--border-weight: 1px;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 4px;--radius-xl: 6px;--text-2xl: 1.3rem;--text-xl: 1.1rem;--text-lg: .95rem;--text-base: .85rem;--text-sm: .75rem;--text-xs: .7rem;--space-1: .3rem;--space-2: .6rem;--space-3: .9rem;--space-4: 1.15rem;--space-5: 1.4rem;--space-6: 1.7rem;--space-8: 2.2rem;--space-10: 2.75rem;--space-12: 3.3rem;--space-16: 4.5rem;--space-20: 5.5rem}[data-theme=dark]{--bg: #1c1c1c;--surface: #212121;--surface-raised: #2b2b2b;--surface-hover: #333333;--surface-color: #212121;--surface-card: #212121;--border-color: #333333;--border-subtle: #262626;--text-primary: #f2f2f2;--text-secondary: #b3b3b3;--text-tertiary: #808080;--sidebar-bg: #1c1c1c;--sidebar-border: #333333;--accent-color: #ff6c37;--accent-subtle: rgba(255, 108, 55, .12);--accent-glow: rgba(255, 108, 55, .25);--iv-color: #818cf8;--iv-text: #a5b4fc;--iv-bg: rgba(129, 140, 248, .1);--iv-border: rgba(129, 140, 248, .3);--mv-color: #f472b6;--mv-text: #f9a8d4;--mv-bg: rgba(244, 114, 182, .1);--mv-border: rgba(244, 114, 182, .3);--dv-color: #34d399;--dv-text: #6ee7b7;--dv-bg: rgba(52, 211, 153, .1);--dv-border: rgba(52, 211, 153, .3);--success-neon: #39ff14;--error-subtle: rgba(248, 81, 73, .15);--muted-gray: #333333;--primary-color: #f2f2f2;--primary-hover: #ffffff;--accent-hover: #ff8559}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;letter-spacing:-.02em!important}html{scroll-behavior:smooth;font-family:var(--font-sans)}body,button,input,textarea,select{font-family:var(--font-sans)!important;color:inherit}body{font-size:var(--text-base);background:var(--bg);color:var(--text-primary);line-height:var(--lh-tight);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow:hidden;transition:background .15s,color .15s}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);line-height:var(--lh-tight);color:var(--text-primary);font-weight:700;letter-spacing:-.04em!important}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg);font-weight:600}h4{font-size:var(--text-base);font-weight:600}p{font-size:var(--text-base);color:var(--text-secondary);line-height:var(--lh-normal);margin-bottom:var(--space-3)}p:last-child{margin-bottom:0}.text-xs{font-size:var(--text-xs)}.text-muted{color:var(--text-tertiary)}.font-mono{font-family:var(--font-mono)}.app-shell{display:flex;height:100vh;width:100vw;overflow:hidden;background:var(--bg)}.sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;overflow:hidden;transition:width .25s cubic-bezier(.4,0,.2,1);position:relative;z-index:100}.sidebar.sidebar-collapsed{width:68px}.sidebar-logo{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1rem;min-height:72px}.sidebar-logo-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s ease}.sidebar-logo-icon:hover{transform:scale(1.05)}.sidebar-logo-text{font-size:1.1rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);white-space:nowrap}.sidebar-nav{flex:1;padding:.5rem;display:flex;flex-direction:column;gap:4px;overflow-y:auto;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-section-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);padding:1.25rem .75rem .5rem}.sidebar-nav-item{display:flex;align-items:center;gap:.55rem;padding:.5rem .7rem;border-radius:var(--radius-md);cursor:pointer;border:1px solid transparent;background:transparent;width:100%;text-align:left;font-family:var(--font-sans);transition:all .12s ease}.sidebar-nav-item:hover{background:var(--surface-hover);border-color:var(--border-color)}.sidebar-nav-item.active{background:var(--accent-subtle);border-color:var(--border-accent);color:var(--text-primary)}.sidebar-nav-item.active .nav-item-label{color:var(--text-primary);font-weight:700}.sidebar-nav-item.disabled{cursor:default;opacity:.4}.sidebar-nav-item.disabled:hover{background:transparent;border-color:transparent}.nav-item-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;transition:all .15s}.nav-item-label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-item-check{width:14px;height:14px;border-radius:50%;background:var(--success-color);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:8px;color:#fff;font-weight:700}.sidebar-footer{padding:.75rem .65rem;border-top:1px solid var(--sidebar-border);display:flex;flex-direction:column;gap:.35rem}.main-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;background:var(--bg);padding-top:1.5rem}.main-content::-webkit-scrollbar{width:4px}.main-content::-webkit-scrollbar-track{background:transparent}.main-content::-webkit-scrollbar-thumb{background:var(--surface-raised);border-radius:4px}.step-page{flex:1;max-width:800px;width:100%;margin:0 auto;padding:var(--space-16) 1.5rem 3rem;display:flex;flex-direction:column;gap:var(--space-5)}.step-page-hero{display:flex;flex-direction:column;gap:.6rem;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.step-number{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-color)}.step-title{font-size:1.6rem;font-weight:600;letter-spacing:-.035em;color:var(--text-primary);line-height:1.15}.step-subtitle{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--lh-relaxed);margin:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:.45rem .9rem;font-family:var(--font-sans)!important;font-size:var(--text-sm);font-weight:600;line-height:var(--lh-tight);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;outline:none;transition:all .12s ease;white-space:nowrap}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{opacity:.4;cursor:not-allowed}.button-primary{background:var(--primary-color);color:var(--surface);border-color:#0000001a}[data-theme=dark] .button-primary{color:#1c1c1c;border-color:#ffffff1a}.button-primary:hover:not(:disabled){background:var(--primary-hover)}.button-accent{background:var(--accent-color);color:#fff}.button-accent:hover:not(:disabled){background:var(--accent-hover)}.button-outline{background:transparent;border-color:var(--border-color);color:var(--text-secondary)}.button-outline:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.button-ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.button-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.button-danger{background:transparent;border-color:transparent;color:var(--error-color)}.button-danger:hover:not(:disabled){background:var(--error-subtle)}.button-sm{padding:.3rem .65rem;font-size:var(--text-xs)}.form-group{margin-bottom:var(--space-4)}.form-group:last-child{margin-bottom:0}.label{display:block;font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-2)}.input{width:100%;padding:.55rem .75rem;font-family:var(--font-sans)!important;font-size:var(--text-base);color:var(--text-primary);line-height:var(--lh-normal);background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-md);outline:none;transition:all .15s ease}.input::placeholder{color:var(--text-tertiary)}.input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-glow)}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%2371717a%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.4-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right .75rem top 50%;background-size:.6rem auto;padding-right:2.25rem;cursor:pointer}.card{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-4)}.card-elevated{background:var(--surface-raised);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-4)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:.18rem var(--space-2);font-size:var(--text-xs);font-weight:600;border-radius:4px;line-height:var(--lh-tight);background:var(--surface-raised);border:1px solid var(--border-color);color:var(--text-secondary)}.badge-success{background:var(--success-subtle);color:var(--success-color);border-color:#05966933}.badge-accent{background:var(--accent-subtle);color:var(--accent-color);border-color:#7c3aed33}table{width:100%;border-collapse:collapse}th{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-color)}td{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);line-height:var(--lh-normal);color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:var(--surface-hover);color:var(--text-primary)}.error-banner{padding:var(--space-3) var(--space-4);background:var(--error-subtle);border:1px solid rgba(220,38,38,.2);color:var(--error-color);border-radius:var(--radius-md);font-size:var(--text-sm)}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:modal-backdrop-in .2s ease-out}.modal-container{background:var(--surface-card);border:1px solid var(--border-color);border-radius:12px;width:100%;max-width:440px;padding:2rem;box-shadow:0 20px 25px -5px #0006,0 10px 10px -5px #0003;animation:modal-container-in .2s cubic-bezier(.16,1,.3,1);position:relative;z-index:1100}.modal-title{font-family:var(--font-serif);font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary);letter-spacing:-.02em!important}.modal-description{font-size:.9rem;line-height:1.5;color:var(--text-secondary);margin-bottom:2rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-container-in{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 12px #7c3aed33}50%{box-shadow:0 0 24px #7c3aed73}}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.animate-fade-in{animation:fade-in .15s ease both}.animate-fade-up{animation:fade-up .2s ease both}.animate-spin{animation:spin .7s linear infinite}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-raised) 50%,var(--surface) 75%);background-size:600px 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--radius-sm)}*{scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:0}::-webkit-scrollbar-track{background:transparent}.sidebar-collapse-btn{background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.3rem;border-radius:var(--radius-md);color:var(--text-tertiary);transition:all .12s ease;flex-shrink:0}.sidebar-collapse-btn:hover{background:var(--surface-hover);color:var(--text-primary)}@media(min-width:769px){.sidebar{transition:width .22s ease}.sidebar.sidebar-collapsed{width:var(--sidebar-collapsed-width)}.sidebar.sidebar-collapsed .sidebar-nav{padding:.5rem 0;align-items:center}.sidebar.sidebar-collapsed .sidebar-logo{justify-content:center;padding:.75rem 0}}.mobile-topbar{display:none}.sidebar-backdrop{display:none;position:fixed;inset:0;background:#00000073;z-index:199;animation:fade-in .18s ease both}.desktop-only{display:flex}.mobile-only{display:none}@media(max-width:768px){body{overflow:hidden}.desktop-only{display:none!important}.mobile-only{display:flex!important}.mobile-topbar{display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;height:52px;padding:0 .85rem;background:var(--sidebar-bg);border-bottom:1px solid var(--sidebar-border);z-index:190;flex-shrink:0}.sidebar{position:fixed;top:0;left:0;height:100%;width:var(--sidebar-width)!important;z-index:200;transform:translate(-100%);transition:transform .22s ease;border-right:1px solid var(--sidebar-border)}.sidebar.sidebar-open{transform:translate(0)}.sidebar-backdrop{display:block}.main-content{padding-top:52px;width:100%}.step-page{padding:1.5rem 1rem 3rem;max-width:100%}.step-title{font-size:1.25rem!important}.sidebar.sidebar-collapsed{width:var(--sidebar-width)!important}.var-fields-grid{grid-template-columns:1fr!important}.scale-range-grid{grid-template-columns:1fr 1fr!important}.generate-options-grid{grid-template-columns:1fr!important}.audit-stats-grid{grid-template-columns:repeat(2,1fr)!important}.upload-tab-desc{display:none!important}.stat-cards-grid,.key-insights-grid,.mediation-sub-grid,.repro-cards-grid{grid-template-columns:1fr!important}.results-container{padding-top:1.75rem!important;gap:1rem!important}.results-wrapper{padding:0 .75rem!important}.results-header{flex-direction:column;align-items:flex-start!important;gap:1rem}.results-header-actions{display:flex;flex-direction:column;width:100%;gap:.65rem}.results-header-actions button{width:100%;flex:unset;justify-content:center;font-size:11px;padding:.55rem .75rem;white-space:nowrap;min-width:0}.results-header-actions button span{display:inline!important}.results-header-actions button:nth-child(2){flex:unset}.results-header-actions button:first-child span,.results-header-actions button:last-child span{display:inline!important}.main-content>div[style*="padding: 1rem"]{padding:.5rem!important}.proposal-actions{flex-direction:column-reverse;align-items:stretch;gap:.6rem}.proposal-actions .button{width:100%;justify-content:center}.step-actions{flex-direction:column;align-items:stretch;gap:.6rem}.step-actions .button{width:100%;justify-content:center}.mapping-header{flex-direction:column;gap:.85rem}.mapping-header .step-actions{flex-direction:row;width:100%}.mapping-header .step-actions .button{flex:1}.mapping-buckets{flex-direction:column!important}.mapping-buckets>div{min-height:120px}.correlation-wrapper,.research-memo-card{padding:12px!important}.correlation-table thead{display:none}.correlation-table,.correlation-table tbody,.correlation-table tr,.correlation-table td{display:block;width:100%}.correlation-table tr{border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:.75rem;padding:.25rem 0;background:var(--surface-raised)}.correlation-table td{display:flex;justify-content:space-between;align-items:center;padding:.5rem .45rem!important;border-bottom:1px solid var(--border-color);font-size:12px}.correlation-table td:last-child{border-bottom:none}.correlation-table td:before{content:attr(data-label);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);flex-shrink:0;margin-right:.5rem}.correlation-table td:first-child{flex-direction:column;align-items:flex-start;gap:.35rem;padding-bottom:.55rem!important}.correlation-table td:first-child>div{flex-wrap:wrap;gap:.35rem}}.tooltip-container{display:inline-block;position:relative;margin-left:.25rem;vertical-align:middle}.tooltip-icon{color:var(--text-tertiary);cursor:help;transition:color .2s}.tooltip-container:hover .tooltip-icon{color:var(--accent-color)}.tooltip-popup{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);z-index:50;width:250px;background-color:var(--surface-inner);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.5rem;font-size:11px;font-weight:400;color:var(--text-primary);line-height:1.4;text-align:left;white-space:normal;text-transform:none;letter-spacing:normal;font-family:var(--font-sans)}.tooltip-arrow{position:absolute;bottom:-6px;left:50%;transform:translate(-50%) rotate(45deg);width:10px;height:10px;background-color:var(--surface-inner);border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}@keyframes fadeIn{}
