.otp-card{width:100%;max-width:420px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-3)}.otp-card h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2)}.otp-card .subtitle{color:var(--color-muted);font-size:var(--font-size-sm);margin-bottom:var(--space-5)}.otp-input{letter-spacing:.45em;text-align:center;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.otp-card .btn-primary{width:100%;padding:var(--space-4);font-size:var(--font-size-md);margin-top:var(--space-2)}.otp-actions{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle);font-size:var(--font-size-sm)}.otp-actions button.link{background:none;border:none;color:var(--color-link);padding:0;font-size:var(--font-size-sm)}.otp-actions button.link:hover:not(:disabled){text-decoration:underline}.otp-actions button.link:disabled{color:var(--color-muted);cursor:not-allowed}.otp-timer{color:var(--color-muted);font-variant-numeric:tabular-nums}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(15,118,110,.25) 0%,transparent 55%),var(--color-bg)}.login-card{width:100%;max-width:420px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-3)}.login-card h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-1);color:var(--color-cta);letter-spacing:.04em}.login-card .subtitle{color:var(--color-muted);font-size:var(--font-size-sm);margin-bottom:var(--space-5);line-height:var(--line-height-normal)}.login-card .btn-primary{width:100%;padding:var(--space-4);font-size:var(--font-size-md);margin-top:var(--space-2)}.impersonation-banner{background:var(--color-warning-muted);border-bottom:1px solid rgba(249,168,37,.45);color:#fcd34d;padding:var(--space-3) var(--space-5);font-size:var(--font-size-sm);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-3);width:100%}.impersonation-banner strong{color:#fef3c7}.impersonation-badge{background:var(--color-cta);color:var(--color-cta-text);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em}.impersonation-stop{margin-left:auto;background:var(--color-surface);border:1px solid var(--color-cta);color:#fef3c7;padding:var(--space-2) var(--space-3);border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:background var(--transition-fast)}.impersonation-stop:hover{background:var(--color-surface-elevated)}@media (max-width: 640px){.impersonation-stop{margin-left:0;width:100%}}.app-shell{min-height:100vh;background:var(--color-bg);color:var(--color-text);display:flex;flex-direction:column}.app-body{display:flex;flex:1;min-height:0;position:relative}.app-sidebar{position:fixed;top:0;left:0;z-index:var(--z-sidebar);width:var(--sidebar-width);height:100vh;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;transform:translate(-100%);transition:transform var(--transition-base);box-shadow:var(--shadow-3)}.app-sidebar.open{transform:translate(0)}.app-sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-sidebar) - 1);background:#00000080;border:none;cursor:pointer}.app-sidebar-brand{padding:var(--space-5) var(--space-4);border-bottom:1px solid var(--color-border-subtle)}.app-sidebar-brand a{display:flex;flex-direction:column;text-decoration:none;gap:var(--space-1)}.app-sidebar-logo{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-cta);letter-spacing:.04em}.app-sidebar-tagline{font-size:var(--font-size-xs);color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em}.app-sidebar-nav{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-3)}.app-nav-group{margin-bottom:var(--space-5)}.app-nav-group-label{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);padding:0 var(--space-3) var(--space-2)}.app-nav-link{display:block;padding:var(--space-3) var(--space-3);margin-bottom:var(--space-1);border-radius:var(--radius);color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background var(--transition-fast),color var(--transition-fast)}.app-nav-link:hover{background:#4da3ff14;color:var(--color-text);text-decoration:none}.app-nav-link.active{background:#4da3ff1f;color:var(--color-accent-blue)}.app-nav-link--admin.active{color:var(--color-accent-teal-hover);background:#0f766e1f}.app-content{flex:1;min-width:0;display:flex;flex-direction:column;min-height:100vh}.app-topbar{position:sticky;top:0;z-index:var(--z-header);display:flex;align-items:center;gap:var(--space-4);height:var(--header-height);padding:0 var(--space-5);background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-1)}.app-menu-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font-size:1.1rem;cursor:pointer}.app-menu-toggle:hover{border-color:var(--color-accent-blue)}.app-topbar-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-topbar-spacer{flex:1}.app-user-menu{position:relative}.app-user-trigger{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:border-color var(--transition-fast)}.app-user-trigger:hover{border-color:var(--color-accent-blue)}.app-user-avatar{width:28px;height:28px;border-radius:50%;background:var(--color-accent-teal);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.app-user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-user-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:transparent;border:none;cursor:default}.app-user-dropdown{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:21;min-width:220px;padding:var(--space-4);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);display:flex;flex-direction:column;gap:var(--space-4)}.app-user-dropdown-info{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-sm)}.app-user-dropdown-info strong{color:var(--color-text)}.app-user-dropdown-info span{color:var(--color-muted);font-size:var(--font-size-xs)}.app-user-badge{display:inline-block;margin-top:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--color-warning-muted);color:var(--color-warning);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);width:fit-content}.app-main{flex:1;padding:var(--space-5);max-width:var(--content-max-width);width:100%;margin:0 auto}@media (min-width: 1024px){.app-sidebar{position:sticky;top:0;transform:none;box-shadow:none;flex-shrink:0}.app-sidebar-backdrop,.app-menu-toggle{display:none}}@media (max-width: 1023px){.app-user-name{display:none}}.widget-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);height:100%;min-height:200px;display:flex;flex-direction:column;box-shadow:var(--shadow-1);transition:box-shadow var(--transition-base)}.dashboard-grid-item.dragging .widget-card{box-shadow:var(--shadow-3)}.widget-card h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-muted);margin-bottom:var(--space-3);text-transform:capitalize}.widget-metric{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text);font-variant-numeric:tabular-nums}.widget-metric.positive{color:var(--color-success)}.widget-metric.negative{color:var(--color-error)}.widget-chart{flex:1;min-height:160px}.positions-list{list-style:none;font-size:var(--font-size-sm)}.positions-list li{display:flex;justify-content:space-between;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border-subtle)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-4)}.dashboard-grid-item{cursor:grab}.dashboard-grid-item.dragging{opacity:.75}.dashboard-status{font-size:var(--font-size-xs);color:var(--color-muted);margin-bottom:var(--space-4)}.positions-list .positive{color:var(--color-success)}.positions-list .negative{color:var(--color-error)}.stat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-1)}.stat-card-label{font-size:var(--font-size-xs);color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-2);font-weight:var(--font-weight-medium)}.stat-card-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);font-variant-numeric:tabular-nums}.stat-card-hint{font-size:var(--font-size-xs);color:var(--color-success);margin-top:var(--space-1)}.stat-card--skeleton{min-height:72px;background:var(--color-border);opacity:.4;animation:stat-card-pulse 1s ease-in-out infinite alternate}@keyframes stat-card-pulse{0%{opacity:.3}to{opacity:.55}}@media (prefers-reduced-motion: reduce){.stat-card--skeleton{animation:none}}.dashboard-panel{margin-top:0}.dashboard-panel .dashboard-status{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-subtle)}.dashboard-status{font-size:var(--font-size-xs);color:var(--color-muted)}.dashboard-status .live{color:var(--color-success);font-weight:var(--font-weight-medium)}.dashboard-panel .empty-state{padding:var(--space-5) 0}.dashboard-panel .error-banner{margin-bottom:var(--space-4)}.data-table-wrap{width:100%}.data-table-toolbar{margin-bottom:var(--space-3)}.data-table-filter{width:100%;max-width:280px;padding:var(--space-2) var(--space-3);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-sm);transition:border-color var(--transition-fast)}.data-table-filter:focus{outline:none;border-color:var(--color-accent-teal);box-shadow:0 0 0 3px #0f766e33}.data-table-component{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.data-table-component th,.data-table-component td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--color-border)}.data-table-component.dense th,.data-table-component.dense td{padding:var(--space-2) var(--space-3)}.data-table-component th{color:var(--color-muted);font-weight:var(--font-weight-medium);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.03em}.data-table-component th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table-component th.sortable:hover{color:var(--color-text)}.data-table-component.striped tbody tr:nth-child(2n){background:#ffffff05}.data-table-component tbody tr.clickable{cursor:pointer}.data-table-component tbody tr.clickable:hover{background:#4da3ff0f}.sort-indicator{color:var(--color-accent-blue);font-size:var(--font-size-xs)}.data-table-empty{text-align:center;padding:var(--space-6);color:var(--color-muted)}.data-table-skeleton{display:flex;flex-direction:column;gap:var(--space-2)}.data-table-skeleton-row{height:2.5rem;border-radius:var(--radius);background:linear-gradient(90deg,var(--color-border) 25%,rgba(255,255,255,.05) 50%,var(--color-border) 75%);background-size:200% 100%;animation:data-table-shimmer 1.2s infinite}@keyframes data-table-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.data-table-skeleton-row{animation:none}}.dsl-editor{display:flex;flex-direction:column;gap:.5rem}.dsl-editor label{font-size:.875rem;font-weight:500;color:var(--color-muted)}.dsl-editor textarea{width:100%;min-height:200px;font-family:SF Mono,Fira Code,monospace;font-size:.8125rem;padding:.75rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);resize:vertical}.dsl-editor textarea.invalid{border-color:var(--color-error)}.dsl-editor .error-list{list-style:none;font-size:.8125rem;color:#fca5a5}.dsl-editor .valid-hint{font-size:.75rem;color:var(--color-success)}.strategy-form-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:var(--z-overlay)}.strategy-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);width:100%;max-width:640px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-3)}.strategy-form h2{margin-bottom:var(--space-4);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.strategy-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.strategy-form-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-5)}.edgar-holdings-panel{margin:var(--space-4) 0;padding:var(--space-3);background:var(--color-surface-elevated, var(--color-surface));border:1px solid var(--color-border);border-radius:var(--radius-md)}.edgar-holdings-panel h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2)}.holdings-summary-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.holdings-summary-table th,.holdings-summary-table td{padding:var(--space-1) var(--space-2);text-align:left;border-bottom:1px solid var(--color-border)}.leader-context-hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.dynamic-form{display:flex;flex-direction:column;gap:.75rem}.dynamic-form--inline{flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.dynamic-form--inline .dynamic-form-field{flex:1;min-width:140px}.dynamic-form--inline .dynamic-form-actions{margin-top:0}.dynamic-form-field{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem}.dynamic-form-field span{color:var(--color-muted)}.dynamic-form-field input,.dynamic-form-field select,.dynamic-form-field textarea{padding:.5rem;border-radius:4px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-family:inherit}.dynamic-form-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.875rem;cursor:pointer}.dynamic-form-section{border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;margin:0}.dynamic-form-section legend{font-weight:600;padding:0 .25rem}.dynamic-form-section-desc{font-size:.8125rem;color:var(--color-muted);margin-bottom:.75rem}.dynamic-form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.25rem}.dynamic-form-cancel{background:transparent;border:1px solid var(--color-border);color:var(--color-text);padding:.5rem 1rem;border-radius:var(--radius)}.dynamic-form-error{color:var(--color-error);font-size:.875rem}.dynamic-form--loading{gap:.5rem}.dynamic-form-skeleton{height:2.25rem;border-radius:var(--radius);background:var(--color-border);opacity:.5;animation:dynamic-form-pulse 1s ease-in-out infinite alternate}@keyframes dynamic-form-pulse{0%{opacity:.35}to{opacity:.65}}.llm-quota{min-width:200px}.llm-quota__label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.llm-quota__track{background:var(--color-border);border-radius:var(--radius-sm);height:8px;overflow:hidden}.llm-quota__fill{height:100%;transition:width var(--transition-base);border-radius:var(--radius-sm)}.llm-quota__fill--ok{background:var(--color-success)}.llm-quota__fill--warn{background:var(--color-warning)}.llm-quota__fill--danger{background:var(--color-error)}.portfolio-section{margin-top:var(--space-5)}.portfolio-section__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4);color:var(--color-text)}.portfolio-table-wrap{margin-bottom:var(--space-5)}.portfolio-detail-card{margin-top:var(--space-5)}.impersonate-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);padding:var(--space-4)}.impersonate-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);max-width:420px;width:100%;box-shadow:var(--shadow-3)}.impersonate-modal h2{margin-bottom:var(--space-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.impersonate-modal .subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-3)}.impersonate-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-4);font-size:var(--font-size-sm)}.impersonate-submit{width:100%}.leaders-row-actions{display:flex;flex-wrap:wrap;gap:var(--space-1)}.holdings-meta{margin-bottom:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm)}.holdings-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.holdings-table th,.holdings-table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--color-border)}.holdings-table thead th{position:sticky;top:0;background:var(--color-surface);z-index:1}.leaders-dsl-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-4)}:root{--color-bg: #0f1419;--color-surface: #1a2332;--color-surface-elevated: #212d3d;--color-border: #2a3441;--color-border-subtle: #1e2836;--color-text: #e7ecf3;--color-text-secondary: #b8c5d6;--color-muted: #8b9cb3;--color-cta: #f9a825;--color-cta-hover: #ffb300;--color-cta-text: #1a1200;--color-accent-teal: #0f766e;--color-accent-teal-hover: #0d9488;--color-accent-blue: #4da3ff;--color-link: #4da3ff;--color-success: #2e7d5b;--color-success-muted: rgba(46, 125, 91, .18);--color-error: #ef4444;--color-error-muted: rgba(239, 68, 68, .15);--color-warning: #f9a825;--color-warning-muted: rgba(249, 168, 37, .18);--color-primary: var(--color-cta);--color-primary-hover: var(--color-cta-hover);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 40px;--space-8: 48px;--radius-sm: 4px;--radius: 8px;--radius-md: 8px;--radius-lg: 12px;--shadow-1: 0 1px 3px rgba(0, 0, 0, .35), 0 1px 2px rgba(0, 0, 0, .25);--shadow-2: 0 4px 6px rgba(0, 0, 0, .35), 0 2px 4px rgba(0, 0, 0, .2);--shadow-3: 0 10px 15px rgba(0, 0, 0, .45), 0 4px 6px rgba(0, 0, 0, .25);--font: "Inter", system-ui, -apple-system, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--sidebar-width: 240px;--header-height: 56px;--content-max-width: 1280px;--transition-fast: .15s ease-out;--transition-base: .2s ease-out;--z-sidebar: 40;--z-header: 30;--z-overlay: 100}@media (prefers-reduced-motion: reduce){:root{--transition-fast: 0ms;--transition-base: 0ms}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font);font-size:var(--font-size-md);line-height:var(--line-height-normal);background:var(--color-bg);color:var(--color-text);min-height:100vh}button,input,select,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer}a{color:var(--color-link);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:-.02em}h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}:focus-visible{outline:2px solid var(--color-accent-blue);outline-offset:2px}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--space-2);color:var(--color-text-secondary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:var(--font-size-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent-teal);box-shadow:0 0 0 3px #0f766e40}.form-group input:disabled,.form-group select:disabled{opacity:.6;cursor:not-allowed}.error-banner{background:var(--color-error-muted);border:1px solid var(--color-error);color:#fca5a5;padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.lock-banner{background:var(--color-warning-muted);border:1px solid var(--color-warning);color:#fcd34d;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.empty-state{text-align:center;padding:var(--space-6);color:var(--color-muted)}.page-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;margin-bottom:var(--space-4)}.status-badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.status-badge.active{background:var(--color-success-muted);color:var(--color-success)}.status-badge.inactive{background:#8b9cb326;color:var(--color-muted)}.status-badge.blocked{background:var(--color-warning-muted);color:var(--color-warning)}.row-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.row-actions .ui-btn{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);min-height:auto}.row-actions a{font-size:var(--font-size-xs);color:var(--color-link);text-decoration:none;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.row-actions a:hover{border-color:var(--color-accent-blue);text-decoration:none}.rationale{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.back-link{display:inline-block;margin-bottom:var(--space-1);font-size:var(--font-size-sm);color:var(--color-link);text-decoration:none}.back-link:hover{text-decoration:underline}.filters-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.filters-row select,.filters-row input[type=text],.filters-row input[type=date]{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);padding:var(--space-2) var(--space-3);border-radius:var(--radius);font-size:var(--font-size-sm)}.filters-row select:focus,.filters-row input:focus{outline:none;border-color:var(--color-accent-teal);box-shadow:0 0 0 3px #0f766e40}.page-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2)}.page-tabs .ui-btn--ghost.active,.page-tabs .ui-btn--secondary.active{background:var(--color-surface-elevated);border-color:var(--color-cta);color:var(--color-cta)}.success-banner{background:var(--color-success-muted);border:1px solid var(--color-success);color:#6ee7b7;padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.page-section{margin-bottom:var(--space-5)}.page-section__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-3);color:var(--color-text)}.page-section__desc{font-size:var(--font-size-sm);color:var(--color-muted);margin-bottom:var(--space-4)}.watchlists-layout{display:flex;gap:var(--space-5);flex-wrap:wrap}.watchlists-sidebar{min-width:200px;flex:0 0 200px}.watchlists-sidebar__list{list-style:none;padding:0;margin:0}.watchlists-sidebar__item{margin-bottom:var(--space-1)}.watchlists-sidebar__btn{width:100%;text-align:left;padding:var(--space-2) var(--space-3);background:transparent;border:1px solid transparent;border-radius:var(--radius);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm);transition:background var(--transition-fast),border-color var(--transition-fast)}.watchlists-sidebar__btn:hover{background:var(--color-surface-elevated)}.watchlists-sidebar__btn.active{font-weight:var(--font-weight-semibold);color:var(--color-cta);background:var(--color-warning-muted);border-color:var(--color-border)}.watchlists-main{flex:1;min-width:280px}.ticker-autocomplete{position:relative;margin-bottom:var(--space-3)}.ticker-autocomplete label{display:block;margin-bottom:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.ticker-suggestions{position:absolute;z-index:20;list-style:none;margin:0;padding:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);max-height:200px;overflow-y:auto;width:100%;box-shadow:var(--shadow-2)}.ticker-suggestions button{display:block;width:100%;text-align:left;padding:var(--space-2) var(--space-3);background:none;border:none;color:inherit;cursor:pointer}.ticker-suggestions button:hover{background:#0f766e26}.admin-hint{color:var(--color-muted);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.admin-cell-muted{color:var(--color-muted);font-size:var(--font-size-xs)}.admin-cell-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--font-size-xs);color:var(--color-muted);word-break:break-all}.admin-prompt-preview{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);font-size:var(--font-size-sm);white-space:pre-wrap;color:var(--color-muted);max-height:10rem;overflow:auto;margin-bottom:var(--space-4)}.admin-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5)}.admin-tab{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-muted);padding:var(--space-2) var(--space-4);border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.admin-tab:hover{color:var(--color-text);border-color:var(--color-cta)}.admin-tab.active{background:var(--color-cta);border-color:var(--color-cta);color:var(--color-cta-text)}.admin-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.admin-stat-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4)}.admin-stat-card .label{font-size:var(--font-size-xs);color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-1)}.admin-stat-card .value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.admin-error-banner{background:var(--color-error-muted);border:1px solid var(--color-error);color:#fca5a5;padding:var(--space-3) var(--space-4);border-radius:var(--radius);margin-bottom:var(--space-4);font-size:var(--font-size-sm)}.admin-empty{text-align:center;padding:var(--space-6) var(--space-4);color:var(--color-muted);font-size:var(--font-size-sm)}.admin-limit-input{width:7rem;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-sm)}.admin-actions-row{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.severity-badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase}.severity-badge.critical,.severity-badge.error{background:var(--color-error-muted);color:var(--color-error)}.severity-badge.warning{background:var(--color-warning-muted);color:var(--color-warning)}.severity-badge.info{background:var(--color-success-muted);color:var(--color-success)}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1;border:1px solid transparent;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast)}.ui-btn:disabled{opacity:.55;cursor:not-allowed}.ui-btn--primary{background:var(--color-cta);color:var(--color-cta-text);border-color:var(--color-cta)}.ui-btn--primary:hover:not(:disabled){background:var(--color-cta-hover);border-color:var(--color-cta-hover)}.ui-btn--secondary{background:transparent;color:var(--color-text);border-color:var(--color-border)}.ui-btn--secondary:hover:not(:disabled){border-color:var(--color-accent-teal);color:var(--color-accent-teal-hover)}.ui-btn--ghost{background:transparent;color:var(--color-link);border-color:transparent;padding-inline:var(--space-2)}.ui-btn--ghost:hover:not(:disabled){color:var(--color-accent-blue);text-decoration:underline}.ui-btn--danger{background:transparent;color:var(--color-error);border-color:var(--color-error)}.ui-btn--danger:hover:not(:disabled){background:var(--color-error-muted)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1;border:1px solid var(--color-cta);background:var(--color-cta);color:var(--color-cta-text);transition:background var(--transition-fast),border-color var(--transition-fast);cursor:pointer}.btn-primary:hover:not(:disabled){background:var(--color-cta-hover);border-color:var(--color-cta-hover)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.ui-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.ui-card--elevated{box-shadow:var(--shadow-1)}.ui-card--sm{padding:var(--space-3)}.ui-card--md{padding:var(--space-5)}.ui-card--lg{padding:var(--space-6)}.page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.page-header__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0}.page-header__desc{font-size:var(--font-size-sm);color:var(--color-muted);margin-top:var(--space-1);max-width:56ch}.page-header__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);padding:var(--space-4)}.modal{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-5);border-radius:var(--radius-lg);min-width:320px;max-width:520px;max-height:calc(100vh - 2 * var(--space-4));width:100%;display:flex;flex-direction:column;gap:var(--space-4);box-shadow:var(--shadow-3);overflow-y:auto}.modal--holdings{max-width:720px;overflow:hidden}.modal--holdings .holdings-table-scroll{flex:1;min-height:0;overflow-y:auto;max-height:min(65vh,calc(100vh - 14rem));border:1px solid var(--color-border);border-radius:var(--radius)}.modal h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.modal label{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.modal input,.modal select,.modal textarea{padding:var(--space-3);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-family:inherit}.modal input:focus,.modal select:focus,.modal textarea:focus{outline:none;border-color:var(--color-accent-teal);box-shadow:0 0 0 3px #0f766e40}.modal-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-2)}.api-key-form-hint{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.error{color:var(--color-error);font-size:var(--font-size-sm)}.confirm-modal{min-width:320px;max-width:420px}.confirm-modal__message{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.pagination-bar{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-top:var(--space-4);font-size:var(--font-size-sm)}.pagination-bar__info{color:var(--color-muted)}.model-autocomplete{position:relative;display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.model-autocomplete label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.model-autocomplete input{width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text)}.model-autocomplete input:focus{outline:none;border-color:var(--color-accent-teal);box-shadow:0 0 0 3px #0f766e40}.model-suggestions{position:absolute;top:100%;left:0;right:0;z-index:20;margin:var(--space-1) 0 0;padding:0;list-style:none;max-height:280px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-elevated);box-shadow:var(--shadow-2)}.model-suggestions li button{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:var(--space-2) var(--space-3);border:none;background:transparent;color:inherit;text-align:left;cursor:pointer}.model-suggestions li button:hover,.model-suggestions li button:focus-visible{background:#0f766e26}.model-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.model-meta{font-size:var(--font-size-xs);color:var(--color-muted)}
