.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;color:var(--ds-text-primary);background:var(--ds-surface-subtle);font-family:var(--ds-font-sans)}.login-card{display:flex;flex-direction:column;gap:12px;width:100%;max-width:340px;padding:24px;background:var(--ds-surface-default);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-md);box-shadow:var(--ds-shadow-lg)}.login-card h1{margin:0;font-size:16px;font-weight:650}.login-card h1 small,.login-sub{color:var(--ds-text-muted)}.login-card h1 small{font-weight:500}.login-sub{margin:0;font-size:12.5px}.login-card .banner.err{padding:8px 12px;color:var(--ds-danger-text);background:var(--ds-danger-subtle)}.login-submit{margin-top:4px;padding:9px 10px;color:var(--ds-white);background:var(--ds-accent-action);border:1px solid var(--ds-accent-action);border-radius:var(--ds-radius-sm);font:inherit;font-weight:600;cursor:pointer}.login-submit:disabled{cursor:not-allowed;opacity:.55}:root{--research-font-serif: "Crimson Pro", Georgia, "Times New Roman", serif;--research-font-mono: "IBM Plex Mono", "SF Mono", Monaco, monospace;--research-bg: #fefefe;--research-bg-alt: #f8f8f7;--research-bg-inset: #f3f2f0;--research-text: #1a1a1a;--research-text-secondary: #4a4a4a;--research-text-muted: #6f6f6f;--research-border: #e8e7e5;--research-border-strong: #d0cfcd;--research-accent: #2a5da8;--research-accent-light: #e8f0fa}html,body,#root{min-height:100%}body{margin:0}*,*:before,*:after{box-sizing:border-box}.route-loading,.access-denied{min-height:100vh;display:grid;place-items:center;padding:32px;color:var(--ds-text-primary);background:var(--ds-surface-subtle);font-family:var(--ds-font-sans)}.route-loading,.access-denied__card{max-width:560px}.access-denied--embedded{min-height:calc(100vh - 64px)}.access-denied__card{padding:32px;background:var(--ds-surface-default);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-md);box-shadow:var(--ds-shadow-md)}.access-denied__card h1{margin:8px 0 12px;font-family:var(--ds-font-serif)}.access-denied__card p{margin:0;line-height:1.6}.access-denied__card .muted{margin-top:16px;color:var(--ds-text-muted)}.access-denied__card .ds-button{margin-top:20px}@media (max-width: 760px){.access-denied--embedded{min-height:calc(100vh - 60px)}}:root{--ds-black: #000000;--ds-white: #ffffff;--ds-blue-50: #eff5fe;--ds-blue-100: #cfe2ff;--ds-blue-200: #9ec5ff;--ds-blue-300: #6ea9ff;--ds-blue-400: #3d8cff;--ds-blue-500: #0d6fe1;--ds-blue-600: #0a59cc;--ds-blue-700: #084399;--ds-blue-800: #0d2c58;--ds-blue-900: #041e46;--ds-cream-50: #f7f5f4;--ds-cream-100: #ece9e6;--ds-cream-200: #dad5d1;--ds-cream-300: #c1bbb6;--ds-cream-400: #a19a94;--ds-cream-500: #827973;--ds-cream-600: #655d58;--ds-cream-700: #48423e;--ds-cream-800: #2d2926;--ds-cream-900: #161412;--ds-gray-50: #f8f8f8;--ds-gray-100: #ebebeb;--ds-gray-200: #d7d7d7;--ds-gray-300: #bebebe;--ds-gray-400: #9b9b9b;--ds-gray-500: #838383;--ds-gray-600: #606060;--ds-gray-700: #424242;--ds-gray-800: #2c2c2c;--ds-gray-900: #171717;--ds-red-50: #ffe4e1;--ds-red-100: #fbd3d0;--ds-red-200: #fdb1ab;--ds-red-300: #fb8d87;--ds-red-400: #f56361;--ds-red-500: #ea2f3b;--ds-red-600: #c21f2c;--ds-red-700: #921921;--ds-red-800: #611215;--ds-red-900: #330b0b;--ds-orange-50: #ffefe3;--ds-orange-100: #fae1cf;--ds-orange-200: #f9c9a6;--ds-orange-300: #f3ae7a;--ds-orange-400: #ea9146;--ds-orange-500: #db7807;--ds-orange-600: #b15f03;--ds-orange-700: #874804;--ds-orange-800: #5a2d00;--ds-orange-900: #341c07;--ds-green-50: #e5f7e7;--ds-green-100: #d2edd5;--ds-green-200: #ade0b5;--ds-green-300: #81d090;--ds-green-400: #4ebf6a;--ds-green-500: #04ac4a;--ds-green-600: #048c3c;--ds-green-700: #066a2c;--ds-green-800: #01481b;--ds-green-900: #072810;--ds-font-sans: var(--ds-next-font-sans, "Inter"), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ds-font-serif: var(--ds-next-font-serif, "Libre Baskerville"), Georgia, "Times New Roman", serif;--ds-text-primary: var(--ds-gray-800);--ds-text-secondary: var(--ds-gray-600);--ds-border-subtle: var(--ds-cream-200);--ds-surface-default: var(--ds-white);--ds-surface-subtle: var(--ds-cream-50);--ds-accent-action: var(--ds-blue-500);--ds-accent-action-hover: var(--ds-blue-600);--ds-destructive-action: var(--ds-red-600);--ds-grey-400: #d2cecd;--ds-surface-inset: var(--ds-cream-100);--ds-surface-raised: var(--ds-white);--ds-surface-inverse: var(--ds-cream-900);--ds-text-muted: var(--ds-cream-600);--ds-text-faint: var(--ds-cream-400);--ds-text-inverse: var(--ds-white);--ds-text-heading: var(--ds-black);--ds-border-strong: var(--ds-cream-300);--ds-accent-pressed: var(--ds-blue-700);--ds-accent-subtle: var(--ds-blue-100);--ds-accent-subtle-hover: var(--ds-blue-200);--ds-accent-text: var(--ds-blue-700);--ds-accent-faint: var(--ds-blue-50);--ds-success: var(--ds-green-500);--ds-success-text: var(--ds-green-700);--ds-success-subtle: var(--ds-green-50);--ds-warning: var(--ds-orange-500);--ds-warning-text: var(--ds-orange-700);--ds-warning-subtle: var(--ds-orange-50);--ds-danger: var(--ds-red-500);--ds-danger-hover: var(--ds-red-600);--ds-danger-text: var(--ds-red-700);--ds-danger-subtle: var(--ds-red-50);--ds-focus-ring: var(--ds-blue-300);--ds-control-border: var(--ds-cream-300);--ds-control-muted: var(--ds-cream-600);--ds-control-hover-bg: var(--ds-cream-100);--ds-space-1: 4px;--ds-space-2: 8px;--ds-space-3: 12px;--ds-space-4: 16px;--ds-space-5: 20px;--ds-space-6: 24px;--ds-space-8: 32px;--ds-space-10: 40px;--ds-space-12: 48px;--ds-space-16: 64px;--ds-radius-sm: 4px;--ds-radius-md: 10px;--ds-radius-lg: 15px;--ds-radius-xl: 30px;--ds-radius-full: 9999px;--ds-shadow-sm: 0 1px 2px rgba(22, 20, 18, .06);--ds-shadow-md: 0 4px 12px rgba(22, 20, 18, .08);--ds-shadow-lg: 0 12px 32px rgba(22, 20, 18, .12);--ds-shadow-overlay: 0 17px 45px rgba(0, 0, 0, .5), 0 0 1px rgba(0, 0, 0, .2);--ds-aura-shadow: 0px -26px 140px 0px rgba(137, 193, 239, .45), 60px 20px 164px 0px rgba(255, 126, 182, .25), 40px 114px 180px 0px rgba(217, 217, 144, .2)}[data-theme=dark]{--ds-text-primary: var(--ds-white);--ds-text-secondary: var(--ds-blue-100);--ds-border-subtle: var(--ds-blue-800);--ds-surface-default: var(--ds-blue-900);--ds-surface-subtle: var(--ds-blue-800);--ds-accent-action: var(--ds-blue-500);--ds-accent-action-hover: var(--ds-blue-400);--ds-destructive-action: var(--ds-red-400);--ds-surface-inset: var(--ds-blue-800);--ds-surface-raised: var(--ds-blue-800);--ds-surface-inverse: var(--ds-white);--ds-text-muted: var(--ds-blue-200);--ds-text-faint: var(--ds-blue-300);--ds-text-inverse: var(--ds-blue-900);--ds-text-heading: var(--ds-white);--ds-border-strong: var(--ds-blue-700);--ds-accent-pressed: var(--ds-blue-300);--ds-accent-subtle: var(--ds-blue-100);--ds-accent-subtle-hover: var(--ds-white);--ds-accent-text: var(--ds-blue-800);--ds-accent-faint: var(--ds-blue-800);--ds-success-text: var(--ds-green-300);--ds-success-subtle: var(--ds-green-900);--ds-warning-text: var(--ds-orange-300);--ds-warning-subtle: var(--ds-orange-900);--ds-danger-text: var(--ds-red-300);--ds-danger-subtle: var(--ds-red-900);--ds-focus-ring: var(--ds-blue-300);--ds-control-border: var(--ds-blue-200);--ds-control-muted: var(--ds-blue-200);--ds-control-hover-bg: var(--ds-blue-700)}.ds-display-lg{color:var(--ds-text-heading);font-family:var(--ds-font-serif);font-weight:400;font-size:52px;line-height:64px;letter-spacing:-.02em}.ds-display-md{color:var(--ds-text-heading);font-family:var(--ds-font-sans);font-weight:500;font-size:45px;line-height:52px;letter-spacing:-.02em}.ds-display-sm{color:var(--ds-text-heading);font-family:var(--ds-font-sans);font-weight:500;font-size:36px;line-height:44px;letter-spacing:-.02em}.ds-headline-lg{color:var(--ds-text-heading);font-family:var(--ds-font-serif);font-weight:400;font-size:32px;line-height:44px;letter-spacing:-.015em}.ds-headline-md{color:var(--ds-text-heading);font-family:var(--ds-font-sans);font-weight:400;font-size:28px;line-height:36px;letter-spacing:-.015em}.ds-headline-sm{color:var(--ds-text-heading);font-family:var(--ds-font-sans);font-weight:500;font-size:24px;line-height:32px;letter-spacing:-.015em}.ds-title-lg{color:var(--ds-text-heading);font-family:var(--ds-font-serif);font-weight:400;font-size:22px;line-height:36px;letter-spacing:-.01em}.ds-title-md{font-family:var(--ds-font-sans);font-weight:500;font-size:18px;line-height:28px;letter-spacing:-.01em}.ds-title-sm{font-family:var(--ds-font-sans);font-weight:500;font-size:15px;line-height:22px;letter-spacing:-.01em}.ds-body-lg{font-family:var(--ds-font-sans);font-weight:400;font-size:17px;line-height:28px;letter-spacing:0}.ds-body-md{font-family:var(--ds-font-sans);font-weight:400;font-size:15px;line-height:24px;letter-spacing:.005em}.ds-body-sm{font-family:var(--ds-font-sans);font-weight:400;font-size:13px;line-height:20px;letter-spacing:0}.ds-label-lg{font-family:var(--ds-font-sans);font-weight:600;font-size:13px;line-height:16px;letter-spacing:.02em;text-transform:uppercase}.ds-label-md{font-family:var(--ds-font-sans);font-weight:600;font-size:11px;line-height:15px;letter-spacing:0}.ds-label-sm{font-family:var(--ds-font-sans);font-weight:500;font-size:11px;line-height:15px;letter-spacing:.01em}.ds-button-lg{font-family:var(--ds-font-sans);font-weight:500;font-size:15px;line-height:22px;letter-spacing:-.01em}.ds-button-md{font-family:var(--ds-font-sans);font-weight:500;font-size:13px;line-height:20px;letter-spacing:-.005em}.ds-button-sm{font-family:var(--ds-font-sans);font-weight:600;font-size:11px;line-height:15px;letter-spacing:0}.ds-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;border:none;border-radius:10px;background:transparent;cursor:pointer;white-space:nowrap;font-family:var(--ds-font-sans);transition:background-color .12s ease,color .12s ease,border-color .12s ease,opacity .12s ease}.ds-button:focus-visible{outline:2px solid var(--ds-focus-ring);outline-offset:2px}.ds-button:disabled{opacity:.4;cursor:not-allowed}.ds-button--loading:disabled{opacity:1;cursor:default}.ds-button__spinner{animation:ds-button-spin .9s linear infinite}@keyframes ds-button-spin{to{transform:rotate(360deg)}}.ds-button--xs{height:24px;padding:0 10px;font-size:11px;font-weight:600;line-height:15px;letter-spacing:0}.ds-button--sm{height:28px;padding:0 12px;font-size:11px;font-weight:600;line-height:15px;letter-spacing:0}.ds-button--md{height:32px;padding:0 14px;font-size:13px;font-weight:500;line-height:20px;letter-spacing:-.005em}.ds-button--lg{height:36px;padding:0 16px;font-size:15px;font-weight:500;line-height:22px;letter-spacing:-.01em}.ds-button--xl{height:40px;padding:0 20px;font-size:15px;font-weight:500;line-height:22px;letter-spacing:-.01em}.ds-button--primary.ds-button--xs{border-radius:7px}.ds-button--primary.ds-button--sm{border-radius:9px}.ds-button--primary.ds-button--lg{border-radius:11px}.ds-button--primary.ds-button--xl{border-radius:12px}.ds-button--primary{background:var(--ds-accent-action);color:var(--ds-white)}.ds-button--primary:hover:not(:disabled){background:var(--ds-accent-action-hover)}.ds-button--primary:active:not(:disabled){background:var(--ds-accent-pressed)}.ds-button--secondary{background:var(--ds-accent-subtle);color:var(--ds-accent-text)}.ds-button--secondary:hover:not(:disabled){background:var(--ds-accent-subtle-hover)}.ds-button--outline{border:1px solid var(--ds-control-border);color:var(--ds-control-muted)}.ds-button--outline:hover:not(:disabled){background:var(--ds-control-hover-bg)}.ds-button--ghost{color:var(--ds-control-muted)}.ds-button--ghost:hover:not(:disabled){background:var(--ds-control-hover-bg)}.ds-button--danger{background:var(--ds-danger);color:var(--ds-white)}.ds-button--danger:hover:not(:disabled){background:var(--ds-danger-hover)}[data-theme=dark] .ds-button--primary:hover:not(:disabled){background:var(--ds-white);color:var(--ds-accent-text)}.ds-badge{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;white-space:nowrap;font-family:var(--ds-font-sans)}.ds-badge--xs{height:16px;padding:0 6px;border-radius:5px;font-weight:500;font-size:11px;line-height:15px;letter-spacing:.01em}.ds-badge--sm{height:20px;padding:0 8px;border-radius:6px;font-weight:600;font-size:11px;line-height:15px;letter-spacing:0}.ds-badge--md{height:24px;padding:0 10px;border-radius:8px;font-weight:600;font-size:13px;line-height:16px;letter-spacing:.02em;text-transform:uppercase}.ds-badge--tint{background:var(--ds-accent-action);color:var(--ds-white)}.ds-badge--success{background:var(--ds-success);color:var(--ds-white)}.ds-badge--warning{background:var(--ds-warning);color:var(--ds-white)}.ds-badge--danger{background:var(--ds-danger);color:var(--ds-white)}.ds-badge--neutral{background:transparent;border:1px solid var(--ds-border-subtle);color:var(--ds-text-muted)}.ds-badge--neutral.ds-badge--xs{padding:0 7px}.ds-badge--neutral.ds-badge--sm,.ds-badge--neutral.ds-badge--md{padding:0 9px}.ds-badge--neutral-bg{background:var(--ds-surface-subtle);color:var(--ds-text-muted)}.ds-badge--neutral-bg.ds-badge--md{padding:0 8px}.ds-textfield{display:flex;flex-direction:column;gap:var(--ds-space-2);font-family:var(--ds-font-sans)}.ds-textfield__label{font-size:13px;line-height:20px;color:var(--ds-text-muted)}.ds-textfield__control{display:flex;align-items:center;gap:var(--ds-space-2);box-sizing:border-box;height:40px;padding:0 13px;background:var(--ds-surface-default);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-md);transition:border-color .12s ease}.ds-textfield__control:focus-within{outline:2px solid var(--ds-focus-ring);outline-offset:2px}.ds-textfield__input{flex:1;min-width:0;margin:0;padding:0;border:none;outline:none;background:transparent;font-family:inherit;font-size:13px;line-height:20px;color:var(--ds-text-primary)}.ds-textfield__input::placeholder{color:var(--ds-text-primary);opacity:.4}.ds-textfield__icon{display:inline-flex;flex:none;align-items:center;color:var(--ds-text-muted)}.ds-textfield__valid-icon{flex:none;color:var(--ds-success)}.ds-textfield__helper{margin:0;font-size:13px;line-height:16px;color:var(--ds-text-muted)}.ds-textfield--sm .ds-textfield__control{height:32px;padding:0 10px;border-radius:var(--ds-radius-sm)}.ds-textfield--sm .ds-textfield__input{font-size:13px;line-height:18px}.ds-textfield--error .ds-textfield__control{border-color:var(--ds-danger)}.ds-textfield--error .ds-textfield__helper{color:var(--ds-danger-text)}.ds-textfield--valid .ds-textfield__control{border-color:var(--ds-success)}.ds-textfield--disabled{opacity:.5}.ds-textfield--disabled .ds-textfield__input{cursor:not-allowed}
