:root,[data-theme=light]{--color-background-primary: #f6f7fb;--color-background-secondary: #eef1f7;--color-surface: #fff;--color-surface-elevated: #fff;--color-border: #dfe3ec;--color-text-primary: #172033;--color-text-secondary: #667085;--color-text-disabled: #98a2b3;--color-primary: #554ee8;--color-primary-hover: #4841d3;--color-primary-active: #3d37b8;--color-success: #147a55;--color-warning: #a15c08;--color-error: #b42318;--color-info: #175cd3;--color-focus-ring: #7770ff;--color-overlay: rgba(10, 15, 30, .58);--color-skeleton: #e6e9f0;--color-sidebar: #11172a;--color-sidebar-text: #aeb6cc;--font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 2rem;--font-weight-regular: 400;--font-weight-medium: 550;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.55;--letter-spacing-tight: -.025em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--border-width: 1px;--radius-sm: .45rem;--radius-md: .7rem;--radius-lg: 1rem;--radius-full: 999px;--shadow-small: 0 1px 2px rgba(16, 24, 40, .05);--shadow-medium: 0 5px 18px rgba(16, 24, 40, .07);--shadow-elevated: 0 14px 34px rgba(16, 24, 40, .12);--shadow-modal: 0 24px 60px rgba(8, 15, 30, .24);--motion-fast: .12s;--motion-normal: .22s;--easing-standard: cubic-bezier(.2, 0, 0, 1);--sidebar-width: 252px}[data-theme=dark]{--color-background-primary: #0d1220;--color-background-secondary: #141b2d;--color-surface: #171f31;--color-surface-elevated: #1d263b;--color-border: #303b52;--color-text-primary: #f1f4fa;--color-text-secondary: #aab4c8;--color-text-disabled: #69758d;--color-primary: #8b85ff;--color-primary-hover: #9e99ff;--color-primary-active: #7770f2;--color-success: #56d6a2;--color-warning: #f4b35d;--color-error: #ff8278;--color-info: #79aaff;--color-focus-ring: #aaa6ff;--color-overlay: rgba(0, 0, 0, .72);--color-skeleton: #29344a;--color-sidebar: #080d19;--color-sidebar-text: #9aa7bf;--shadow-small: 0 1px 2px rgba(0, 0, 0, .25);--shadow-medium: 0 5px 18px rgba(0, 0, 0, .25);--shadow-elevated: 0 14px 34px rgba(0, 0, 0, .35)}*{box-sizing:border-box}.research-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.research-heading h1{margin:.35rem 0}.status-filters{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5)}.research-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.research-card{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.research-card-top,.detail-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap}.research-card h2{margin:0;overflow-wrap:anywhere}.research-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.research-card>.button{align-self:flex-start;text-decoration:none}.research-form{display:grid;gap:var(--space-4);min-width:min(30rem,75vw)}.field textarea{width:100%;min-height:8rem;resize:vertical;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);padding:var(--space-3);font:inherit}.field textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.form-error{color:var(--color-danger)}.detail-breadcrumb{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.research-detail{display:grid;gap:var(--space-5)}.research-detail-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.research-detail-card dt{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.research-detail-card dd{margin:.35rem 0 0}@media(max-width:600px){.research-heading{flex-direction:column}.research-heading>.button{width:100%}.research-grid,.research-detail-card dl{grid-template-columns:1fr}.research-form{min-width:0}.detail-actions{width:100%}}html{font-family:var(--font-family);background:var(--color-background-primary);color:var(--color-text-primary)}body{margin:0;min-width:320px;min-height:100vh;background:var(--color-background-primary)}button,input,select{font:inherit}button,a{color:inherit}:focus-visible{outline:3px solid color-mix(in srgb,var(--color-focus-ring) 55%,transparent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh;transition:grid-template-columns var(--motion-normal) var(--easing-standard)}.app-shell.sidebar-collapsed{--sidebar-width: 78px}.sidebar{position:sticky;top:0;z-index:20;display:flex;flex-direction:column;height:100vh;padding:var(--space-5) var(--space-4);overflow:hidden;color:#f7f8ff;background:var(--color-sidebar)}.sidebar-header,.topbar-start,.topbar-actions,.user-menu,.sidebar-footer,.workspace{display:flex;align-items:center}.sidebar-header{justify-content:space-between;height:42px;margin:0 .35rem var(--space-5)}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;color:#fff;background:var(--color-primary);font-weight:800}.brand-name{font-size:1.2rem;font-weight:700}.brand-name span,.eyebrow{color:var(--color-primary)}.primary-navigation{display:grid;gap:.35rem}.primary-navigation a{position:relative;display:flex;align-items:center;gap:.9rem;min-height:45px;padding:.7rem .85rem;border-radius:var(--radius-md);color:var(--color-sidebar-text);text-decoration:none;font-size:var(--font-size-sm);white-space:nowrap}.primary-navigation a:hover{color:#fff;background:#ffffff12}.primary-navigation a.active{color:#fff;background:#7069ff33}.primary-navigation a.active:before{position:absolute;left:-1rem;width:3px;height:24px;background:var(--color-primary);content:""}.primary-navigation svg,.icon-button svg{width:20px;height:20px;flex:0 0 auto}.sidebar-footer{gap:.5rem;margin-top:auto;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.1)}.workspace{gap:.65rem;white-space:nowrap}.workspace-avatar,.user-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;color:#d3d0ff;background:#7069ff33}.workspace strong,.workspace small,.user-menu small{display:block}.workspace small,.user-menu small{color:var(--color-sidebar-text);font-size:.68rem}.collapse-button,.icon-button{display:grid;place-items:center;border:0;cursor:pointer}.collapse-button{width:30px;height:30px;margin-left:auto;border-radius:8px;color:var(--color-sidebar-text);background:#ffffff12}.collapse-button svg{width:16px}.is-collapsed .brand-name,.is-collapsed .primary-navigation span,.is-collapsed .workspace>span:last-child{width:0;opacity:0;pointer-events:none}.is-collapsed .collapse-button svg{transform:rotate(180deg)}.app-column{min-width:0}.topbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:1fr minmax(220px,380px) 1fr;align-items:center;min-height:74px;padding:0 var(--space-6);border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.breadcrumb{display:flex;gap:.6rem;color:var(--color-text-secondary);font-size:var(--font-size-xs)}.breadcrumb strong{color:var(--color-text-primary)}.topbar-actions{justify-content:flex-end;gap:var(--space-2)}.select-field select{min-height:38px;max-width:140px;padding:0 1.5rem 0 .6rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer}.theme-selector select{max-width:105px}.user-menu{gap:.6rem;border:0;background:transparent;text-align:left}.user-avatar{border-radius:50%;color:var(--color-primary)}.user-avatar svg{width:17px}.user-menu>svg{width:13px;transform:rotate(90deg)}.topbar-divider{width:1px;height:28px;background:var(--color-border)}.menu-button,.close-drawer{display:none}.main-content{padding:clamp(1.25rem,3vw,2.5rem)}.page{width:100%;max-width:1440px;margin:auto}.page-header .eyebrow,.eyebrow{margin:0 0 .5rem;font-size:var(--font-size-xs);font-weight:700;letter-spacing:.09em;text-transform:uppercase}.page-header h1{margin:0;font-size:clamp(1.65rem,3vw,2.15rem);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.page-header>p:last-child{margin:.55rem 0 0;color:var(--color-text-secondary)}.dashboard-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-small)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;border-radius:var(--radius-md);font-weight:650;cursor:pointer;transition:background var(--motion-fast),transform var(--motion-fast)}.button:active:not(:disabled){transform:translateY(1px)}.button-small{min-height:32px;padding:.35rem .65rem;font-size:var(--font-size-xs)}.button-medium{min-height:40px;padding:.55rem .9rem;font-size:var(--font-size-sm)}.button-large{min-height:48px;padding:.7rem 1.1rem}.button-primary{color:#fff;background:var(--color-primary)}.button-primary:hover{background:var(--color-primary-hover)}.button-primary:active{background:var(--color-primary-active)}.button-secondary{border-color:var(--color-border);background:var(--color-surface)}.button-secondary:hover,.button-ghost:hover{background:var(--color-background-secondary)}.button-ghost{background:transparent}.button-danger{color:#fff;background:var(--color-error)}.button:disabled{cursor:not-allowed;opacity:.55}.spinner{display:inline-block;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.spinner-small{width:14px;height:14px}.spinner-medium{width:22px;height:22px}.spinner-large{width:34px;height:34px}@keyframes spin{to{transform:rotate(360deg)}}.field{display:grid;gap:.4rem;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.input-wrap{display:flex;align-items:center;gap:.5rem;min-height:40px;padding:0 .7rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.input-wrap:focus-within{outline:3px solid color-mix(in srgb,var(--color-focus-ring) 35%,transparent)}.input-wrap input{width:100%;border:0;outline:0;color:var(--color-text-primary);background:transparent}.input-wrap svg{width:18px}.field small{color:var(--color-text-secondary)}.field .field-error{color:var(--color-error)}.search-input{max-width:380px}.search-input>label,.search-input>small{display:none}.search-input .input-wrap{background:var(--color-background-secondary)}.check-control,.switch-control{display:flex;align-items:center;gap:.65rem;font-size:var(--font-size-sm)}.check-control input{width:18px;height:18px;accent-color:var(--color-primary)}.switch-control input{position:absolute;opacity:0}.switch-track{position:relative;width:42px;height:24px;border-radius:99px;background:var(--color-text-disabled);transition:background var(--motion-fast)}.switch-track:after{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;content:"";transition:transform var(--motion-fast)}.switch-control input:checked+.switch-track{background:var(--color-primary)}.switch-control input:checked+.switch-track:after{transform:translate(18px)}.switch-control input:focus-visible+.switch-track{outline:3px solid var(--color-focus-ring);outline-offset:2px}.switch-control small{display:block;color:var(--color-text-secondary)}.badge{display:inline-flex;padding:.25rem .55rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:700;background:var(--color-background-secondary)}.badge-primary{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 14%,transparent)}.badge-success{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 13%,transparent)}.badge-warning{color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 14%,transparent)}.badge-error{color:var(--color-error);background:color-mix(in srgb,var(--color-error) 13%,transparent)}.badge-info{color:var(--color-info);background:color-mix(in srgb,var(--color-info) 13%,transparent)}.skeleton{display:block;border-radius:var(--radius-sm);background:var(--color-skeleton);animation:pulse 1.5s ease-in-out infinite}.skeleton-text{width:180px;height:12px}.skeleton-block{width:100%;height:70px}.skeleton-avatar{width:42px;height:42px;border-radius:50%}@keyframes pulse{50%{opacity:.5}}.empty-state{display:grid;place-items:center;padding:clamp(2rem,6vw,4rem);text-align:center}.empty-state-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 13%,transparent)}.empty-state h2{margin:1rem 0 0}.empty-state p{color:var(--color-text-secondary)}.empty-actions,.component-row{display:flex;flex-wrap:wrap;gap:.75rem}.tooltip{position:relative}.tooltip [role=tooltip]{position:absolute;bottom:calc(100% + 8px);left:50%;z-index:30;width:max-content;max-width:230px;padding:.45rem .65rem;transform:translate(-50%);border-radius:var(--radius-sm);color:#fff;background:#111827;font-size:var(--font-size-xs);opacity:0;pointer-events:none}.tooltip:hover [role=tooltip],.tooltip:focus-within [role=tooltip]{opacity:1}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:1rem;background:var(--color-overlay)}.modal{width:min(520px,100%);max-height:calc(100vh - 2rem);overflow:auto;padding:1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-elevated);box-shadow:var(--shadow-modal)}.modal header,.modal footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.modal h2{margin:0}.modal footer{justify-content:flex-end}.dropdown{position:relative}.dropdown-menu{position:absolute;right:0;z-index:20;display:grid;min-width:160px;margin-top:.35rem;padding:.35rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated);box-shadow:var(--shadow-elevated)}.dropdown-menu button{padding:.6rem;border:0;border-radius:.35rem;background:transparent;text-align:left}.dropdown-menu button:hover,.dropdown-menu button:focus{background:var(--color-background-secondary)}.tabs{margin-top:1.25rem}.tabs [role=tablist]{display:flex;gap:.25rem;border-bottom:1px solid var(--color-border)}.tabs [role=tab]{padding:.65rem;border:0;border-bottom:2px solid transparent;background:transparent}.tabs [aria-selected=true]{color:var(--color-primary);border-color:var(--color-primary)}.tabs [role=tabpanel]{padding:1rem 0}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:2rem 0}.stat-card{position:relative;padding:1.2rem}.stat-card p,.stat-card small,.quick-start>p:not(.eyebrow),.chart-empty p{color:var(--color-text-secondary)}.stat-card strong{display:block;font-size:1.65rem}.stat-icon{position:absolute;top:1rem;right:1rem;color:var(--color-primary)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:1rem}.activity-card,.quick-start{padding:1.4rem}.card-heading{display:flex;align-items:center;justify-content:space-between}.card-heading h2,.quick-start h2{margin:0;font-size:1rem}.period-control{padding:.45rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary)}.chart-placeholder{position:relative;display:grid;place-items:center;height:255px;margin-top:1rem}.chart-lines{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-around}.chart-lines i{border-top:1px dashed var(--color-border)}.chart-empty{text-align:center;z-index:1}.quick-start ol{display:grid;gap:1rem;padding:0;list-style:none}.quick-start li{display:flex;gap:.75rem}.quick-start li>span{display:grid;place-items:center;width:27px;height:27px;border:1px solid var(--color-border);border-radius:50%;color:var(--color-primary)}.quick-start li strong,.quick-start li small{display:block}.quick-start li small{color:var(--color-text-secondary)}.placeholder-page{max-width:900px}.drawer-backdrop{display:none}.design-system{display:grid;gap:1rem}.design-system>.page-header{margin-bottom:1rem}.showcase{padding:clamp(1rem,3vw,1.5rem)}.showcase h2{margin-top:0}.swatches{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.75rem}.swatches>div{display:grid;gap:.4rem;font-size:var(--font-size-xs)}.swatch{height:65px;border:1px solid var(--color-border);border-radius:var(--radius-md)}.swatch-background{background:var(--color-background-primary)}.swatch-surface{background:var(--color-surface)}.swatch-primary{background:var(--color-primary)}.swatch-success{background:var(--color-success)}.swatch-warning{background:var(--color-warning)}.swatch-error{background:var(--color-error)}.swatch-info{background:var(--color-info)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.25rem}.skeletons{display:grid;gap:.75rem;margin-top:1rem}@media(max-width:1000px){.stats-grid{grid-template-columns:repeat(2,1fr)}.topbar{grid-template-columns:1fr minmax(180px,280px) 1fr}.user-menu>span:not(.user-avatar),.user-menu>svg{display:none}}@media(max-width:760px){.app-shell,.app-shell.sidebar-collapsed{display:block;--sidebar-width: 252px}.sidebar{position:fixed;left:0;width:min(84vw,280px);transform:translate(-105%);transition:transform var(--motion-normal)}.sidebar.is-open{transform:none}.sidebar.is-collapsed .brand-name,.sidebar.is-collapsed .primary-navigation span,.sidebar.is-collapsed .workspace>span:last-child{width:auto;opacity:1}.collapse-button{display:none}.close-drawer,.menu-button{display:grid}.topbar{grid-template-columns:1fr auto;min-height:64px;padding:0 1rem}.search-input{display:none}.breadcrumb>span:first-child,.topbar-divider,.user-menu{display:none}.drawer-backdrop{position:fixed;inset:0;z-index:19;display:block;background:var(--color-overlay);opacity:0;pointer-events:none}.drawer-backdrop.is-visible{opacity:1;pointer-events:auto}.dashboard-heading{align-items:flex-start;flex-direction:column}.dashboard-grid,.form-grid{grid-template-columns:1fr}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.language-selector select,.theme-selector select{width:76px;padding:.3rem}.dashboard-heading .button{width:100%}.topbar-actions{gap:.25rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
