:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text, #0b1f3a);background:var(--page-bg, #f6f8fb);font-synthesis:none;text-rendering:optimizeLegibility;--navy-950: #031a3a;--navy-900: #062b5c;--navy-800: #0a376b;--navy-700: #114b83;--gold-600: #b77912;--gold-500: #d99b22;--gold-300: #f0c76a;--surface: #ffffff;--surface-soft: #f8fafc;--border: #dce4ef;--text: #0b1f3a;--muted: #64748b;--shadow: 0 18px 50px rgb(6 43 92 / 10%)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--page-bg, #f6f8fb);color:var(--text, #0b1f3a)}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.auth-page{min-height:100vh;display:grid;grid-template-rows:76px 1fr 54px;background:var(--auth-page-bg, linear-gradient(180deg, #f9fbfe 0%, #f4f7fb 100%))}.auth-header{background:linear-gradient(110deg,var(--navy-950),var(--navy-900));color:#fff;display:flex;align-items:center;justify-content:space-between;padding:10px clamp(22px,4vw,56px);box-shadow:0 8px 24px #031a3a2e;z-index:3}.auth-header-logo{width:210px;height:58px;object-fit:contain;object-position:left center;background:#fff;border-radius:10px;padding:3px 8px}.auth-header-note{color:#dce7f7;font-size:13px;letter-spacing:.05em;text-transform:uppercase}.auth-main{min-height:0;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)}.auth-hero{position:relative;overflow:hidden;padding:clamp(38px,5vw,72px);display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #e1e8f1;background:linear-gradient(145deg,#fff,#f8fbff 58%,#eef5ff)}.auth-hero>*:not(.market-pattern){position:relative;z-index:1}.market-pattern{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.62;background-image:linear-gradient(to top right,transparent 0 44%,rgb(17 75 131 / 6%) 44% 45%,transparent 45% 100%),repeating-linear-gradient(90deg,transparent 0 52px,rgb(17 75 131 / 5%) 52px 54px)}.market-pattern:after{content:"";position:absolute;left:-5%;right:-5%;bottom:5%;height:38%;opacity:.7;background:linear-gradient(90deg,rgb(17 75 131 / 7%) 0 4%,transparent 4% 7%,rgb(17 75 131 / 11%) 7% 10%,transparent 10% 14%,rgb(17 75 131 / 7%) 14% 18%,transparent 18% 22%,rgb(17 75 131 / 12%) 22% 25%,transparent 25% 30%,rgb(17 75 131 / 8%) 30% 34%,transparent 34% 39%,rgb(17 75 131 / 11%) 39% 42%,transparent 42% 48%,rgb(17 75 131 / 8%) 48% 52%,transparent 52% 58%,rgb(17 75 131 / 12%) 58% 62%,transparent 62% 68%,rgb(17 75 131 / 9%) 68% 72%,transparent 72% 77%,rgb(17 75 131 / 12%) 77% 81%,transparent 81% 87%,rgb(17 75 131 / 8%) 87% 91%,transparent 91%);clip-path:polygon(0 72%,5% 68%,10% 75%,16% 60%,22% 65%,28% 53%,35% 58%,41% 42%,48% 48%,54% 36%,60% 42%,66% 29%,72% 34%,78% 21%,85% 27%,91% 13%,100% 5%,100% 100%,0 100%)}.auth-hero-logo{width:min(470px,82%);max-height:240px;object-fit:contain;margin-bottom:18px}.auth-hero-copy{max-width:700px;text-align:center}.auth-hero-copy h1{margin:0 0 18px;font-size:clamp(34px,4vw,52px);line-height:1.08;color:var(--navy-950);letter-spacing:-.03em}.auth-hero-copy h1 span{color:var(--gold-600)}.auth-hero-copy>p:last-child{color:#475569;font-size:17px;line-height:1.7;max-width:620px;margin:0 auto}.auth-feature-grid{width:min(780px,100%);display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}.auth-feature-grid article{text-align:center;padding:18px 12px;border-radius:16px;background:#ffffffb3;border:1px solid rgb(220 228 239 / 85%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-feature-grid strong{display:block;color:var(--navy-950);margin:8px 0 6px}.auth-feature-grid p{margin:0;color:#64748b;font-size:13px;line-height:1.5}.feature-icon{width:44px;height:44px;display:inline-grid;place-items:center;border-radius:12px;background:#eef4ff;color:var(--navy-800);font-size:21px;font-weight:800;border:1px solid #d8e6f8}.auth-feature-grid article:nth-child(2) .feature-icon{background:#fff8e8;color:var(--gold-600);border-color:#f2dfb3}.auth-feature-grid article:nth-child(3) .feature-icon{background:#edf9f0;color:#277743;border-color:#d4ecd9}.auth-panel{display:grid;place-items:center;padding:clamp(28px,5vw,72px);background:#ffffffbd}.auth-card{width:min(560px,100%);background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);padding:clamp(28px,4vw,46px);display:grid;gap:20px}.auth-card-signup{gap:16px}.auth-card-heading{text-align:center;margin-bottom:4px}.auth-card-heading h2{font-size:clamp(28px,3vw,36px);margin:0 0 8px;color:var(--navy-950)}.auth-card label{font-size:14px;color:var(--navy-950)}.auth-card input{min-height:54px;border-radius:10px;padding:13px 14px;border:1px solid #cfd9e7}.auth-card input:focus{outline:3px solid rgb(17 75 131 / 12%);border-color:var(--navy-700)}.auth-submit{width:100%;min-height:54px;margin-top:2px}.auth-switch{text-align:center;margin:2px 0 0}.auth-switch a{color:#075fc7;font-weight:700;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-footer{display:flex;align-items:center;justify-content:center;gap:24px;border-top:1px solid #e4e9f1;background:#fff;color:#64748b;font-size:12px}.field-hint{font-size:12px;color:var(--muted);font-weight:500}.inline-success{border-radius:9px;background:#ecfdf3;color:#166534;border:1px solid #bbf7d0;padding:11px 13px}.app-layout{display:grid;grid-template-columns:268px 1fr;min-height:100vh;background:var(--page-bg, #f6f8fb)}.sidebar{background:linear-gradient(180deg,#031a3a,#041f45 62%,#082c59);color:#e2e8f0;padding:22px 16px;box-shadow:6px 0 24px #031a3a1a}.sidebar-brand{background:#fff;border-radius:14px;padding:8px 10px;margin:0 2px 26px;box-shadow:0 8px 24px #0000001f}.sidebar-brand img{width:100%;height:90px;object-fit:contain}nav{display:grid;gap:6px}.nav-link{text-decoration:none;color:#cbd9ec;padding:11px 13px;border-radius:9px;font-size:14px;font-weight:600;border:1px solid transparent}.nav-link:hover{background:#ffffff14;color:#fff}.nav-link.active{background:linear-gradient(90deg,#d99b2238,#ffffff14);color:#fff;border-color:#f0c76a33;box-shadow:inset 3px 0 0 var(--gold-500)}.app-main{min-width:0}.topbar{min-height:74px;background:var(--topbar-bg, #fff);border-bottom:1px solid var(--border, #e2e8f0);display:flex;align-items:center;justify-content:space-between;padding:12px 30px;position:sticky;top:0;z-index:5;box-shadow:0 3px 16px #062b5c0a}.topbar-kicker{margin:0 0 2px;color:var(--gold-600);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.topbar-title{color:var(--heading, var(--navy-950));font-size:15px}.global-security-search{position:relative;width:min(460px,38vw)}.global-security-search input{height:44px;padding-left:39px;border-radius:999px;background:#f8fafc}.global-search-icon{position:absolute;z-index:1;left:15px;top:9px;color:var(--navy-700);font-size:22px;line-height:1}.global-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:30;max-height:390px;overflow-y:auto;border:1px solid #cbd5e1;border-radius:12px;background:#fff;box-shadow:0 20px 50px #031a3a33}.global-search-results p{margin:0;padding:16px;color:var(--muted);font-size:13px}.global-search-results .global-search-error{color:#b91c1c}.global-search-results button{width:100%;display:grid;grid-template-columns:76px 1fr;gap:3px 12px;padding:12px 14px;border:0;border-bottom:1px solid #e2e8f0;background:#fff;color:var(--navy-950);text-align:left}.global-search-results button:last-child{border-bottom:0}.global-search-results button:hover,.global-search-results button:focus{background:#f1f6fc;outline:none}.global-search-results button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-search-results button small{grid-column:2;color:var(--muted)}.user-menu{display:flex;align-items:center;gap:10px}.role-badge,.status-pill{font-size:12px;font-weight:700;border-radius:999px;padding:5px 9px;background:#eef4ff;color:var(--navy-800)}.content{padding:32px;max-width:1440px;margin:0 auto}.page-heading,.card-heading,.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}h1,h2,p{margin-top:0}h1{font-size:30px;margin-bottom:8px;color:var(--heading, var(--navy-950))}h2{font-size:20px;margin-bottom:6px;color:var(--heading, var(--navy-950))}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:800;color:var(--gold-600);margin-bottom:7px}.muted{color:var(--muted)}.mono{font-family:SFMono-Regular,Consolas,monospace;font-size:12px;word-break:break-all}.card,.metric-card{background:var(--surface, #fff);border:1px solid var(--border);border-radius:15px;box-shadow:0 6px 24px #062b5c0d}.primary-button,.primary-link{border:0;border-radius:9px;background:linear-gradient(110deg,var(--navy-900),var(--navy-800));color:#fff;padding:11px 17px;text-decoration:none;font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 16px #062b5c26}.primary-button:hover,.primary-link:hover{background:linear-gradient(110deg,#041f45,#0b447d)}.primary-button:disabled{opacity:.55;cursor:wait}.link-button{background:transparent;border:0;color:var(--link-text, var(--navy-700));padding:6px;font-weight:700}.table-symbol-link{color:var(--link-text, var(--navy-800));text-decoration:none;font-weight:inherit}.table-symbol-link:hover{color:var(--link-text-hover, var(--navy-950));text-decoration:underline;text-underline-offset:3px}.table-symbol-link strong{font-weight:700}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.portfolio-card{padding:21px;border-top:3px solid var(--gold-500)}.portfolio-card-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.portfolio-card-header h2{margin:2px 0 0}.portfolio-description{margin:8px 0 0}.portfolio-meta{display:grid;gap:8px;margin:14px 0}.portfolio-meta div{display:grid;gap:2px}.portfolio-meta dt{font-size:12px;color:#64748b}.portfolio-meta dd{margin:0;text-transform:capitalize}.portfolio-card-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}.portfolio-insights{margin:0 0 16px;padding:14px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}.portfolio-insights-loading{margin:0 0 16px;font-size:13px}.portfolio-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px;align-items:start}.portfolio-insight-grid>div{min-width:0}.portfolio-insight-grid span{display:block;font-size:12px;color:#64748b}.portfolio-insight-grid strong{display:block;margin-top:4px;font-size:14px;line-height:1.35;color:var(--navy-950);overflow-wrap:anywhere}.portfolio-insight-grid strong.market-change-positive{color:#15803d}.portfolio-insight-grid strong.market-change-negative{color:#b91c1c}.portfolio-insight-health{display:flex;align-items:flex-end;min-height:100%}.insight-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#eef4fb;color:var(--navy-800);font-size:12px;font-weight:700}.insight-chip-health{background:#ecfdf3;color:#067647}@media(max-width:420px){.portfolio-insight-grid{grid-template-columns:1fr 1fr}.portfolio-insight-health{grid-column:1 / -1}}.dashboard-page{display:grid;gap:22px}.dashboard-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-chart-card{padding:20px}.dashboard-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dashboard-panel{padding:18px}.dashboard-panel h2{margin:0 0 12px;font-size:18px;color:var(--navy-950)}.dashboard-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.dashboard-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center}.dashboard-list a{color:var(--navy-800);font-weight:700;text-decoration:none}.dashboard-list a:hover{text-decoration:underline}.dashboard-quality{list-style:none;margin:0;padding:0;display:grid;gap:10px}.dashboard-quality li{display:flex;justify-content:space-between;gap:12px}@media(max-width:900px){.dashboard-metric-grid,.dashboard-panels{grid-template-columns:1fr}.dashboard-list li{grid-template-columns:minmax(0,1fr) auto}}.danger-link{border:0;background:transparent;color:#b42318;padding:8px;font-weight:700}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px;background:#031a3a94}.confirmation-modal{width:min(480px,100%);padding:26px;box-shadow:0 24px 70px #031a3a47}.confirmation-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.secondary-button,.danger-button{border-radius:9px;padding:10px 16px;font-weight:700}.secondary-button{border:1px solid #cbd5e1;background:#fff;color:var(--navy-900)}.danger-button{border:1px solid #b42318;background:#b42318;color:#fff}.secondary-button:disabled,.danger-button:disabled{opacity:.55;cursor:wait}.create-portfolio-form{padding:22px;margin-bottom:24px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.full-width{grid-column:1 / -1}label{display:grid;gap:7px;font-size:13px;font-weight:700}input,select,textarea{width:100%;border:1px solid var(--input-border, #cbd5e1);border-radius:9px;padding:10px 12px;background:var(--input-bg, #fff);color:var(--input-text, #0f172a)}input:focus,select:focus,textarea:focus{outline:3px solid var(--focus-ring, rgb(17 75 131 / 10%));border-color:var(--navy-700)}.form-actions{display:flex;justify-content:flex-end;margin-top:18px}.selected-position-security{display:flex;align-items:baseline;gap:10px}.selected-position-security span,.selected-position-security small{color:var(--muted)}.position-security-picker{position:relative}.position-security-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.position-security-search-row .secondary-button{align-self:stretch}.inline-error{border-radius:8px;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;padding:10px 12px;margin-top:4px}.page-state{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;color:var(--muted)}.page-state-error{color:#991b1b}.spinner{width:28px;height:28px;border:3px solid #cbd5e1;border-top-color:var(--gold-500);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:12px}@keyframes spin{to{transform:rotate(360deg)}}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.metric-card{padding:18px;border-top:3px solid #dbe6f3}.metric-card span,.metric-card small{display:block;color:#64748b}.metric-card strong{display:block;font-size:23px;margin:8px 0;color:var(--navy-950)}.metric-card .metric-link{color:var(--navy-800);text-decoration:underline;text-underline-offset:3px}.metric-card .metric-link:hover{color:var(--navy-950)}.analytics-dashboard{display:grid;gap:28px}.analytics-dashboard h3{margin:0 0 12px;color:var(--navy-950)}.allocation-chart{display:grid;gap:18px;grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:center;margin-bottom:18px}.allocation-legend{list-style:none;margin:0;padding:0;display:grid;gap:10px}.allocation-legend li{display:grid;grid-template-columns:14px 1fr auto;gap:10px;align-items:center}.allocation-swatch{width:14px;height:14px;border-radius:4px}.table-toolbar{display:flex;justify-content:flex-end;padding:0 0 14px}.table-toolbar select{margin-left:8px}.table-sort-button{background:none;border:0;padding:0;color:inherit;font:inherit;font-weight:600}.data-table td.market-change-positive{color:#15803d}.data-table td.market-change-negative{color:#b91c1c}.data-table td.market-change-neutral{color:var(--muted)}@media(max-width:900px){.allocation-chart{grid-template-columns:1fr}}.section-heading-inline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-heading-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.section-heading-inline h3,.section-heading-inline h4{margin:0}.section-actions{display:flex;justify-content:flex-end;margin-top:12px}.allocation-bar-chart{display:grid;gap:10px;margin:16px 0}.allocation-bar-row{display:grid;grid-template-columns:minmax(100px,160px) 1fr auto;gap:12px;align-items:center}.allocation-bar-label{color:var(--muted);font-size:14px}.allocation-bar-track{height:12px;background:#eef2f7;border-radius:999px;overflow:hidden}.allocation-bar-fill{height:100%;border-radius:999px}.allocation-treemap svg{width:100%;height:auto;border-radius:14px}.treemap-label{fill:#fff;font-size:12px;font-weight:600}.scatter-point-positive{fill:#277743;opacity:.85}.scatter-point-negative{fill:#b91c1c;opacity:.85}.chart-zoom-brush{fill:#114b8326;stroke:#114b83;stroke-width:1;pointer-events:none}.row-highlight{background:#fff8e8}.performance-chart-panel{display:grid;gap:14px}.chart-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.chart-toolbar-group{display:inline-flex;gap:6px;flex-wrap:wrap}.chart-range-button{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:8px;padding:6px 10px;font-size:13px}.chart-range-button.active{background:var(--navy-900);color:#fff;border-color:var(--navy-900)}.benchmark-line{fill:none;stroke:#d99b22;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:8 6}.chart-bar-positive{fill:#15803d;opacity:.85}.chart-bar-negative{fill:#b91c1c;opacity:.85}.chart-axis-line{stroke:#cbd5e1;stroke-width:1}.table-toolbar input[type=search]{margin-left:8px;min-width:180px}.benchmark-picker{display:inline-flex;align-items:center;gap:8px;color:#475569;font-size:14px}.benchmark-picker select{min-width:140px}.metric-info{color:#64748b;font-size:12px}.notice{padding:12px 14px;background:#fff8e8;border:1px solid #f1d99f;color:#8a5a08;border-radius:10px;margin-bottom:24px}.breadcrumb{color:#64748b;font-size:13px;margin-bottom:14px}.workspace-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.portfolio-valuation-card{margin:0 0 24px;padding:20px}.workspace-link{padding:18px;text-decoration:none;display:grid;gap:8px}.workspace-link span{color:#64748b}.security-detail-card{padding:22px}.security-detail-grid strong{font-size:18px;text-transform:capitalize}.market-snapshot-card{padding:22px;margin-bottom:22px;border-top:4px solid var(--gold-500)}.market-snapshot-primary{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px;margin:18px 0}.market-snapshot-primary>div,.market-snapshot-stats>div{padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft)}.market-snapshot-primary span,.market-snapshot-stats span,.market-snapshot-stats small{display:block;color:var(--muted);font-size:12px}.market-snapshot-primary strong{display:block;margin-top:7px;font-size:21px}.market-snapshot-primary>div:first-child strong{font-size:31px;color:var(--navy-950)}.market-snapshot-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.market-snapshot-stats strong{display:block;margin-top:6px;font-size:16px}.market-snapshot-stats small{margin-top:4px}.market-change-positive strong{color:#15803d}.market-change-negative strong{color:#b91c1c}.market-change-neutral strong{color:var(--navy-950)}.market-snapshot-updated{margin:12px 0 0;color:var(--muted);font-size:12px;text-align:right}.market-snapshot-empty{display:grid;gap:5px;margin-top:16px;padding:18px;border:1px dashed var(--border);border-radius:10px;color:var(--muted)}.market-snapshot-empty strong{color:var(--navy-950)}.security-history-card{padding:22px;margin-bottom:22px}.security-history-heading,.security-history-card .market-range-presets,.security-history-card .market-view-tabs{margin-bottom:14px}.market-observation-count{color:var(--muted);font-size:13px}.status-insufficient{background:#fff7e6;color:#8a5a08;border:1px solid #f1d99f}.intelligence-notice{line-height:1.55}.intelligence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.intelligence-card{min-height:205px;padding:21px;border-top:3px solid #dbe6f3}.intelligence-card h2{margin-top:14px}.intelligence-card small{display:block;margin-top:18px;color:#8a5a08;font-weight:700}.intelligence-placeholder{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#eef4ff;color:var(--navy-700);font-size:22px;font-weight:800}.intelligence-provider{min-width:190px}.intelligence-summary{display:flex;align-items:center;gap:12px;margin-bottom:16px;color:var(--muted);font-size:13px}.intelligence-primary{display:block;margin:12px 0 18px;color:var(--navy-950);font-size:24px}.intelligence-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.intelligence-metrics div{padding:10px;border:1px solid var(--border);border-radius:9px;background:var(--surface-soft)}.intelligence-metrics dt{color:var(--muted);font-size:12px}.intelligence-metrics dd{margin:5px 0 0;font-weight:800}.intelligence-card details{margin-top:16px;color:var(--muted);font-size:12px}.intelligence-table-card{margin-top:18px;padding:20px}.regime-grid{margin-bottom:18px}.regime-card{padding:20px;border-left:5px solid #94a3b8}.regime-card>strong{font-size:25px}.regime-bullish{border-left-color:#22a447;background:#f3fff6}.regime-bearish{border-left-color:#c53b32;background:#fff6f5}.breadth-trend{height:180px;display:flex;align-items:end;gap:3px;padding:12px;margin-bottom:16px;border:1px solid var(--border);background:var(--surface-soft)}.breadth-trend>div{flex:1;height:100%;display:flex;align-items:end}.breadth-trend span{width:100%;min-height:2px;background:var(--navy-700);border-radius:3px 3px 0 0}.watchlist-card{padding:18px}.watchlist-table{width:100%;border-collapse:collapse}.watchlist-table th,.watchlist-table td{padding:12px;border:1px solid #d8e0eb;text-align:left;vertical-align:middle}.watchlist-table th{background:#f1f5f9;color:#334155;font-size:12px;letter-spacing:.04em}.watchlist-table td:first-child small{display:block;margin-top:4px;color:var(--muted)}.watchlist-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}.signal-picker{min-width:320px}.signal-definition-card{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;padding:22px;margin-bottom:18px;border-top:3px solid var(--gold-500)}.signal-definition-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.signal-definition-card dl div{padding:10px;border:1px solid var(--border);border-radius:9px;background:var(--surface-soft)}.signal-definition-card dt{color:var(--muted);font-size:11px}.signal-definition-card dd{margin:5px 0 0;font-weight:700}.signal-direction-bullish{background:#e8f8ec;border-color:#9fdfad;color:#166534;cursor:help}.signal-direction-bearish{background:#fff0f0;border-color:#efb1b1;color:#b42318;cursor:help}.signal-direction-neutral{background:#eef2f8;border-color:#c8d2e2;color:#40516f;cursor:help}.signal-observation-card td strong,.signal-observation-card td small{display:block}.signal-observation-card td small{margin-top:3px;color:var(--muted)}.signal-observation-table{min-width:1260px}.column-filter-row th{padding:8px;background:#fff}.column-filter-row input,.column-filter-row select{width:100%;min-width:92px;padding:8px;font-size:12px}.column-filter-row th:first-child input{min-width:220px}.score-filter{display:flex;gap:6px}.score-filter input{min-width:70px}.security-research-card{padding:20px;margin-bottom:18px}.security-research-card h3{margin:18px 0 10px}.security-research-card td strong,.security-research-card td small{display:block}.indicator-value{display:inline-block;min-width:92px;margin:2px 12px 2px 0}.consensus-metrics{margin-bottom:18px}.consensus-filters{display:grid;grid-template-columns:minmax(220px,320px) minmax(280px,1fr);gap:16px;padding:18px;margin-bottom:18px}.consensus-table-card{padding:0;overflow:hidden}.consensus-table-card td strong,.consensus-table-card td small{display:block}.consensus-table-card td small{margin-top:3px;color:var(--muted)}.signal-bucket-card,.signal-observation-card{padding:20px;margin-bottom:18px}.signal-observation-card .section-heading label{min-width:210px}.signal-quality-available{background:#eaf9ee;color:#176534;border:1px solid #a7e2b4}.signal-quality-partial,.signal-quality-stale{background:#fff7e6;color:#8a5a08;border:1px solid #f1d99f}.signal-quality-insufficient_data{background:#fef2f2;color:#a52720;border:1px solid #fecaca}.strategy-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:start;margin-top:18px}.backtest-equity-chart{display:flex;align-items:flex-end;gap:2px;height:140px;margin:12px 0 24px;padding:8px 4px 0;border-bottom:1px solid var(--border-subtle, #d8dee6);overflow-x:auto}.backtest-equity-bar{flex:0 0 8px;display:flex;align-items:flex-end;height:100%}.backtest-equity-bar span{display:block;width:100%;background:var(--brand-accent, #0b6e4f);border-radius:2px 2px 0 0}.strategy-builder-column{display:grid;gap:18px}.strategy-step{padding:22px}.strategy-step .notice{margin:16px 0 0}.strategy-rule-group{min-width:0;padding:14px;margin:10px 0;border:1px solid var(--border-strong, #cbd5e1);border-radius:10px;background:var(--surface-soft, #f8fafc)}.strategy-rule-group legend{padding:0 7px;color:var(--heading, var(--navy-900));font-weight:800}.rule-group-toolbar{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-bottom:10px}.rule-group-toolbar label{min-width:180px}.strategy-rule-row{display:grid;grid-template-columns:minmax(170px,1.2fr) minmax(130px,.8fr) minmax(110px,.7fr) auto;gap:8px;align-items:center;padding:10px;margin:8px 0;border:1px solid var(--border);border-radius:9px;background:var(--surface, #fff)}.rule-operand{font-weight:800;color:var(--heading, var(--navy-950))}.rule-operand small{display:block;color:var(--muted)}.rule-actions{display:flex;align-items:center}.frozen-universe{max-height:260px;overflow:auto;margin-top:14px;border:1px solid var(--border);border-radius:10px}.frozen-universe label{display:grid;grid-template-columns:18px 1fr 100px auto;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);font-weight:500}.frozen-universe label:last-child{border-bottom:0}.frozen-universe input{width:16px}.frozen-universe .universe-select-all{grid-template-columns:18px 1fr;position:sticky;top:0;z-index:1;background:#eef4ff;font-weight:800}.strategy-history{position:sticky;top:96px;padding:18px;max-height:680px;overflow:auto}.strategy-history button{width:100%;display:grid;gap:5px;padding:12px 5px;border:0;border-bottom:1px solid var(--border);background:var(--surface, #fff);text-align:left;color:var(--heading, var(--navy-950))}.strategy-history button:hover{background:#f8fafc}.strategy-history span,.strategy-history small{color:var(--muted)}.strategy-results{margin-top:20px;padding:22px}.strategy-all-results{margin-top:18px}.strategy-all-results summary{margin-bottom:14px;color:var(--link-text, var(--navy-700));font-weight:800;cursor:pointer}@media(max-width:1080px){.auth-main{grid-template-columns:1fr}.auth-hero{border-right:0;border-bottom:1px solid #e1e8f1;padding:40px 28px}.auth-hero-logo{width:min(420px,72%)}.auth-panel{padding:40px 24px}}@media(max-width:980px){.app-layout{grid-template-columns:1fr}.sidebar{display:none}.metric-grid,.market-snapshot-stats,.intelligence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.strategy-layout{grid-template-columns:1fr}.strategy-history{position:static}}@media(max-width:680px){.auth-page{grid-template-rows:64px 1fr 50px}.auth-header{padding:8px 16px}.auth-header-logo{width:164px;height:46px}.auth-header-note{display:none}.auth-hero{padding:28px 18px}.auth-hero-copy h1{font-size:34px}.auth-feature-grid{grid-template-columns:1fr}.auth-panel{padding:26px 14px 36px}.auth-card{padding:24px 18px;border-radius:15px}.auth-footer{gap:10px;flex-direction:column;line-height:1.1}.content{padding:20px 14px}.topbar{padding:10px 14px}.topbar>div:first-child{display:none}.global-security-search{width:min(100%,360px)}.user-menu>span:first-child{display:none}.form-grid,.metric-grid,.workspace-links,.intelligence-grid,.market-snapshot-primary,.market-snapshot-stats,.signal-definition-card,.strategy-rule-row{grid-template-columns:1fr}.page-heading{flex-direction:column}}.info-tip{display:inline-grid;place-items:center;width:18px;height:18px;margin-left:6px;border:1px solid #9db2ce;border-radius:50%;color:#244a7c;background:#f6f9fd;font:800 11px/1 sans-serif;cursor:help;vertical-align:middle}.info-tip:focus{outline:2px solid #d3a72f;outline-offset:2px}.prediction-workflow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px;padding:0;list-style:none}.prediction-workflow li{display:grid;gap:5px;padding:14px;border:1px solid #cfdced;border-radius:10px;background:#f8fbff}.prediction-workflow strong{color:var(--navy-900)}.prediction-workflow span{color:#61718a;font-size:13px;line-height:1.4}.job-outcome-guidance{margin:14px 0;padding:12px 14px;border:1px solid #d7e4f3;border-radius:9px;background:#f8fbff;color:#34445d}@media(max-width:900px){.prediction-workflow{grid-template-columns:1fr 1fr}}@media(max-width:560px){.prediction-workflow{grid-template-columns:1fr}}.brand-lockup{display:inline-flex;align-items:center;gap:10px;min-width:0}.brand-symbol{display:inline-flex;align-items:baseline;font-family:Georgia,Times New Roman,serif;font-weight:700;line-height:1;letter-spacing:-.14em;white-space:nowrap}.brand-alpha{color:var(--navy-950, #031a3a);font-size:34px;font-style:italic}.brand-rupee{color:var(--gold-500, #d99b22);font-size:27px;margin-left:3px}.brand-copy{display:grid;gap:1px;line-height:1.05}.brand-copy strong{font-family:Georgia,Times New Roman,serif;font-size:21px;font-weight:700;color:var(--navy-950, #031a3a);white-space:nowrap}.brand-copy strong span{color:var(--gold-500, #d99b22)}.brand-copy small{color:#64748b;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.brand-lockup-inverse .brand-alpha,.brand-lockup-inverse .brand-copy strong{color:#fff}.brand-lockup-inverse .brand-copy small{color:#cbd9ec}.brand-lockup-compact{gap:8px}.brand-lockup-compact .brand-alpha{font-size:29px}.brand-lockup-compact .brand-rupee{font-size:23px}.brand-lockup-compact .brand-copy strong{font-size:18px}.auth-header{justify-content:space-between;gap:16px}.auth-page-simple .auth-main{grid-template-columns:minmax(0,1fr) minmax(420px,.82fr)}.auth-hero-simple{align-items:flex-start;padding-left:clamp(42px,7vw,110px);padding-right:clamp(42px,7vw,110px)}.auth-hero-simple .auth-hero-copy{text-align:left;max-width:620px}.auth-hero-simple .auth-hero-copy>p:last-child{margin:0}.auth-hero-simple .auth-feature-grid{max-width:700px}.auth-hero-logo,.auth-header-logo{display:none!important}.sidebar-brand{background:transparent;box-shadow:none;padding:2px 4px 18px;margin:0 2px 18px;border-bottom:1px solid rgb(255 255 255 / 10%);border-radius:0}.sidebar-brand img{display:none}@media(max-width:980px){.auth-page-simple .auth-main{grid-template-columns:1fr}.auth-hero-simple{align-items:center;padding:36px 28px}.auth-hero-simple .auth-hero-copy{text-align:center}.auth-hero-simple .auth-hero-copy>p:last-child{margin:0 auto}}@media(max-width:640px){.brand-copy small{display:none}.brand-alpha{font-size:30px}.brand-rupee{font-size:24px}.brand-copy strong{font-size:18px}}.page-actions,.empty-actions,.onboarding-actions,.action-gap{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.secondary-link{border:1px solid #cbd8e8;border-radius:9px;background:#fff;color:var(--navy-800);padding:10px 16px;text-decoration:none;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.secondary-link:hover{border-color:var(--navy-700);background:#f7faff}.onboarding-card{padding:24px 26px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-left:4px solid var(--gold-500)}.onboarding-card p:last-child{margin-bottom:0;max-width:760px}.form-card{padding:24px;max-width:980px}.upload-zone{border:1px dashed #9fb2cb;border-radius:14px;background:#f8fbff;padding:24px;display:grid;gap:14px}.upload-zone p{margin-bottom:0}.upload-zone input[type=file]{background:#fff}.file-chip{width:fit-content;border-radius:999px;background:#eef4ff;color:var(--navy-800);padding:6px 10px;font-size:12px;font-weight:700}.import-preview,.table-card{margin-top:22px;padding:22px}.import-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.import-summary>div{border:1px solid var(--border);border-radius:12px;background:#f8fafc;padding:14px}.import-summary span,.import-summary strong{display:block}.import-summary span{color:var(--muted);font-size:12px}.import-summary strong{margin-top:5px;color:var(--navy-950);font-size:22px}.table-scroll{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th,.data-table td{border-bottom:1px solid #e5ebf3;text-align:left;padding:12px 10px;vertical-align:middle}.data-table th{color:#52647b;background:#f8fafc;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.data-table tbody tr:hover{background:#fbfdff}@media(max-width:760px){.page-actions,.onboarding-card{align-items:stretch;flex-direction:column}.onboarding-actions,.empty-actions{width:100%}.onboarding-actions>*,.empty-actions>*{flex:1}.import-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-sidebar{background:linear-gradient(180deg,#02142f,#062b5c)}.admin-nav-heading{margin:2px 12px 10px;color:#f0c76a;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.admin-back-link{display:inline-block;margin:24px 12px 0;color:#d7e2f1;font-size:13px;text-decoration:none}.admin-back-link:hover{color:#fff}.admin-console-link{margin-top:12px;border-top:1px solid rgb(255 255 255 / 10%)}.admin-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.admin-action-card{padding:22px;text-decoration:none;display:grid;gap:10px;border-top:3px solid var(--gold-500)}.admin-action-card strong{font-size:20px;color:var(--navy-950)}.admin-action-card p{margin:0;color:var(--muted);line-height:1.55}.admin-action-card>span:last-child{color:var(--navy-700);font-weight:700}.admin-card-kicker{color:var(--gold-600);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.admin-section-card{padding:22px;margin-bottom:22px}.admin-page-controls{display:flex;align-items:flex-end;gap:14px}.admin-page-controls label{min-width:180px}.admin-provider-actions{display:flex;flex-wrap:wrap;gap:12px}.admin-security-search{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:12px;align-items:end;margin-bottom:18px}.admin-job-card{--operation-accent: #d99b22;--operation-soft: #fff8e8;margin:0 0 22px;padding:22px;display:grid;gap:14px;overflow:hidden;border:1px solid color-mix(in srgb,var(--operation-accent) 38%,#dbe3ee);border-left:5px solid var(--operation-accent);box-shadow:0 12px 34px color-mix(in srgb,var(--operation-accent) 12%,transparent)}.admin-job-card .section-heading{margin-bottom:2px}.admin-job-completed,.admin-job-succeeded{--operation-accent: #16803c;--operation-soft: #ecfdf3}.admin-job-failed{--operation-accent: #c52f27;--operation-soft: #fef2f2}.admin-job-running{--operation-accent: #1769aa;--operation-soft: #eef7ff}.admin-job-queued,.admin-job-pending{--operation-accent: #b77908;--operation-soft: #fff8e8}.admin-job-cancelled{--operation-accent: #64748b;--operation-soft: #f1f5f9}.admin-operation-table-wrap{overflow:hidden;border:1px solid #d8e0eb;border-radius:12px;background:#fff}.admin-operation-table{width:100%;border-collapse:collapse;table-layout:fixed}.admin-operation-table thead{background:linear-gradient(90deg,var(--operation-soft),#f8fafc)}.admin-operation-table th,.admin-operation-table td{padding:11px 14px;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:top}.admin-operation-table tr>:last-child{border-right:0}.admin-operation-table tbody tr:last-child>*{border-bottom:0}.admin-operation-table thead th{color:#334155;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.admin-operation-table tbody th{width:30%;background:#f8fafc;color:#475569;font-size:12px;font-weight:700;text-transform:capitalize}.admin-operation-table tbody td{color:var(--navy-950);font-size:13px;overflow-wrap:anywhere}.admin-result{margin:0;padding:14px;max-height:280px;overflow:auto;border-radius:10px;background:#071a34;color:#d9e5f5;font-size:12px}.admin-job-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-job-filters{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:12px;margin-bottom:16px;padding:16px}.admin-bordered-table{width:100%;border:1px solid #cbd5e1;border-collapse:separate;border-spacing:0;border-radius:10px;overflow:hidden}.admin-bordered-table th,.admin-bordered-table td{padding:11px 12px;border-right:1px solid #d8e0eb;border-bottom:1px solid #d8e0eb;text-align:left;vertical-align:middle}.admin-bordered-table thead th{background:#f1f5f9;color:#334155;font-size:12px;font-weight:800;letter-spacing:.04em}.admin-bordered-table tr>:last-child{border-right:0}.admin-bordered-table tbody tr:last-child>td{border-bottom:0}.admin-bordered-table tbody tr:hover{background:#f8fbff}.admin-job-detail-grid>div{display:grid;gap:4px;padding:12px;border:1px solid #dbe3ee;border-radius:9px;background:#fff}.admin-job-detail-grid strong{color:#64748b;font-size:11px;text-transform:uppercase}.admin-json-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-json-grid h3{margin:0 0 7px;font-size:13px}.admin-audit-scope{margin-bottom:20px;padding:13px 15px;border:1px solid #f4cf75;border-radius:10px;background:#fff8e8;color:#815600;font-size:13px;line-height:1.5}.admin-job-modal{width:min(960px,100%);max-height:calc(100vh - 40px);margin:0;overflow-y:auto}.admin-dialog-status{display:flex;align-items:center;gap:12px}.admin-dialog-close{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #cbd5e1;border-radius:50%;background:#fff;color:#334155;font-size:23px;line-height:1;cursor:pointer}.admin-dialog-close:hover{background:#f1f5f9;color:#0f172a}.evaluation-progress{display:grid;gap:12px;padding:16px;border:1px solid #b7d5f5;border-radius:12px;background:#f7fbff}.evaluation-progress-heading{display:flex;justify-content:space-between;color:var(--navy-900)}.evaluation-progress-track{height:12px;overflow:hidden;border-radius:999px;background:#dce8f5}.evaluation-progress-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1769aa,#21a179);transition:width .3s ease}.evaluation-progress-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.evaluation-progress-grid>div{display:grid;gap:3px;padding:9px 11px;border:1px solid #dbe7f4;border-radius:8px;background:#fff}.evaluation-progress-grid small{color:#64748b;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.evaluation-progress-grid strong{color:var(--navy-950);font-size:15px}.evaluation-progress-grid .metric-success{color:#16803c}.evaluation-progress-grid .metric-failed{color:#c52f27;font-weight:900}.standard-job-progress{display:grid;gap:12px;padding:16px;border:1px solid #b7d5f5;border-radius:12px;background:#f7fbff}.standard-progress-context{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px}.standard-progress-context span{display:grid;gap:3px;padding:9px 11px;border:1px solid #dbe7f4;border-radius:8px;background:#fff;color:var(--navy-950)}.standard-progress-context strong{color:#64748b;font-size:10px;letter-spacing:.05em;text-transform:uppercase}.job-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px}.job-summary-grid>div{display:grid;gap:4px;padding:14px;border:1px solid #dbe3ee;border-radius:10px;background:#fff}.job-summary-grid strong{color:var(--navy-950);font-size:21px}.job-summary-grid span{color:#64748b;font-size:12px}.job-summary-grid .job-summary-success{border-color:#a7dfb4;background:#f3fcf5}.job-summary-grid .job-summary-warning{border-color:#f4cf75;background:#fffaf0}.job-summary-grid .job-summary-danger{border-color:#f1b8b3;background:#fff7f6}.job-impact{padding:15px 17px;border:1px solid #cae3d0;border-radius:10px;background:#f4fbf6}.job-impact h3,.job-problems h3{margin-top:0}.job-impact ul,.job-problems p{margin-bottom:0}.job-problems{display:grid;gap:10px}.job-problems article{padding:15px 17px;border:1px solid #f1b8b3;border-left:4px solid #c52f27;border-radius:10px;background:#fff8f7}.job-problems article>strong{color:#a52620}.job-problems p{color:#475569;line-height:1.45}.job-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin:0;padding:0;list-style:none}.job-timeline li{position:relative;display:grid;gap:3px;padding:12px 12px 12px 25px;border-top:3px solid #cbd5e1;color:#64748b}.job-timeline li:before{position:absolute;top:10px;left:4px;width:11px;height:11px;border:2px solid #94a3b8;border-radius:50%;background:#fff;content:""}.job-timeline li.complete{border-color:#21a179;color:var(--navy-950)}.job-timeline li.complete:before{border-color:#16803c;background:#dcfce7}.job-timeline span{font-size:11px}.job-navigation{padding:13px;border:1px solid #d8e6f8;border-radius:10px;background:#f4f8ff}.job-navigation a{text-decoration:none}.job-technical-details{padding:14px 16px;border:1px solid #dbe3ee;border-radius:10px;background:#f8fafc}.job-technical-details summary{cursor:pointer;color:#334155;font-weight:800}.job-technical-details[open] summary{margin-bottom:10px}.job-recommendations{padding:15px 17px;border:1px solid #d8e6f8;border-radius:10px;background:#f4f8ff}.job-recommendations h3{margin-top:0}.job-recommendations ul{margin-bottom:0}@media print{body *{visibility:hidden!important}.admin-job-modal,.admin-job-modal *{visibility:visible!important}.admin-job-modal{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;max-height:none;overflow:visible;border:0;box-shadow:none}.modal-backdrop{position:static;background:transparent;padding:0}.admin-job-modal .admin-dialog-close,.admin-job-modal .admin-provider-actions:last-child{display:none!important}.job-technical-details:not([open]){display:none}}.evaluation-failure-report{display:grid;gap:14px;padding:16px;border:1px solid #f1c8c4;border-radius:12px;background:snow}.evaluation-failure-report label{max-width:320px}.evaluation-failure-report td small{display:block;margin-top:4px;color:#64748b}.evaluation-live-log{padding-top:4px;color:#334155;font-size:12px}.evaluation-live-log summary{cursor:pointer;font-weight:800}.evaluation-live-log ol{max-height:130px;margin:9px 0 0;padding:10px 10px 10px 30px;overflow:auto;border-radius:8px;background:#071a34;color:#d9e5f5;font-family:ui-monospace,monospace}.admin-date-guidance{display:grid;gap:5px;margin-bottom:16px;padding:14px 16px;border:1px solid #d8e6f8;border-radius:10px;background:#f4f8ff;color:#42546d;font-size:13px;line-height:1.45}.admin-date-guidance strong{color:var(--navy-950)}.admin-date-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;align-items:end;margin-bottom:20px}.admin-checkbox{display:flex;flex-direction:row;align-items:center;gap:8px;min-height:42px}.admin-checkbox input{width:auto}.admin-dataset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.admin-dataset-card{border:1px solid var(--border);border-radius:13px;padding:17px;display:grid;gap:10px;background:var(--surface-soft)}.admin-dataset-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.admin-dataset-card code{color:var(--navy-700);font-size:12px;word-break:break-word}.admin-dataset-card small{color:var(--muted);line-height:1.4}.admin-dataset-card .admin-unavailable-note{color:#8a5a08}.admin-dataset-card .primary-button{margin-top:auto}.status-completed,.status-succeeded{background:#dcfce7;color:#166534;border:1px solid #86efac}.status-failed{background:#fef2f2;color:#b91c1c}.status-running{background:#e0f2fe;color:#075985;border:1px solid #7dd3fc}.status-queued,.status-pending{background:#fff8e8;color:#9a6700;border:1px solid #f4cf75}.status-cancelled{background:#f1f5f9;color:#64748b}.table-wrap{overflow-x:auto}.admin-metrics .metric-card strong .status-pill{font-size:13px}.market-viewer-controls{position:relative}.market-control-grid{display:grid;grid-template-columns:150px minmax(300px,1.5fr) minmax(160px,.7fr) minmax(160px,.7fr);gap:14px;align-items:end}.market-security-search{position:relative}.market-search-row{display:grid;grid-template-columns:1fr auto;gap:8px}.market-search-results{position:relative;z-index:2;display:grid;max-height:280px;margin-top:8px;overflow-y:auto;border:1px solid #cbd5e1;border-radius:10px;background:#fff;box-shadow:0 14px 34px #031a3a21}.market-search-results button{display:grid;grid-template-columns:100px 1fr auto;gap:12px;padding:12px 14px;border:0;border-bottom:1px solid #e2e8f0;background:#fff;color:var(--navy-950);text-align:left}.market-search-results button:hover{background:#f4f8ff}.market-search-results button:last-child{border-bottom:0}.market-search-results small{color:var(--muted)}.selected-security{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin-top:14px;padding:12px 14px;border:1px solid #b7d5f5;border-radius:10px;background:#f4f8ff}.selected-security>span{color:var(--navy-700);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.selected-security small{color:var(--muted)}.market-viewer-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:18px}.market-range-presets{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:16px}.market-range-presets>span{margin-right:4px;color:#475569;font-size:12px;font-weight:800}.market-range-presets button{padding:7px 11px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#334155;font-weight:700;cursor:pointer}.market-range-presets button:hover{border-color:#7898c3;background:#f4f8ff}.market-range-presets button.active{border-color:var(--navy-700);background:var(--navy-700);color:#fff}.market-range-presets button:disabled{cursor:wait;opacity:.65}.market-range-presets small{margin-left:6px;color:var(--muted)}.market-result-heading{align-items:center}.market-view-tabs{display:flex;gap:6px;margin-bottom:18px;padding:5px;width:fit-content;border:1px solid #d8e0eb;border-radius:10px;background:#f1f5f9}.market-view-tabs button{border:0;border-radius:7px;padding:9px 14px;background:transparent;color:#475569;font-weight:700}.market-view-tabs button.active{background:#fff;color:var(--navy-900);box-shadow:0 2px 8px #031a3a1a}.market-chart-frame{width:100%;overflow:hidden;border:1px solid #dce4ef;border-radius:14px;background:#fff}.market-chart-frame svg{display:block;width:100%;min-height:280px}.chart-background{fill:#fbfdff}.chart-grid{stroke:#e5ebf3;stroke-width:1}.chart-label{fill:#64748b;font-size:12px}.chart-axis-title{fill:#334155;font-size:13px;font-weight:700}.chart-axis-label{fill:#64748b;font-size:11px;font-weight:600}.close-line{fill:none;stroke:#0b5da8;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:#fff;stroke:#0b5da8;stroke-width:2.5;cursor:pointer}.chart-point:hover,.chart-point:focus{fill:#0b5da8;stroke:#fff;outline:none}.candle-up line,.candle-up rect{stroke:#16803c;fill:#d8f3df}.candle-down line,.candle-down rect{stroke:#c52f27;fill:#fee2e2}.candle-up line,.candle-down line{stroke-width:1.5}.candle-up,.candle-down{cursor:pointer;outline:none}.candle-hit-area,.candle-up .candle-hit-area,.candle-down .candle-hit-area{fill:transparent;stroke:none}.chart-tooltip rect{fill:#071a34;stroke:#29496d;stroke-width:1;filter:drop-shadow(0 4px 8px rgb(3 26 58 / 22%))}.chart-tooltip text{fill:#fff;font-size:12px}.chart-note,.chart-caption{margin:10px 0 0;color:var(--muted);font-size:12px}.market-bars-table-wrap{max-height:610px;overflow:auto;border:1px solid #dce4ef;border-radius:10px}.market-bars-table thead{position:sticky;top:0;z-index:1}.table-pagination{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:14px;color:var(--muted);font-size:13px}.market-data-warning{margin-bottom:14px;padding:11px 13px;border:1px solid #f4cf75;border-radius:9px;background:#fff8e8;color:#815600}@media(max-width:980px){.admin-action-grid{grid-template-columns:1fr}.admin-date-controls,.market-control-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.admin-job-filters,.admin-job-detail-grid,.admin-json-grid,.admin-security-search,.admin-date-controls{grid-template-columns:1fr}.admin-page-controls{width:100%;align-items:stretch;flex-direction:column}.admin-provider-actions{flex-direction:column}.market-control-grid{grid-template-columns:1fr}.market-viewer-actions{align-items:stretch;flex-direction:column}.market-search-results button{grid-template-columns:80px 1fr}.market-search-results small{grid-column:1 / -1}}:root{--page-bg: #f6f8fb;--heading: #031a3a;--link-text: #114b83;--link-text-hover: #031a3a;--surface-elevated: #ffffff;--border-strong: #cbd5e1;--input-bg: #fff;--input-text: #0f172a;--input-border: #cbd5e1;--topbar-bg: #fff;--table-header-bg: #f8fafc;--table-header-text: #52647b;--table-row-hover: #fbfdff;--table-border: #e5ebf3;--chip-bg: #eef4ff;--notice-bg: #fff8e8;--notice-border: #f1d99f;--notice-text: #8a5a08;--success-bg: #ecfdf3;--success-border: #bbf7d0;--success-text: #166534;--error-bg: #fef2f2;--error-border: #fecaca;--error-text: #b91c1c;--link: #075fc7;--modal-backdrop: rgb(3 26 58 / 58%);--chart-track: #eef2f7;--row-highlight: #fff8e8;--focus-ring: rgb(17 75 131 / 10%);--role-badge-bg: #eef4ff;--search-bg: #f8fafc;--search-results-bg: #fff;--search-results-hover: #f1f6fc;--auth-panel-bg: rgb(255 255 255 / 74%);--auth-hero-bg: linear-gradient(145deg, #ffffff 0%, #f8fbff 58%, #eef5ff 100%);--auth-page-bg: linear-gradient(180deg, #f9fbfe 0%, #f4f7fb 100%)}[data-theme=dark]{color-scheme:dark;--page-bg: #0a1628;--surface: #152238;--surface-soft: #1a2840;--surface-elevated: #1f2f47;--border: #3d5270;--border-strong: #4a6282;--text: #e8eef6;--heading: #f8fafc;--muted: #c5d0de;--link-text: #93c5fd;--link-text-hover: #ffffff;--shadow: 0 18px 50px rgb(0 0 0 / 35%);--input-bg: #152238;--input-text: #e2e8f0;--input-border: #3d5270;--topbar-bg: #111f33;--table-header-bg: #152238;--table-header-text: #94a3b8;--table-row-hover: #1a2840;--table-border: #2a3f5c;--chip-bg: #1e3352;--notice-bg: #2a2410;--notice-border: #5c4a1a;--notice-text: #f0c76a;--success-bg: #0d2a1a;--success-border: #166534;--success-text: #4ade80;--error-bg: #2a1212;--error-border: #7f1d1d;--error-text: #f87171;--link: #60a5fa;--modal-backdrop: rgb(0 0 0 / 72%);--chart-track: #1e3352;--row-highlight: #2a2410;--focus-ring: rgb(96 165 250 / 15%);--role-badge-bg: #1e3352;--search-bg: #152238;--search-results-bg: #111f33;--search-results-hover: #1a2840;--auth-panel-bg: rgb(17 31 51 / 74%);--auth-hero-bg: linear-gradient(145deg, #111f33 0%, #0f1a2e 58%, #0a1628 100%);--auth-page-bg: linear-gradient(180deg, #0a1628 0%, #0d1b30 100%)}body{background:var(--page-bg);color:var(--text)}.app-layout{background:var(--page-bg)}.app-main,.content{background:var(--page-bg);color:var(--text)}.topbar{background:var(--topbar-bg);border-bottom-color:var(--border)}.card,.metric-card{background:var(--surface)}h1,h2,h3,.topbar-title,label,legend,strong,.metric-card strong,.rule-operand,.strategy-history button,.strategy-history button strong{color:var(--heading)}.content,.content p,section{color:var(--text)}.muted,.field-hint,.page-state,.breadcrumb,.metric-card span,.metric-card small,.portfolio-meta dt,.workspace-link span,.benchmark-picker,.metric-info,.strategy-history span,.strategy-history small,.prediction-workflow span{color:var(--muted)}.link-button,.table-symbol-link,.dashboard-list a,.metric-card .metric-link,.strategy-all-results summary{color:var(--link-text)}.table-symbol-link:hover,.dashboard-list a:hover,.metric-card .metric-link:hover{color:var(--link-text-hover)}.user-menu>span{color:var(--text)}input:disabled,select:disabled,textarea:disabled{color:var(--muted);opacity:.85}input,select,textarea{background:var(--input-bg);color:var(--input-text);border-color:var(--input-border)}input:focus,select:focus,textarea:focus{outline-color:var(--focus-ring)}.secondary-button{background:var(--surface);border-color:var(--border-strong);color:var(--navy-900)}.role-badge,.status-pill{background:var(--role-badge-bg);color:var(--link-text, var(--navy-800))}.global-security-search input{background:var(--search-bg)}.global-search-results{background:var(--search-results-bg);border-color:var(--border-strong)}.global-search-results button{background:var(--search-results-bg);border-bottom-color:var(--border)}.global-search-results button:hover,.global-search-results button:focus{background:var(--search-results-hover)}.notice{background:var(--notice-bg);border-color:var(--notice-border);color:var(--notice-text)}.inline-success{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.inline-error{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.modal-backdrop{background:var(--modal-backdrop)}.allocation-bar-track{background:var(--chart-track)}.row-highlight{background:var(--row-highlight)}.chart-range-button{background:var(--surface)}.auth-switch a{color:var(--link)}.theme-toggle{display:inline-grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft);color:var(--text);font-size:16px;line-height:1}.theme-toggle:hover{border-color:var(--navy-700);background:var(--chip-bg)}.auth-header .theme-toggle{flex-shrink:0;border-color:#fff3;background:#ffffff14;color:#e2e8f0}.auth-header .theme-toggle:hover{background:#ffffff24;border-color:#ffffff4d}.auth-theme-toggle{margin-left:auto}[data-theme=dark] .auth-page{background:var(--auth-page-bg)}[data-theme=dark] .auth-hero{border-right-color:var(--border);background:var(--auth-hero-bg)}[data-theme=dark] .auth-hero-copy>p:last-child{color:var(--muted)}[data-theme=dark] .auth-feature-grid article{background:#111f33b3;border-color:var(--border)}[data-theme=dark] .feature-icon{background:var(--chip-bg);border-color:var(--border);color:var(--navy-800)}[data-theme=dark] .auth-feature-grid article:nth-child(2) .feature-icon{background:#2a2410;color:var(--gold-300);border-color:var(--notice-border)}[data-theme=dark] .auth-feature-grid article:nth-child(3) .feature-icon{background:var(--success-bg);color:var(--success-text);border-color:var(--success-border)}[data-theme=dark] .auth-panel{background:var(--auth-panel-bg)}[data-theme=dark] .auth-card{background:var(--surface)}[data-theme=dark] .auth-card input{border-color:var(--input-border)}[data-theme=dark] .auth-footer{background:var(--surface);border-top-color:var(--border);color:var(--muted)}[data-theme=dark] .portfolio-insights{background:var(--surface-soft);border-color:var(--border)}[data-theme=dark] .insight-chip{background:var(--chip-bg)}[data-theme=dark] .insight-chip-health{background:var(--success-bg);color:var(--success-text)}[data-theme=dark] .watchlist-table th,[data-theme=dark] .data-table th{background:var(--table-header-bg);color:var(--table-header-text)}[data-theme=dark] .watchlist-table th,[data-theme=dark] .watchlist-table td{border-color:var(--table-border)}[data-theme=dark] .data-table th,[data-theme=dark] .data-table td{border-bottom-color:var(--table-border);color:var(--text)}[data-theme=dark] .data-table th{color:var(--table-header-text)}[data-theme=dark] .admin-bordered-table tbody td,[data-theme=dark] .admin-bordered-table tbody th{color:var(--text)}[data-theme=dark] .data-table tbody tr:hover{background:var(--table-row-hover)}[data-theme=dark] .signal-direction-bullish{background:#0d2a1a;border-color:#166534;color:#4ade80}[data-theme=dark] .signal-direction-bearish{background:#2a1212;border-color:#7f1d1d;color:#f87171}[data-theme=dark] .signal-direction-neutral{background:#152238;border-color:var(--border);color:var(--muted)}[data-theme=dark] .signal-quality-available{background:var(--success-bg);color:var(--success-text);border-color:var(--success-border)}[data-theme=dark] .signal-quality-partial,[data-theme=dark] .signal-quality-stale{background:var(--notice-bg);color:var(--notice-text);border-color:var(--notice-border)}[data-theme=dark] .signal-quality-insufficient_data{background:var(--error-bg);color:var(--error-text);border-color:var(--error-border)}[data-theme=dark] .regime-bullish{background:#0d2a1a}[data-theme=dark] .regime-bearish{background:#2a1212}[data-theme=dark] .strategy-rule-group{background:var(--surface-soft);border-color:var(--border-strong)}[data-theme=dark] .strategy-rule-row,[data-theme=dark] .strategy-history button{background:var(--surface)}[data-theme=dark] .strategy-history button:hover{background:var(--surface-soft)}[data-theme=dark] .frozen-universe .universe-select-all{background:var(--chip-bg)}[data-theme=dark] .column-filter-row th{background:var(--surface)}[data-theme=dark] .intelligence-placeholder{background:var(--chip-bg)}[data-theme=dark] .prediction-workflow li{background:var(--surface-soft);border-color:var(--border)}[data-theme=dark] .prediction-workflow span{color:var(--muted)}[data-theme=dark] .job-outcome-guidance{background:var(--surface-soft);border-color:var(--border);color:var(--text)}[data-theme=dark] .info-tip{background:var(--chip-bg);border-color:var(--border-strong);color:var(--navy-800)}[data-theme=dark] .secondary-link{background:var(--surface);border-color:var(--border-strong)}[data-theme=dark] .secondary-link:hover{background:var(--surface-soft)}[data-theme=dark] .upload-zone{background:var(--surface-soft);border-color:var(--border-strong)}[data-theme=dark] .import-summary>div{background:var(--surface-soft)}[data-theme=dark] .file-chip{background:var(--chip-bg)}[data-theme=dark] .admin-operation-table-wrap,[data-theme=dark] .admin-job-detail-grid>div,[data-theme=dark] .evaluation-progress-grid>div,[data-theme=dark] .standard-progress-context span,[data-theme=dark] .job-summary-grid>div{background:var(--surface);border-color:var(--border)}[data-theme=dark] .admin-operation-table thead{background:linear-gradient(90deg,var(--surface-soft),var(--surface))}[data-theme=dark] .admin-operation-table th,[data-theme=dark] .admin-operation-table td{border-color:var(--border)}[data-theme=dark] .admin-operation-table tbody th{background:var(--surface-soft);color:var(--muted)}[data-theme=dark] .admin-bordered-table{border-color:var(--border)}[data-theme=dark] .admin-bordered-table th,[data-theme=dark] .admin-bordered-table td{border-color:var(--table-border)}[data-theme=dark] .admin-bordered-table thead th{background:var(--table-header-bg);color:var(--table-header-text)}[data-theme=dark] .admin-bordered-table tbody tr:hover{background:var(--table-row-hover)}[data-theme=dark] .admin-dialog-close{background:var(--surface);border-color:var(--border-strong);color:var(--text)}[data-theme=dark] .admin-dialog-close:hover{background:var(--surface-soft)}[data-theme=dark] .evaluation-progress,[data-theme=dark] .standard-job-progress{background:var(--surface-soft);border-color:var(--border)}[data-theme=dark] .evaluation-progress-track{background:var(--chart-track)}[data-theme=dark] .market-search-results,[data-theme=dark] .market-search-results button{background:var(--search-results-bg);border-color:var(--border)}[data-theme=dark] .market-search-results button:hover{background:var(--search-results-hover)}[data-theme=dark] .selected-security{background:var(--surface-soft);border-color:var(--border)}[data-theme=dark] .market-range-presets button{background:var(--surface);border-color:var(--border-strong);color:var(--text)}[data-theme=dark] .market-range-presets button:hover{background:var(--surface-soft)}[data-theme=dark] .market-view-tabs{background:var(--surface-soft);border-color:var(--border)}[data-theme=dark] .market-view-tabs button{color:var(--muted)}[data-theme=dark] .market-view-tabs button.active{background:var(--surface);color:var(--navy-900)}[data-theme=dark] .market-chart-frame{background:var(--surface);border-color:var(--border)}[data-theme=dark] .chart-background{fill:#111f33}[data-theme=dark] .chart-grid{stroke:#2a3f5c}[data-theme=dark] .chart-label,[data-theme=dark] .chart-axis-label{fill:#94a3b8}[data-theme=dark] .chart-axis-title{fill:#e2e8f0}[data-theme=dark] .close-line{stroke:#60a5fa}[data-theme=dark] .chart-point{fill:#111f33;stroke:#60a5fa}[data-theme=dark] .chart-point:hover,[data-theme=dark] .chart-point:focus{fill:#60a5fa;stroke:#111f33}[data-theme=dark] .candle-up line,[data-theme=dark] .candle-up rect{stroke:#4ade80;fill:#0d2a1a}[data-theme=dark] .candle-down line,[data-theme=dark] .candle-down rect{stroke:#f87171;fill:#2a1212}[data-theme=dark] .market-bars-table-wrap{border-color:var(--border)}[data-theme=dark] .market-data-warning,[data-theme=dark] .admin-audit-scope{background:var(--notice-bg);border-color:var(--notice-border);color:var(--notice-text)}[data-theme=dark] .job-navigation,[data-theme=dark] .job-recommendations,[data-theme=dark] .admin-date-guidance{background:var(--surface-soft);border-color:var(--border);color:var(--text)}[data-theme=dark] .job-technical-details{background:var(--surface-soft);border-color:var(--border)}[data-theme=dark] .job-technical-details summary{color:var(--text)}[data-theme=dark] .job-timeline li:before{background:var(--surface)}[data-theme=dark] .status-insufficient{background:var(--notice-bg);color:var(--notice-text);border-color:var(--notice-border)}[data-theme=dark] .spinner{border-color:var(--border-strong)}
