:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;--background:#f7f8fa;--surface:#fff;--surface-muted:#f1f4f6;--border:#e1e6ea;--border-strong:#c7d0d8;--text:#111827;--muted:#64717d;--navy:#22313d;--blue:#166aa3;--blue-soft:#eaf4fb;--green:#0f6b4f;--green-soft:#e2f3eb;--amber:#956400;--amber-soft:#fff2c8;--red:#b13a3a;--red-soft:#fbe6e6;--shadow:0 7px 22px #1118270f;background:#f7f8fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--background);min-width:320px;min-height:100%}body{background:var(--background);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.62}a{color:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100vh}.app-header{z-index:20;border-bottom:1px solid var(--border);min-height:64px;color:var(--text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;padding:0 clamp(18px,4vw,48px);display:grid;position:sticky;top:0}.app-brand{justify-self:start;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.app-brand__mark{color:#fff;background:var(--blue);border:1px solid #b8d9ec;border-radius:6px;place-items:center;width:32px;height:32px;font-size:.92rem;font-weight:800;display:grid}.app-brand>span:last-child{align-items:baseline;gap:5px;display:flex}.app-brand strong{font-size:.91rem}.app-brand small{color:var(--muted);text-transform:uppercase;font-size:.74rem;font-weight:700}.primary-nav{align-self:stretch;gap:4px;display:flex}.primary-nav a{color:#52616d;border-bottom:3px solid #0000;align-items:center;padding:0 15px;font-size:.84rem;font-weight:650;text-decoration:none;display:flex}.primary-nav a:hover,.primary-nav a.router-link-exact-active{border-bottom-color:var(--blue);color:var(--text)}.account-menu{justify-self:end;align-items:center;gap:12px;display:flex}.account-name{max-width:160px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.workspace{width:min(100% - 36px,1560px);margin:0 auto;padding:32px 0 56px}.page-heading,.security-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.page-heading h1,.security-heading h1{color:var(--text);letter-spacing:0;margin:4px 0 0;font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.12}.page-heading__meta{color:var(--muted);margin:7px 0 0;font-size:.85rem}.eyebrow{color:var(--blue);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:800}.button{white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;min-height:38px;padding:0 15px;font-size:.82rem;font-weight:750;text-decoration:none;display:inline-flex}.button--primary{color:#fff;background:var(--blue);border-color:#12598e}.button--primary:hover{background:#12598e}.button--secondary{border-color:var(--border-strong);color:#273744;background:#fff}.button--danger{color:var(--red);background:#fff;border-color:#e1b6b6}.button--danger:hover{background:var(--red-soft)}.button--compact{min-height:30px;padding:0 10px;font-size:.72rem}.button--quiet{border-color:var(--border-strong);color:#33414d;background:0 0;min-height:32px;padding:0 11px}.metric-grid{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:7px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px;display:grid}.metric{border-right:1px solid var(--border);min-width:0;padding:17px 20px}.metric:last-child{border-right:0}.metric span{color:var(--muted);margin-bottom:5px;font-size:.73rem;font-weight:650;display:block}.metric strong{font-size:1.55rem;line-height:1}.metric--positive strong{color:var(--green)}.data-section,.history-section,.sector-section{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:7px}.data-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:18px;padding:14px 16px;display:flex}.search-form{gap:8px;width:min(100%,520px);display:flex}.search-form input,.select-field select,.date-control input{border:1px solid var(--border-strong);min-height:38px;color:var(--text);background:#fff;border-radius:5px;outline:none}.search-form input{width:100%;padding:0 12px}.search-form input:focus,.select-field select:focus,.date-control input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1769aa1f}.select-field,.date-control{gap:5px;display:grid}.select-field span,.date-control span{color:var(--muted);font-size:.7rem;font-weight:750}.select-field select,.date-control input{min-width:155px;padding:0 10px}.table-scroll{width:100%;overflow-x:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.8rem}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #e4e9ed;height:49px;padding:7px 11px}th{color:#5d6b77;text-transform:uppercase;background:#f7f9fa;height:40px;font-size:.67rem;font-weight:800}tbody tr:hover{background:#f8fbfd}tbody tr:last-child td{border-bottom:0}.numeric{font-variant-numeric:tabular-nums;text-align:right}.rank-cell{color:var(--muted);font-weight:700}.symbol-link{color:#075fa4;font-size:.88rem;font-weight:800;text-decoration:none}.symbol-link:hover{text-decoration:underline}.company-cell{text-overflow:ellipsis;max-width:290px;overflow:hidden}.company-cell span,.company-cell small{text-overflow:ellipsis;display:block;overflow:hidden}.company-cell small,.mobile-company{color:#7c8993;margin-top:3px;font-size:.66rem}.mobile-company{display:none}.price-cell{color:#202b34;font-weight:700}.quant-score,.grade-badge{color:#fff;font-variant-numeric:tabular-nums;border-radius:3px;place-items:center;min-width:32px;height:23px;font-size:.69rem;font-weight:850;display:inline-grid}.quant-score{background:#365465;min-width:38px}.quant-score--strong-buy,.quant-score--buy{background:#165c36}.quant-score--hold{color:#3f3500;background:#e8c82b}.quant-score--sell,.quant-score--strong-sell{background:#b43434}.quant-score--not-covered,.rating-label--not-covered{color:#5f6971;background:#e2e6e9}.status-cell{max-width:230px;color:var(--muted);text-overflow:ellipsis;font-size:.7rem;font-weight:650;overflow:hidden}.grade-badge--excellent{background:#164f2f}.grade-badge--good{background:#397b3d}.grade-badge--average{color:#3d3300;background:#f2d735}.grade-badge--weak{background:#c94343}.grade-badge--missing{color:#6e7880;background:#e2e6e9;min-width:38px}.table-message{height:160px;color:var(--muted);text-align:center}.table-footer{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;font-size:.75rem;display:flex}.pagination{gap:7px;display:flex}.pagination .button{min-height:31px;padding:0 10px;font-size:.7rem}.notice{border:1px solid var(--border);color:#43515c;background:#fff;border-radius:6px;margin:0 0 18px;padding:12px 14px;font-size:.84rem}.notice--success{color:#155737;background:var(--green-soft);border-color:#a8d6bd}.notice--error{color:#8f2929;background:var(--red-soft);border-color:#e1b6b6}.import-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:24px;display:grid}.import-panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:7px;gap:20px;padding:22px;display:grid}.source-heading{align-items:center;gap:14px;display:flex}.source-heading h2,.section-title h2{margin:0;font-size:1.05rem}.source-heading p{color:var(--muted);margin:4px 0 0;font-size:.78rem}.source-mark{color:#fff;border-radius:6px;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:.78rem;font-weight:850;display:grid}.source-mark--tv{background:#285d8a}.source-mark--zacks{background:#347147}.file-field{color:#4d5b66;text-align:center;background:#f8fafb;border:1px dashed #aebbc5;border-radius:6px;place-items:center;min-height:84px;padding:13px;font-size:.78rem;display:grid}.file-field input{width:min(100%,300px);margin-top:9px;font-size:.72rem}.section-title{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px;display:flex}.section-title .eyebrow{margin-bottom:4px}.source-label{text-transform:capitalize}.filename-cell{text-overflow:ellipsis;max-width:320px;overflow:hidden}.status-pill,.rating-label{text-transform:uppercase;border-radius:3px;justify-content:center;align-items:center;min-height:24px;padding:0 9px;font-size:.65rem;font-weight:850;display:inline-flex}.status-pill--completed{color:var(--green);background:var(--green-soft)}.status-pill--processing{color:var(--amber);background:var(--amber-soft)}.status-pill--failed{color:var(--red);background:var(--red-soft)}.security-heading{border-bottom:1px solid var(--border);align-items:flex-end;padding-bottom:18px}.back-link{color:var(--blue);font-size:.77rem;font-weight:700;text-decoration:none}.security-title{align-items:center;gap:16px;margin-top:14px;display:flex}.security-title h1{margin:0;font-size:2rem}.security-title strong,.security-title span{display:block}.security-title strong{margin-bottom:3px;font-size:.95rem}.security-title span,.security-price span{color:var(--muted);font-size:.74rem}.security-price{text-align:right}.security-price strong,.security-price span{display:block}.security-price strong{font-variant-numeric:tabular-nums;margin-bottom:4px;font-size:1.45rem}.rating-layout{grid-template-columns:minmax(220px,.8fr) minmax(380px,1.45fr) minmax(220px,.8fr);gap:18px;margin-bottom:24px;display:grid}.quant-panel,.factor-panel,.market-panel{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:7px;padding:20px}.quant-panel{flex-direction:column;align-items:flex-start;display:flex}.quant-panel>span:first-child{color:var(--muted);font-size:.75rem;font-weight:700}.quant-panel>strong{font-variant-numeric:tabular-nums;margin:6px 0;font-size:2.3rem}.rating-label{color:#fff;background:#516776}.rating-label--strong-buy,.rating-label--buy{background:var(--green)}.rating-label--hold{color:#3d3300;background:#e3c82e}.rating-label--sell,.rating-label--strong-sell{background:var(--red)}.rating-label--small{min-height:21px;padding:0 7px;font-size:.58rem}.score-scale{background:#dce3e8;border-radius:3px;width:100%;height:6px;margin:22px 0 9px;overflow:hidden}.score-scale span{background:var(--blue);height:100%;display:block}.quant-panel small{color:var(--muted);font-size:.68rem}.eligibility-note{margin-top:6px}.factor-panel{padding:13px 20px}.factor-table{border-bottom:1px solid #e5eaee;grid-template-columns:minmax(120px,1fr) repeat(3,46px);align-items:center;min-height:38px;font-size:.74rem;display:grid}.factor-table:last-child{border-bottom:0}.factor-table>:not(:first-child){justify-self:center}.factor-table--head{min-height:28px;color:var(--muted);font-size:.63rem;font-weight:700}.market-panel dl{gap:0;margin:0;display:grid}.market-panel dl div{border-bottom:1px solid #e5eaee;justify-content:space-between;align-items:center;gap:14px;min-height:45px;display:flex}.market-panel dl div:last-child{border-bottom:0}.market-panel dt{color:var(--muted);font-size:.7rem}.market-panel dd{margin:0;font-size:.82rem;font-weight:750}.history-section{overflow:hidden}.sector-section{margin-bottom:24px;overflow:hidden}.sample-pill{color:#45525d;background:var(--surface-muted);border-radius:4px;align-items:center;min-height:26px;padding:0 9px;font-size:.68rem;font-weight:800;display:inline-flex}.sector-table td:first-child{color:#34424e;font-weight:700}.advantage-cell{font-weight:850}.advantage-cell--positive{color:var(--green)}.advantage-cell--negative{color:var(--red)}.advantage-cell--neutral{color:var(--muted)}.chart-wrap{border-bottom:1px solid var(--border);padding:16px 20px 7px}.score-chart{width:100%;height:220px;display:block;overflow:visible}.score-chart line{stroke:#e2e7eb;stroke-width:1px}.score-chart path{fill:none;stroke:var(--blue);stroke-width:3px;vector-effect:non-scaling-stroke}.chart-axis{color:var(--muted);justify-content:space-between;padding:0 2px;font-size:.66rem;display:flex}.auth-page{background:#eaf0f4;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--border);background:#fff;border-radius:8px;width:min(100%,410px);padding:30px;box-shadow:0 16px 40px #1b304021}.brand-symbol{color:#fff;background:var(--navy);border-radius:7px;place-items:center;width:42px;height:42px;margin-bottom:22px;display:grid}.brand-symbol:after{content:"Q";font-weight:850}.brand-symbol span{display:none}.auth-header h1{letter-spacing:0;margin:5px 0 8px;font-size:1.75rem}.auth-header p:last-child{color:var(--muted);margin:0;font-size:.84rem}.auth-form{gap:16px;margin-top:25px;display:grid}.auth-form label{gap:6px;display:grid}.auth-form label span{color:#52616d;font-size:.75rem;font-weight:700}.auth-form input{border:1px solid var(--border-strong);border-radius:5px;outline:none;width:100%;min-height:44px;padding:0 12px}.auth-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1769aa1f}.auth-form button{color:#fff;background:var(--blue);border:1px solid #12598e;border-radius:5px;min-height:43px;font-weight:800}.form-error{color:var(--red);background:var(--red-soft);border-radius:5px;margin:0;padding:10px 12px;font-size:.78rem}.auth-security{color:#84919b;text-align:center;margin:18px 0 0;font-size:.68rem}@media (width<=1000px){.app-header{grid-template-columns:1fr auto}.primary-nav{z-index:21;border-top:1px solid var(--border);background:#fffffffa;grid-template-columns:repeat(2,1fr);height:56px;display:grid;position:fixed;bottom:0;left:0;right:0}.primary-nav a{border-top:3px solid #0000;border-bottom:0;justify-content:center}.primary-nav a:hover,.primary-nav a.router-link-exact-active{border-top-color:var(--blue);border-bottom-color:#0000}.workspace{padding-bottom:86px}.rating-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.factor-panel{grid-area:2/1/auto/-1}}@media (width<=720px){.app-header{min-height:58px;padding:0 14px}.app-brand>span:last-child,.account-name{display:none}.workspace{width:min(100% - 22px,1560px);padding-top:22px}.page-heading,.security-heading{align-items:flex-start}.page-heading{flex-direction:column}.page-heading .button,.date-control,.date-control input{width:100%}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{border-bottom:1px solid var(--border)}.metric:nth-child(2){border-right:0}.metric:nth-child(3),.metric:nth-child(4){border-bottom:0}.data-toolbar{flex-direction:column;align-items:stretch}.search-form,.select-field select{width:100%}.company-cell,.ranking-table th:nth-child(3),.ranking-table td:nth-child(3),.ranking-table th:nth-child(5),.ranking-table td:nth-child(5){display:none}.mobile-company{text-overflow:ellipsis;max-width:150px;display:block;overflow:hidden}.import-grid,.rating-layout{grid-template-columns:1fr}.factor-panel{grid-area:auto}.market-panel{display:none}.security-title{flex-direction:column;align-items:flex-start;gap:7px}.score-chart{height:165px}}@media (width<=440px){.metric{padding:14px}.metric strong{font-size:1.28rem}.search-form{display:grid}.table-footer{flex-direction:column;align-items:stretch}.pagination .button{flex:1}.security-heading{flex-direction:column;align-items:flex-start}.security-price{text-align:left}.factor-table{grid-template-columns:minmax(96px,1fr) repeat(3,42px)}.auth-card{padding:24px 20px}}
