/* Visual language adapted from the user's Rovart/civitae project. */
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:100 900;font-display:swap;src:url('fonts/hanken-grotesk.ttf') format('truetype')}
:root{--bg:#fff;--paper:#fff;--text:#141414;--muted:#6b6b6b;--line:#e6e6e6;--soft:#f5f5f4;--on:#141414;--on-fg:#fff;--blue:#141414;--blue-light:#f1f1f0;--coral:#141414;--green:#6b6b6b}
body{font-family:'Hanken Grotesk',system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.5;background:var(--bg)}
.topbar{height:auto;border:0;background:var(--bg)}.topinner{max-width:720px;padding:32px 20px 0;flex-wrap:wrap;gap:22px;position:relative}/* The logo: the favicon's mark beside the name, as on the sharing banner. */.brand{font-size:20px;font-weight:650;letter-spacing:-.02em;gap:9px}.brand img{display:block;width:30px;height:30px;border-radius:7px}.topright{font-size:12px;color:var(--muted);gap:7px}.topright>.iconbtn{display:none}.eod-dot{background:var(--muted);width:5px;height:5px}.topbar nav{order:3;flex-basis:100%;display:grid;grid-template-columns:1fr 1fr;background:var(--soft);padding:4px;border-radius:12px;height:54px;gap:0}.navlink{font-size:15px;font-weight:600;padding:8px;color:var(--muted);border-radius:9px}.navlink.active{background:var(--bg);color:var(--text);box-shadow:0 1px 2px #00000014}.navlink.active:after{display:none}.navlink span{background:none;font-size:12px;padding:0;color:var(--muted)}main{max-width:1020px;padding:32px 20px 54px}.intro{max-width:680px;margin:0 auto 25px;align-items:center}.intro .eyebrow{display:none}h1{font-size:26px;font-weight:600;letter-spacing:-.6px;margin:0 0 7px;line-height:1.3}.intro p{font-size:14px;color:var(--muted);letter-spacing:0}.export{font-size:13px;min-width:68px;height:38px;min-height:38px;border:1px solid var(--line);padding:0 12px;border-radius:10px;align-self:flex-start;margin-top:2px}.export svg{display:none}.btn{font-size:14px;font-weight:600;border:1px solid var(--line);color:var(--text);border-radius:10px;min-height:44px;padding:0 15px;background:var(--bg)}.btn:hover{background:var(--soft);border-color:#bcbcbc}.metrics{display:none}.scanner{border:0;border-radius:0;background:var(--bg);overflow:visible}.scanner-head{max-width:680px;margin:auto;height:auto;padding:0;border:0;display:none}.scanner-head .tabs{gap:7px;flex-wrap:wrap;height:auto}.tab{font-size:13px;color:var(--muted);padding:6px 10px;border:1px solid var(--line);border-radius:99px}.tab.active{background:var(--on);color:var(--on-fg);border-color:var(--on)}.tab.active:after{display:none}.tab>span{display:none}.textbtn{font-size:12px;color:var(--muted)}.filters{max-width:680px;margin:auto;padding:0;display:grid;grid-template-columns:1fr 1fr auto;gap:10px}.search{grid-column:1/-1;min-height:48px;height:48px;background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:0 16px;gap:10px;min-width:0}.search svg{width:18px;height:18px;color:var(--muted)}.search input{font-size:16px;color:var(--text)}.search input::placeholder{color:#8a8a8a}.search:focus-within{border-color:#8a8a8a;box-shadow:none}.search kbd{color:#929292;border-color:#d9d9d9;font-size:12px}.selectwrap select{min-width:0;width:100%;max-width:none;height:44px;min-height:44px;font-size:13px;color:var(--muted);border-radius:10px;border-color:var(--line);background:var(--bg);padding-left:12px}.filters>.btn{font-size:13px;height:44px}.advanced{max-width:680px;margin:14px auto 0;background:var(--soft);border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(3,1fr);padding:16px}.advanced label{font-size:12px;color:var(--muted)}.advanced input{font-size:14px;min-height:40px;background:var(--bg);color:var(--text);border-color:var(--line);border-radius:7px}.resultsbar{padding:32px 2px 14px;font-size:13px;color:var(--muted)}.resultsbar strong{color:var(--text);font-weight:600}.sortlabel{font-size:12px;color:var(--muted);gap:6px}.sortlabel select{font-size:13px;color:var(--text);max-width:240px;background:var(--bg)}.table-scroll{overflow:visible;background:none}table{white-space:normal;table-layout:fixed;min-width:0;width:100%}th{font-size:12px;letter-spacing:0;background:var(--bg);color:var(--muted);font-weight:400;height:42px;border:0;border-bottom:1px solid var(--line);padding:0 14px}th button{font-size:12px;font-weight:400;white-space:nowrap}th.sorted button{color:var(--text)}th button span{font-size:12px;color:#b5b5b5}th.sorted button span{color:var(--text)}th:nth-child(1){width:32px}th:nth-child(2){width:42px}th:nth-child(3){width:auto}th:nth-child(5){width:135px}th:nth-child(7){width:165px}th:nth-child(8){width:125px}th:nth-child(4),th:nth-child(6),th:nth-child(9),th:nth-child(10),td:nth-child(4),td:nth-child(6),td:nth-child(9),td:nth-child(10){display:none}td{padding:20px 14px;height:auto;vertical-align:middle;border-bottom:1px solid var(--line);font-size:14px}tr.stock{background:var(--bg)}tr.stock:hover{background:var(--soft)}tr.stock:last-child td{border-bottom:1px solid var(--line)}.starcol{padding-left:0;padding-right:0}.favorite{font-size:20px;color:#c5c5c5;width:25px;height:30px}.favorite.saved,.favorite:hover{color:var(--text)}.rank{font-size:11px;color:#8e8e8e;padding-left:4px;padding-right:4px}.company{min-width:0;display:block}.company .avatar{display:none}.ticker{font-size:15px;font-weight:700;color:var(--text);line-height:1.2}.companyname{font-size:13px;color:var(--text);max-width:100%;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.businessline{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px;max-width:100%}.companymeta{font-size:11px;color:#909090;margin-top:5px;display:flex;gap:5px;align-items:center}.companymeta span{color:#aaa}.num{font-size:15px;font-weight:600;color:var(--text)}.subnum{font-size:11px;color:var(--muted);margin-top:4px;white-space:nowrap}.green,.coral{color:var(--text)!important}.drop{font-size:18px;font-weight:600;color:var(--text);letter-spacing:-.35px}.drop.near{color:var(--muted)}.dropbar{display:none}.pagination{border:0;padding:19px 0;color:var(--muted);font-size:12px}.pagination select{font-size:12px;background:var(--bg);color:var(--muted)}.pagination .iconbtn{border-color:var(--line);height:32px;min-width:32px}.iconbtn{border-radius:8px;color:var(--muted);height:34px;min-width:34px}.iconbtn:hover{background:var(--soft)}footer{padding-top:15px;font-size:11px;color:var(--muted);gap:18px}footer .textbtn{font-size:11px}.empty{border:1px dashed var(--line);border-radius:14px;padding:40px 20px;margin:12px 0}.empty>span{color:#999}.empty h3{font-size:19px;font-weight:600}.empty p{font-size:14px;color:var(--muted)}.notice{background:var(--on);color:var(--on-fg);font-size:14px;border-radius:12px;box-shadow:none}dialog{border:1px solid var(--line);border-radius:18px;background:var(--bg);color:var(--text);box-shadow:0 10px 70px #0002}dialog::backdrop{background:#0006;backdrop-filter:none}#detail{width:min(1000px,calc(100vw - 32px))}.detail-shell{padding:0 28px 20px}.detail-toolbar{color:var(--muted);font-size:12px;margin-bottom:22px}.divider{background:var(--line)}.detail-title .avatar{display:none}.detail-title h2{font-size:27px;font-weight:600;color:var(--text);letter-spacing:-.5px;margin-bottom:6px}.detail-title p{font-size:13px;color:var(--muted)}.detail-price{font-size:28px;font-weight:600;white-space:nowrap}.detail-price small{font-size:12px;color:var(--muted)!important;font-weight:400}.detail-business{font-size:14px;color:var(--muted);line-height:1.65;margin:20px 0 22px}.detail-business br{display:none}.detail-business span:last-child{display:none}.detail-stats{gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 20px;padding:18px 0}.detail-stat{background:none;border:0;padding:0 18px;border-radius:0;border-right:1px solid var(--line)}.detail-stat:first-child{padding-left:0}.detail-stat:last-child{border-right:0}.detail-stat label{font-size:10px;letter-spacing:0;color:var(--muted);margin-bottom:8px}.detail-stat strong{font-size:23px;font-weight:600}.detail-stat small{color:var(--muted);font-size:11px;line-height:1.5}.chart-toolbar{padding:0 0 12px;border:0}.chart-toolbar>span{font-size:9px;letter-spacing:.6px;color:var(--muted)}.chart-toolbar i{background:var(--text)}.chart-toolbar button{font-size:12px;padding:5px 10px;color:var(--muted);border-radius:7px}.chart-toolbar button.active{background:var(--on);color:var(--on-fg)}.chart{border-color:var(--line);background:var(--bg);border-radius:9px;height:420px}.detail-bottom{font-size:10px;color:var(--muted);line-height:1.6}.detail-bottom a{color:var(--muted)}.method-content .eyebrow{font-size:10px;color:var(--muted)}.method-content p,.method-content dl{font-size:14px;line-height:1.65}.method-content dt{font-weight:600;color:var(--text)}.method-content dd,.method-content p{color:var(--muted)}.method-content a{color:inherit;text-decoration:underline;text-underline-offset:3px}.method-content .methodsmall{font-size:12px;color:var(--muted)}.loading{color:var(--muted)}.loading>span{border-color:var(--line);border-top-color:var(--text)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--text);outline-offset:3px}tr.stock:focus-visible{outline-color:var(--text)}
@media(min-width:1600px){main{padding-top:32px}.intro{margin-bottom:25px}}
@media(max-width:800px){main{padding:28px 20px 40px}.topinner{padding:24px 20px 0;gap:20px}.topright>span:not(.eod-dot){display:inline}.topbar nav{height:52px}.navlink{font-size:15px}.navlink span{display:inline}.brand{font-size:20px}.intro{gap:16px;margin-bottom:24px}.intro p{max-width:none;font-size:13px}.export{font-size:12px;width:auto;margin-top:0}.filters{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.search{flex-basis:auto}.selectwrap{min-width:0}.selectwrap select{height:44px;font-size:12px;min-width:0}.filters>.btn{min-height:44px;height:44px;font-size:12px;padding:0 12px}.advanced{grid-template-columns:repeat(2,1fr);margin:12px 0 0}.resultsbar{padding:28px 0 12px;align-items:center;font-size:12px}.sortlabel{font-size:0}.sortlabel select{font-size:12px;max-width:220px}.pagination{padding:18px 0}.table-scroll{overflow:visible}th:nth-child(2),td.rank{display:none}th:nth-child(5){width:112px}th:nth-child(7){width:140px}th:nth-child(8){width:100px}.detail-stats{grid-template-columns:repeat(2,1fr);padding:0;border-bottom:0;gap:0}.detail-stat{padding:14px 12px!important;border-bottom:1px solid var(--line);border-right:0}.detail-stat:nth-child(odd){padding-left:0!important}.detail-stat strong{font-size:22px}.detail-title h2{font-size:23px}.detail-title p{font-size:12px}.detail-price{font-size:24px}.detail-business{font-size:13px}.chart{height:360px}footer{gap:10px;flex-wrap:wrap;font-size:10px}footer .textbtn{font-size:10px}}
@media(max-width:620px){.topright{font-size:11px}.intro h1{font-size:23px}.intro p{max-width:260px;line-height:1.5}.filters{grid-template-columns:1fr 1fr}.filters>.btn{grid-column:1/-1;background:var(--bg);min-height:38px;height:38px;border:0;color:var(--muted);padding:0;justify-content:flex-start;font-weight:400;font-size:12px}.filters>.btn svg{width:15px;height:15px}.resultsbar{padding-top:16px;gap:5px}.sortlabel select{max-width:190px;font-size:11px;padding-right:2px}.table-scroll table,.table-scroll tbody{display:block}.table-scroll thead{display:none}tr.stock{display:grid;grid-template-columns:minmax(0,1fr) 122px;position:relative;border-top:1px solid var(--line);padding:20px 0 17px;gap:12px 15px}tr.stock:last-child{border-bottom:1px solid var(--line)}tr.stock td{border:0;padding:0;height:auto;display:block}tr.stock td.starcol{position:absolute;right:0;bottom:17px;width:25px;height:25px;display:block}.favorite{font-size:20px;width:25px;height:25px}tr.stock td:nth-child(2),tr.stock td:nth-child(4),tr.stock td:nth-child(6),tr.stock td:nth-child(9),tr.stock td:nth-child(10){display:none}tr.stock td:nth-child(3){grid-column:1;grid-row:1/3;padding-right:2px}.ticker{font-size:16px}.companyname{font-size:14px;white-space:normal}.businessline{white-space:normal;font-size:12px;line-height:1.5;max-width:270px}.companymeta{font-size:11px;flex-wrap:wrap;gap:4px;margin-top:8px}tr.stock td:nth-child(8){grid-column:2;grid-row:1;align-self:start;text-align:right}.drop{font-size:23px;line-height:1.2}.drop:after{content:'desde máximos';display:block;color:var(--muted);font-size:10px;letter-spacing:0;font-weight:400;margin-top:4px}tr.stock td:nth-child(5){grid-column:2;grid-row:2;text-align:right;display:none}tr.stock td:nth-child(7){grid-column:1/-1;grid-row:3;text-align:left;display:flex;align-items:baseline;gap:6px;padding-right:35px}.stock td:nth-child(7):before{content:'Máximo';font-size:11px;color:var(--muted)}.stock td:nth-child(7) .num{font-size:12px;font-weight:600}.stock td:nth-child(7) .subnum{font-size:11px;margin-top:0}.stock td:nth-child(7) .subnum:before{content:'· ';}.pagination{font-size:12px;gap:10px}.pagination>div{gap:8px}.detail-shell{padding:0 18px 16px}#detail{width:calc(100vw - 16px);max-height:96dvh}.detail-title{display:block}.detail-title h2{font-size:23px;max-width:90%}.detail-price{margin-top:17px;text-align:left;font-size:30px}.detail-price small{display:inline;margin-left:10px;font-size:11px}.detail-business{margin:15px 0}.detail-toolbar{font-size:11px;margin-bottom:18px}.detail-toolbar>div{gap:0}.detail-toolbar .divider{margin:0 4px}.detail-stat label{font-size:9px}.detail-stat small{font-size:10px}.chart-toolbar>span{font-size:7px;letter-spacing:.1px}.chart-toolbar button{font-size:11px;padding:5px 7px}.chart{height:350px}.detail-bottom{font-size:9px}.method-content{padding:30px 22px}footer>button:last-child{margin-left:0}footer>span{flex-basis:100%}}
@media(prefers-color-scheme:dark){:root{--bg:#121212;--paper:#121212;--text:#ececec;--muted:#9a9a9a;--line:#2a2a2a;--soft:#1b1b1b;--on:#ececec;--on-fg:#121212;--blue:#ececec;--blue-light:#202020}.companymeta{color:#8c8c8c}.green,.coral{color:var(--text)!important}.companymeta span{color:#777}.favorite{color:#666}.detail-price small{color:var(--muted)!important}}
/* Financial meaning is always carried by red and green. */
:root{--positive:#218358;--negative:#c54b4b}
.green,.detail-price small.green{color:var(--positive)!important}.coral,.detail-price small.coral{color:var(--negative)!important}.drop,.drop.near{color:var(--negative)}
@media(prefers-color-scheme:dark){:root{--positive:#61bc91;--negative:#e07d7d}}
/* Company identity and optional fundamentals. */
.company{display:flex;gap:14px;align-items:flex-start}.company>div:last-child{min-width:0;flex:1}.company .avatar,.detail-title .avatar{display:grid;position:relative;place-items:center;width:34px;height:34px;min-width:34px;flex-shrink:0;overflow:hidden;border:1px solid var(--line);border-radius:50%;background:#fff;margin-top:1px;color:#555;font-size:11px;font-weight:600}.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:white}.detail-title .avatar{width:45px;height:45px;min-width:45px}.detail-title{display:flex;gap:14px}.detail-title>div:nth-child(2){flex:1;min-width:0}table th.valuationcol,table td.valuationcol{display:table-cell;width:95px}.valuationcol .num{font-size:14px}.valuationcol .subnum{font-size:10px}.fundamentals{border-bottom:1px solid var(--line);margin:-5px 0 20px;padding-bottom:15px}.fundamentals summary{cursor:pointer;font-weight:600;font-size:14px;display:flex;align-items:center;gap:10px;min-height:34px;list-style:none}.fundamentals summary::-webkit-details-marker{display:none}.fundamentals summary:after{content:'+';margin-left:auto;font-size:19px;font-weight:400;color:var(--muted)}.fundamentals[open] summary:after{content:'−'}.fundamentals summary span{font-size:12px;color:var(--muted);font-weight:400;margin-left:6px}.fundamental-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 18px;padding:20px 0 5px}.fundamental-grid label{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.fundamental-grid strong{display:block;font-size:21px;font-weight:600;letter-spacing:-.3px}.fundamental-grid small{font-size:10px;color:var(--muted)}.fundamental-grid .range52{font-size:17px}.fundamental-note{font-size:11px;color:var(--muted);line-height:1.6}.detail-stats{margin-bottom:20px}
@media(max-width:800px){table th.valuationcol,table td.valuationcol{width:80px}.company{gap:10px}.company .avatar{width:29px;height:29px;min-width:29px}.fundamentals summary span{font-size:11px}.fundamental-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){tr.stock td.valuationcol{display:none}.detail-title{display:grid;grid-template-columns:40px 1fr;gap:10px}.detail-title .avatar{width:40px;height:40px;min-width:40px}.detail-title h2{font-size:22px;max-width:none}.detail-price{grid-column:1/-1;margin-top:8px}.detail-price small{font-size:10px}.company .avatar{width:29px;height:29px;min-width:29px}.fundamentals summary span{font-size:10px;margin-left:0}.fundamental-grid{gap:17px 12px}.fundamental-grid label{font-size:11px}.fundamental-grid strong{font-size:20px}.fundamental-grid .range52{font-size:14px}}
@media(max-width:620px){tr.stock td:nth-child(5){display:block;grid-column:2;grid-row:2;text-align:right}.stock td:nth-child(5) .num{font-size:14px}.stock td:nth-child(5) .subnum{font-size:11px}}
.result-summary{display:flex;gap:12px;align-items:center}.result-summary .textbtn{font-size:11px;text-decoration:underline;text-underline-offset:3px;padding:0}
.topbar nav{grid-template-columns:repeat(4,1fr)}.navlink{font-size:14px}.market-selection{max-width:680px;margin:0 auto 18px}.market-picker{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted)}.market-picker select{height:46px;min-height:46px;flex:1;color:var(--text);font-size:15px;font-weight:600;background:var(--bg);border-color:var(--line);border-radius:12px}.market-note{font-size:11px;line-height:1.65;color:var(--muted);margin:12px 0}.market-selection>details{margin-top:12px}.market-selection>details>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;font-size:12px;color:var(--muted);width:fit-content}.market-selection>details>summary::-webkit-details-marker{display:none}.market-selection>details>summary span{font-size:13px}.saved-toolbar{max-width:680px;display:flex;align-items:center;gap:12px;margin:0 auto 12px}.saved-toolbar select{border:0;min-height:30px;height:30px;padding:0 20px 0 0;font-size:12px;color:var(--muted);background:var(--bg);min-width:170px}.saved-toolbar .textbtn{font-size:11px}.saved-toolbar .textbtn:first-of-type{margin-left:auto}.market-overview-scroll{overflow:auto}.market-overview-table{margin-top:14px;table-layout:auto!important;width:100%;font-size:12px;min-width:520px}.market-overview-table td,.market-overview-table th,.comparison-table td,.comparison-table th,.sector-table th,.sector-table td{display:table-cell!important;width:auto;height:auto;padding:12px 10px;font-size:12px;letter-spacing:0;white-space:nowrap;border-bottom:1px solid var(--line);text-align:right;background:var(--bg)}.market-overview-table td:first-child,.market-overview-table th:first-child,.comparison-table td:first-child,.comparison-table th:first-child,.sector-table td:first-child,.sector-table th:first-child{text-align:left}.market-overview-table tr[data-market]{cursor:pointer}.market-overview-table tr[data-market]:hover td{background:var(--soft)}.multi-sort{max-width:680px;margin:0 auto 20px;border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--soft)}.multi-sort label{font-size:11px;color:var(--muted);display:grid;gap:6px}.multi-sort select{width:100%;min-width:0;font-size:12px;background:var(--bg);border-color:var(--line);color:var(--text)}.multi-sort p{grid-column:1/-1;color:var(--muted);font-size:10px;line-height:1.6;margin:0}.sortlabel{gap:8px}.sortlabel>#multi-sort-toggle{white-space:nowrap;font-size:11px;border-left:1px solid var(--line);border-radius:0;padding-left:9px}.compare-rowbtn{height:24px;min-width:24px;border:1px solid var(--line);border-radius:50%;font-size:16px;line-height:1;opacity:0;color:var(--muted);flex-shrink:0;margin-top:4px;transition:opacity .15s}.stock:hover .compare-rowbtn,.compare-rowbtn:focus-visible,.compare-rowbtn.selected{opacity:1}.compare-rowbtn.selected{background:var(--on);color:var(--on-fg);border-color:var(--on);font-size:11px}.compare-tray{position:fixed;z-index:20;bottom:22px;left:50%;transform:translateX(-50%);background:var(--bg);border:1px solid var(--line);border-radius:14px;box-shadow:0 6px 25px #0002;display:flex;align-items:center;gap:14px;padding:10px 12px 10px 20px;max-width:calc(100vw - 24px);font-size:12px}.compare-tray>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:350px}.compare-tray .btn{min-height:36px;height:36px;font-size:12px;background:var(--on);color:var(--on-fg)}.view-form{padding:28px;max-width:440px}.view-form h2{font-size:24px;letter-spacing:-.5px;font-weight:600;margin:0 0 8px}.view-form p{font-size:14px;color:var(--muted)}.view-form>label{display:grid;gap:7px;margin:20px 0;font-size:12px;color:var(--muted)}.view-form input{font:inherit;font-size:16px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--text)}.view-form>div{display:flex;justify-content:flex-end;gap:10px}.view-form .primary{background:var(--on);color:var(--on-fg)}#comparison{width:min(1060px,calc(100vw - 32px));max-height:94dvh;overflow:auto}.comparison-content{padding:30px;position:relative}.comparison-content>.close{position:absolute;right:18px;top:18px}.comparison-content h2{font-size:26px;font-weight:600;margin:0 0 6px;letter-spacing:-.5px}.comparison-content>.muted{font-size:14px;color:var(--muted);margin:0 0 25px}.comparison-chart svg{display:block;width:100%;height:auto;fill:none;overflow:visible}.comparison-chart svg text{font-family:inherit;font-size:11px;fill:var(--muted)}.comparison-grid{stroke:var(--line);stroke-width:1}.comparison-note{font-size:11px;color:var(--muted);line-height:1.65;margin:12px 0 22px}.comparison-legend{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin-top:10px}.comparison-legend>span{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.comparison-legend svg{width:28px;height:8px}.comparison-table-scroll{overflow:auto}.comparison-table{table-layout:auto;min-width:440px}.comparison-table th{vertical-align:top;max-width:200px;white-space:normal}.comparison-table td{font-size:13px}.comparison-table th small{font-size:10px;color:var(--muted);font-weight:400;display:block;margin-top:7px}.comparison-identity{display:flex;align-items:center;justify-content:flex-end;gap:9px}.comparison-identity .avatar{display:grid;width:27px;height:27px;min-width:27px;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:9px}.comparison-identity button{font-weight:600;font-size:13px;padding:0}.sector-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:30px 0 24px}.sector-heading h2{font-size:23px;letter-spacing:-.5px;font-weight:600;margin:0 0 6px}.sector-heading p{font-size:13px;color:var(--muted);margin:0}.sector-heading select{background:var(--bg);border-color:var(--line);color:var(--text);font-size:12px}.sector-visuals{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}.sector-visuals h3{font-size:13px;font-weight:600;margin:0 0 20px}.sector-donut-svg{display:block;width:220px;height:220px;margin:auto}.sector-donut-svg circle[data-sector]{cursor:pointer;transition:opacity .15s}.sector-donut-svg circle[data-sector]:hover{opacity:.65}.sector-donut-svg text{font:600 27px 'Hanken Grotesk',sans-serif;fill:var(--text);stroke:none}.sector-donut-svg text.small{font-size:10px;font-weight:400;fill:var(--muted)}.sector-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin-top:18px}.sector-legend button{display:flex;align-items:center;gap:6px;text-align:left;padding:0;font-size:10px;color:var(--muted)}.sector-legend i{height:7px;width:7px;flex-shrink:0;border-radius:2px}.sector-legend b{font-weight:400;margin-left:auto;font-variant-numeric:tabular-nums}.damage-row{margin-bottom:16px;cursor:pointer}.damage-row>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);margin-bottom:6px}.damage-row b{font-weight:600;font-size:12px;color:var(--negative)}.damage-track{height:4px;border-radius:4px;background:var(--soft);overflow:hidden}.damage-track i{height:100%;display:block;background:var(--negative);opacity:.65;border-radius:4px}.sector-table-scroll{overflow:auto}.sector-table{table-layout:auto;min-width:600px}.sector-table td:first-child{font-weight:600}.sector-table tbody tr{cursor:pointer}.sector-table tbody tr:hover td{background:var(--soft)}.sector-table td{padding-top:17px;padding-bottom:17px}.sector-summary-empty{font-size:13px;line-height:1.7;color:var(--muted);padding:50px 25px;border:1px dashed var(--line);border-radius:12px;text-align:center}main{padding-bottom:100px}
@media(max-width:800px){.navlink{font-size:12px}.navlink span{font-size:10px}.sortlabel>#multi-sort-toggle{font-size:10px}.compare-rowbtn{opacity:1}.company{gap:9px}.comparison-content{padding:25px 18px}.sector-visuals{gap:24px}.sector-heading h2{font-size:21px}}
@media(max-width:620px){.topinner{gap:17px}.topbar nav{height:50px}.navlink{font-size:11px;padding-left:3px;padding-right:3px}.navlink span{display:none}.market-picker select{font-size:14px}.market-note{font-size:10px}.saved-toolbar select{font-size:11px;min-width:140px;max-width:200px}.saved-toolbar{gap:8px}.saved-toolbar .textbtn{font-size:10px}.sortlabel{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:3px}.sortlabel select{max-width:160px;font-size:10px}.sortlabel>#multi-sort-toggle{padding-left:6px;font-size:10px}.resultsbar{align-items:center}.multi-sort{grid-template-columns:1fr;margin-bottom:14px}.multi-sort p{grid-column:1}.compare-rowbtn{margin-top:1px;height:21px;min-width:21px;font-size:14px}.company{position:relative;gap:8px;padding-right:0}.company .avatar{width:25px;height:25px;min-width:25px}.company>div:last-of-type{flex:1;min-width:0}.company .compare-rowbtn{position:absolute;left:2px;top:35px}.compare-tray{bottom:12px;padding:8px 8px 8px 12px;gap:8px}.compare-tray>span{max-width:130px;font-size:10px}.compare-tray .btn{font-size:11px;padding:0 11px}.sector-heading{align-items:flex-start;gap:10px}.sector-heading h2{font-size:20px}.sector-heading p{font-size:11px}.sector-heading select{font-size:10px;max-width:125px;padding-left:7px}.sector-visuals{grid-template-columns:1fr;gap:30px;padding:20px 0}.sector-donut-svg{width:210px;height:210px}.sector-legend{font-size:10px}.comparison-note{font-size:10px}.comparison-chart svg text{font-size:13px}.comparison-legend{gap:10px}.comparison-legend>span{font-size:10px}}
.topinner{gap:12px;padding-top:30px}.topbar nav{margin-top:8px;flex-basis:100%}.header-market{height:34px;min-height:34px;border:0;border-radius:7px;padding:0 22px 0 8px;background:transparent;color:var(--muted);font-size:13px;max-width:180px;cursor:pointer}.header-market:hover{background:var(--soft)}.topright{font-size:10px;gap:5px}.saved-toolbar{margin-top:0;margin-bottom:14px}.saved-toolbar .compact-export{order:5;white-space:nowrap;margin-left:0;font-size:11px}main{padding-top:25px}.topinner>.brand{font-size:20px;letter-spacing:-.04em}#market-dialog{width:min(760px,calc(100vw - 30px));max-height:92dvh;overflow:auto}
@media(max-width:800px){.topinner{padding-top:24px;gap:10px}.header-market{font-size:13px;max-width:165px}.topbar nav{margin-top:7px}main{padding-top:24px}}
@media(max-width:620px){.topinner>.brand{font-size:20px}.header-market{font-size:12px;padding-left:7px;max-width:170px}.saved-toolbar select{min-width:135px;max-width:170px}.saved-toolbar .compact-export{font-size:10px}.saved-toolbar{gap:9px}.saved-toolbar .textbtn{font-size:10px}}
/* Circular company marks without a frame; compact ordering control. */
.company .avatar,.detail-title .avatar,.comparison-identity .avatar{border:0!important;border-radius:50%!important;background:transparent!important;overflow:hidden!important}.avatar img{background:transparent!important;border:0!important;border-radius:50%!important;object-fit:contain!important}.avatar>span{position:absolute}.avatar:has(img)>span{display:none}.avatar:not(:has(img)){background:var(--soft)!important;border-radius:50%!important;color:var(--muted)!important}.sort-trigger{display:inline-flex;gap:7px;align-items:center;font-size:12px;line-height:1.3;font-weight:500;color:var(--text);padding:6px 0 6px 10px;white-space:nowrap}.sort-trigger:before{content:'⇅';color:var(--muted);font-weight:400;font-size:15px}.sort-trigger:hover{color:var(--muted)}#multi-sort{display:none!important}.sortlabel{display:flex;gap:0}.sortlabel>span[hidden]{display:none!important}#sort-dialog{width:min(430px,calc(100vw - 32px));border-radius:16px}.sort-content{padding:23px}.sort-title-row{display:flex;justify-content:space-between;align-items:center}.sort-title-row h2{font-size:22px;font-weight:600;letter-spacing:-.5px;margin:0}.sort-content>p{font-size:12px;color:var(--muted);margin:3px 0 20px}.sort-criterion{display:grid;grid-template-columns:18px minmax(0,1fr) 35px 20px;gap:9px;align-items:center;margin:10px 0}.sort-criterion>span{font-size:11px;color:var(--muted)}.sort-criterion select{font-size:13px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--text);height:42px;width:100%;padding:0 23px 0 11px}.sort-direction{height:35px;width:35px;border:1px solid var(--line);border-radius:8px;font-size:18px;color:var(--text)}.sort-remove{font-size:19px;color:var(--muted);padding:0}.sort-remove:disabled{visibility:hidden}.sort-content>#sort-add{font-size:12px;margin:6px 0 10px 27px}.sort-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:13px;padding-top:18px}.sort-footer .primary{background:var(--on);color:var(--on-fg);font-size:13px;min-height:38px;height:38px}.sort-footer .textbtn{font-size:12px}
@media(max-width:620px){.sort-trigger{font-size:11px;padding-left:5px}.sort-content{padding:20px}.sort-criterion{gap:7px;grid-template-columns:16px minmax(0,1fr) 32px 17px}.sort-criterion select{font-size:12px}.sort-direction{height:32px;width:32px}}

/* Sector colors stay consistent across indices; hover links the chart and its data. */
.sector-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:8px;vertical-align:1px}
.sector-donut-svg circle[data-sector]{transition:opacity .16s,stroke-width .16s;outline:none}
.sector-donut-svg circle[data-sector]:hover{opacity:1}
.has-sector-highlight .sector-donut-svg circle[data-sector]:not(.sector-highlight){opacity:.22}
.sector-donut-svg circle.sector-highlight{stroke-width:32}
.sector-legend button{border-radius:5px;transition:opacity .16s,color .16s}
.sector-legend button.sector-highlight{color:var(--text);font-weight:600}
.has-sector-highlight .sector-legend button:not(.sector-highlight),.has-sector-highlight .damage-row:not(.sector-highlight){opacity:.35}
.sector-legend button.sector-highlight b{font-weight:700}
.sector-table tr.sector-highlight td{background:var(--soft)}
.sector-table tr.sector-highlight td:first-child{box-shadow:inset 3px 0 var(--sector-color)}
.damage-row{transition:opacity .16s}.damage-row.sector-highlight b{font-weight:700}.damage-row.sector-highlight .damage-track i{opacity:1}
.sector-donut-svg text.sector-center-active{font-size:9px;fill:var(--text);font-weight:600}
@media(prefers-reduced-motion:reduce){.sector-donut-svg circle[data-sector],.sector-legend button,.damage-row{transition:none}}

.sector-donut-svg circle[data-sector]{stroke-linecap:butt}
/* Stock detail is an edge-to-edge page; scrolling remains available without a visible rail. */
#detail{inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:100dvh;border:0;border-radius:0;padding:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;overscroll-behavior:contain}
#detail::-webkit-scrollbar{display:none;width:0;height:0}
#detail .detail-shell{max-width:1320px;min-height:100dvh;margin:0 auto;padding:0 38px 25px}
#detail .detail-toolbar{position:sticky;top:0;z-index:5;height:66px;background:var(--bg);margin-bottom:28px}
#detail .chart{height:clamp(400px,55dvh,840px)}
#detail .detail-bottom{padding-bottom:8px}
@media(max-width:620px){#detail .detail-shell{padding:0 20px 22px}#detail .detail-toolbar{height:58px;margin-bottom:20px}#detail .chart{height:55dvh;min-height:350px}#detail .detail-toolbar .iconbtn{min-width:34px;height:38px}}
@media(prefers-reduced-motion:reduce){#detail{animation:none}}

.topbar nav{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:1fr}

.history-ranges{display:flex;align-items:center;gap:4px;justify-content:flex-end;margin:0 0 18px}
.history-ranges button{font-size:12px;border-radius:7px;color:var(--muted);padding:6px 10px}.history-ranges button.active{background:var(--soft);color:var(--text);font-weight:600}
.dominance-history{margin:34px 0 38px;border-bottom:1px solid var(--line);padding-bottom:22px}.dominance-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.dominance-heading h3{font-size:16px;font-weight:600;margin:0}.dominance-heading .history-ranges{margin:0}
.dominance-legend{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;margin:15px 0}.dominance-legend button{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;padding:2px 0}.dominance-legend i{width:7px;height:7px;border-radius:50%}.dominance-line{cursor:pointer;transition:opacity .15s,stroke-width .15s;outline:none}.dominance-line.sector-highlight{stroke-width:3.8}.has-sector-highlight .dominance-line:not(.sector-highlight),.has-sector-highlight .dominance-legend button:not(.sector-highlight){opacity:.18}.dominance-legend button.sector-highlight{font-weight:700;color:var(--text)}
@media(max-width:620px){.dominance-heading{align-items:flex-start;flex-direction:column;gap:12px}.dominance-heading h3{font-size:15px}.history-ranges button{font-size:11px;padding:5px 10px}.dominance-history .comparison-chart>svg{min-height:190px}.dominance-legend{gap:6px 13px}.dominance-legend button{font-size:10px}}
@media(prefers-reduced-motion:reduce){.dominance-line{transition:none}}

.dominance-legend button.series-hidden{opacity:.4!important}.dominance-legend button.series-hidden span{text-decoration:line-through}.dominance-legend button.series-hidden i{background:var(--muted)!important}

/* Price returns share the existing red/green semantics without widening the scanner. */
.return-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 8px;margin-top:13px;text-align:right;font-variant-numeric:tabular-nums}
.period-return{min-width:0}.period-return>span{display:block;font-size:9px;color:var(--muted);font-weight:400;line-height:1.4}.period-return>strong{display:block;font-size:11px;font-weight:600;white-space:nowrap;line-height:1.6;letter-spacing:-.2px}
.table-scroll th.returns-mobile,.table-scroll td.returns-mobile{display:none}
.detail-returns{padding:0 0 18px;margin:0 0 20px;border-bottom:1px solid var(--line)}.detail-returns .return-grid{grid-template-columns:repeat(4,minmax(0,1fr));text-align:left;margin:0;gap:20px}.detail-returns .period-return>span{font-size:11px}.detail-returns .period-return>strong{font-size:20px;letter-spacing:-.3px;line-height:1.7}.detail-returns>p{font-size:10px;color:var(--muted);margin:8px 0 0}
.sector-table{min-width:880px}
@media(max-width:620px){.stock .drawcol .return-grid{display:none}tr.stock td.returns-mobile{display:block;grid-column:1/-1;grid-row:4;border-top:1px solid var(--line);padding-top:12px;margin-top:1px}.returns-mobile .return-grid{grid-template-columns:repeat(4,minmax(0,1fr));text-align:left;margin:0;gap:12px}.returns-mobile .period-return>span{font-size:10px}.returns-mobile .period-return>strong{font-size:13px;line-height:1.8}.detail-returns .return-grid{gap:10px}.detail-returns .period-return>strong{font-size:16px}.detail-returns .period-return>span{font-size:10px}}
/* Each chosen metric is an independent column; identity stays visible. */
main{max-width:1280px}.scanner .table-scroll{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.scanner-table{table-layout:fixed;width:100%;white-space:normal}
.scanner-table>thead>tr>th,.scanner-table>tbody>tr.stock>td{display:table-cell!important;position:static;grid-column:auto;grid-row:auto;width:auto;padding:18px 10px;vertical-align:middle;border-bottom:1px solid var(--line);text-align:right}
.scanner-table>thead>tr>th{height:42px;padding-top:0;padding-bottom:0;font-size:11px;letter-spacing:0;font-weight:400}
.scanner-table>thead>tr>th.metric-col{width:96px!important}.scanner-table>thead>tr>th.companycol{width:240px!important;text-align:left}.scanner-table>tbody>tr.stock>td.companycol{text-align:left}
.scanner-table>thead>tr>th.starcol,.scanner-table>tbody>tr.stock>td.starcol{width:30px!important;padding-left:0;padding-right:0;text-align:left}
.scanner-table .metric-col .num{font-size:14px;font-weight:600;white-space:nowrap;letter-spacing:-.2px}.scanner-table .metric-col .subnum{font-size:10px;white-space:nowrap;letter-spacing:0;margin-top:5px}.scanner-table .metric-col .subnum:before,.scanner-table .metric-col:before{content:none!important}
.scanner-table .company{min-width:0;gap:11px}.scanner-table .company>div:last-of-type{min-width:0;flex:1}.scanner-table .companyname{white-space:nowrap;font-size:12px}.scanner-table .ticker{font-size:14px}.scanner-table .businessline,.scanner-table .companymeta{font-size:10px}.scanner-table .compare-rowbtn{margin-left:0}.metric-sector-name{font-size:11px;color:var(--muted)}
.scanner-table th button{font-size:11px;font-weight:400}.scanner-table th button span{font-size:10px}
.columns-trigger{font-size:12px;padding:6px 0;margin-right:14px;white-space:nowrap}.sector-controls{display:flex;align-items:center;gap:8px}.sector-controls .columns-trigger{margin:0}
#columns-dialog{width:min(430px,calc(100vw - 30px));max-height:92dvh;overflow:auto;scrollbar-width:none}#columns-dialog::-webkit-scrollbar{display:none}.columns-content{padding:24px}.columns-content>p{font-size:12px;color:var(--muted);margin:4px 0 20px}#column-options{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px}#column-options label{display:flex;align-items:center;gap:9px;min-height:34px;font-size:13px;cursor:pointer}#column-options input{width:15px;height:15px;margin:0;accent-color:var(--text);cursor:pointer}.columns-content .sort-footer{margin-top:18px}
.sector-table{min-width:0}
@media(max-width:800px){.scanner-table>thead>tr>th.companycol{width:205px!important}.scanner-table>thead>tr>th,.scanner-table>tbody>tr.stock>td{padding-left:9px;padding-right:9px}.sector-controls{align-items:flex-end;flex-direction:column;gap:5px}}
@media(max-width:620px){
 .scanner .table-scroll{overflow:visible}.scanner-table{display:block;min-width:0!important;width:100%}.scanner-table>thead{display:none}.scanner-table>tbody{display:block}
 .scanner-table>tbody>tr.stock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 10px;padding:20px 0;border-top:1px solid var(--line);position:relative}
 .scanner-table>tbody>tr.stock>td.companycol{display:block!important;grid-column:1/-1!important;grid-row:1!important;border:0;padding:0 30px 0 0;width:auto;text-align:left}
 .scanner-table>tbody>tr.stock>td.starcol{display:block!important;position:absolute;right:0;top:19px;bottom:auto;border:0;padding:0;width:25px!important;height:25px}
 .scanner-table>tbody>tr.stock>td.metric-col{display:block!important;grid-column:auto!important;grid-row:auto!important;border:0;padding:0!important;text-align:left!important;width:auto;align-self:start}
 .scanner-table>tbody>tr.stock>td.metric-col:before{display:block!important;content:attr(data-label)!important;color:var(--muted);font-size:9px;font-weight:400;margin-bottom:5px;white-space:nowrap;letter-spacing:0}
 .scanner-table .metric-col .num{font-size:13px;letter-spacing:-.25px;line-height:1.3}.scanner-table .metric-col .subnum{font-size:9px;letter-spacing:-.1px;margin-top:5px}
 .scanner-table .company{position:relative;padding:0;gap:9px;align-items:flex-start}.scanner-table .company .compare-rowbtn{position:static;inset:auto;margin:2px 0 0 0;opacity:1;height:22px;min-width:22px}.scanner-table .company .avatar{width:29px;height:29px;min-width:29px}.scanner-table .ticker{font-size:15px}.scanner-table .companyname{font-size:13px;white-space:normal}.scanner-table .businessline{font-size:11px;line-height:1.5}.scanner-table .companymeta{font-size:10px;margin-top:6px}
 .columns-trigger{font-size:11px;margin-right:12px}.sector-controls .columns-trigger{font-size:11px}.columns-content{padding:22px}#column-options{gap:3px 10px}#column-options label{font-size:12px}
}
@media(max-width:370px){.scanner-table>tbody>tr.stock{grid-template-columns:repeat(3,minmax(0,1fr))}}

.comparison-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin:0 0 18px}.comparison-controls .history-ranges{margin:0}
footer{flex-wrap:wrap}#footer-method{margin-left:auto}.legal-links{display:flex;gap:14px;flex-basis:100%;justify-content:center;font-size:11px;padding-top:6px}.legal-links a{color:var(--muted);text-decoration:none}.legal-links a:hover{color:var(--text);text-decoration:underline}
.attribution{margin-top:34px}.attribution-summary{font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 14px}.attribution-summary b{color:var(--text);font-weight:600}.attribution-crumb{margin:0 0 6px}.attribution-crumb .textbtn{font-size:12px;padding:0}
.attribution-table{display:grid;margin-top:6px}.attribution-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1.1fr) 64px minmax(0,1.5fr);gap:14px;align-items:center;padding:9px 6px;border-bottom:1px solid var(--line);font-size:12px;text-align:left;width:100%;color:var(--text);background:none;border-radius:0}
button.attribution-row{cursor:pointer}button.attribution-row:hover{background:var(--soft)}button.attribution-row:disabled{cursor:default;color:var(--muted)}.attribution-row.head{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding-top:4px}.attribution-row.rest{color:var(--muted)}
.attribution-name{display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attribution-name i{width:7px;height:7px;border-radius:50%;flex-shrink:0}.attribution-name b{font-weight:600}.attribution-name small{color:var(--muted);font-size:10px}
.attribution-weight{display:grid;grid-template-columns:1fr 50px;gap:8px;align-items:center}.attribution-weight i{height:6px;border-radius:3px;min-width:2px}.attribution-weight b,.attribution-contribution b{font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.attribution-contribution{display:grid;grid-template-columns:1fr 62px;gap:8px;align-items:center}.attribution-diverging{position:relative;display:block;height:8px;background:linear-gradient(var(--line),var(--line)) center/1px 100% no-repeat}.attribution-diverging i{position:absolute;top:1px;height:6px;border-radius:2px}.attribution-diverging i.up{background:var(--positive)}.attribution-diverging i.down{background:var(--negative)}
.attribution-line[data-attribution-sector]{cursor:pointer}.attribution-line[data-attribution-sector]:hover{stroke-width:3}.attribution-legend{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;margin:15px 0}.attribution-legend button{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;padding:2px 0}.attribution-legend button:disabled{cursor:default;color:var(--muted)}.attribution-legend i{width:7px;height:7px;border-radius:50%}.attribution-legend b{color:var(--text)}
@media(max-width:620px){.attribution-row{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr) 52px minmax(0,1.15fr);gap:8px;font-size:11px;padding:8px 2px}.attribution-weight{grid-template-columns:1fr 42px;gap:5px}.attribution-contribution{grid-template-columns:1fr 54px;gap:5px}.attribution-summary{font-size:12px}}
/* Sector identity: the eight validated categorical hues for the largest sectors, then brown, slate and taupe.
   Series slots (comparisons) are a separate validated order. Both have their own dark-mode steps. */
:root{--sector-tecnologia:#2a78d6;--sector-finanzas:#6250d6;--sector-salud:#1baf7a;--sector-industria:#eda100;--sector-discrecional:#eb6834;--sector-comunicacion:#e87ba4;--sector-energia:#e34948;--sector-basico:#008300;--sector-materiales:#9c6b3c;--sector-publicos:#64748b;--sector-inmobiliario:#a1887f;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300}
@media(prefers-color-scheme:dark){:root{--sector-tecnologia:#3987e5;--sector-finanzas:#9085e9;--sector-salud:#199e70;--sector-industria:#c98500;--sector-discrecional:#d95926;--sector-comunicacion:#d55181;--sector-energia:#e66767;--sector-basico:#2f9a2f;--sector-materiales:#b9844f;--sector-publicos:#94a3b8;--sector-inmobiliario:#bcaaa4;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#2f9a2f}}
.comparison-chart svg .chart-labels text{font-size:10px;font-weight:400;letter-spacing:.01em;fill:var(--muted)}.comparison-chart svg .chart-labels g.strong text{fill:var(--text);font-weight:500}.chart-labels g.optional{display:none}.line-focus .chart-labels g.optional.is-focus{display:inline}.line-focus .attribution-line:not(.is-focus),.line-focus .chart-labels g:not(.is-focus),.line-focus .comparison-line:not(.is-focus){opacity:.12}.attribution-line,.comparison-line,.chart-labels g{transition:opacity .15s}.line-focus .chart-labels g.is-focus text{fill:var(--text)}
.attribution-controls{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:flex-end}.attribution-controls .history-ranges{margin:0}
@media(max-width:620px){.comparison-chart svg .chart-labels text{font-size:12px}}
/* The icon rule (svg{stroke:currentColor}) must not outline chart text. */
svg text{stroke:none}
.sector-metric-picker{display:flex;justify-content:flex-end;margin:0 0 16px}.sector-metric-picker select{font:600 13px 'Hanken Grotesk',sans-serif;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:9px;height:34px;min-height:34px;padding:0 30px 0 10px}.damage-row.mixed .damage-track{background:linear-gradient(var(--line),var(--line)) center/1px 100% no-repeat,var(--soft)}.damage-track i{display:block}
.noscript{max-width:680px;margin:60px auto;padding:0 20px;font-size:15px;line-height:1.7}.noscript h1{font-size:28px}
/* Metric values: neutral by default, coloured only when the metric has a sign. */
.damage-row b{color:var(--text)}.damage-row b.green{color:var(--positive)}.damage-row b.coral{color:var(--negative)}
/* Stock page toolbar: one icon set, same size and baseline. */
.detail-toolbar .iconbtn svg{width:19px;height:19px;stroke-width:1.8}#detail-star.saved svg path{fill:currentColor}
.rank-badge,.mobile-quote,.row-expand{display:none}
@media(max-width:620px){
 #detail .detail-toolbar .iconbtn{min-width:40px;height:40px;display:inline-grid;place-items:center}#detail .detail-toolbar .iconbtn svg{width:21px;height:21px}
 /* Explorer controls: search alone, then sector, size and filters in one compact row; saved views and CSV stay on desktop. */
 .saved-toolbar{display:none!important}
 .filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px!important;gap:8px!important}
 .filters .search{grid-column:1/-1;height:42px;min-height:42px}.filters .search input{font-size:15px}.filters .search kbd{display:none}
 .filters select{height:40px;min-height:40px;font-size:12px;padding-left:10px}
 .filters>.btn{grid-column:auto!important;width:40px;height:40px!important;min-height:40px!important;padding:0!important;justify-content:center!important;border:1px solid var(--line)!important;border-radius:12px;position:relative}
 .filters>.btn .filter-label{display:none}.filters>.btn svg{margin:0}
 .filters>.btn #filter-count{position:absolute;top:-6px;right:-6px}
 /* Rows: rank next to the ticker, price and change under + and ☆, metrics unfolded on demand. */
 .rank-badge{display:inline;margin-left:6px;font-size:11px;font-weight:500;color:var(--muted)}
 .scanner-table .company{display:grid;grid-template-columns:29px minmax(0,1fr) auto;column-gap:9px;row-gap:6px}
 .scanner-table .company>.avatar{grid-column:1;grid-row:1/span 3}
 .scanner-table .company>div:not(.mobile-quote):not(.avatar){grid-column:2;grid-row:1/span 3;min-width:0}
 .scanner-table .company>.compare-rowbtn{grid-column:3;grid-row:1;justify-self:end;margin:0 32px 0 0!important}
 .scanner-table>tbody>tr.stock>td.companycol{padding-right:0}
 .mobile-quote{display:flex;flex-direction:column;align-items:flex-end;grid-column:3;grid-row:2;font-variant-numeric:tabular-nums}
 .mobile-quote b{font-size:15px;font-weight:600}.mobile-quote small{font-size:11px;margin-top:2px}
 .row-expand{display:inline-grid;place-items:center;grid-column:3;grid-row:3;justify-self:end;width:30px;height:24px;color:var(--muted);padding:0}
 .row-expand svg{width:18px;height:18px;transition:transform .2s}tr.stock.expanded .row-expand svg{transform:rotate(180deg)}
 .scanner-table>tbody>tr.stock:not(.expanded)>td.metric-col,.scanner-table>tbody>tr.stock:not(.expanded)>td.returns-mobile{display:none!important}
 .scanner-table>tbody>tr.stock:not(.expanded){padding-bottom:14px}
}
/* Stock page: six indicators, three per row (two on mobile). */
#detail .detail-stats{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:18px}
.range-bar{position:relative;height:4px;border-radius:4px;background:var(--soft);margin:8px 0 2px;max-width:160px}.range-bar i{position:absolute;top:-3px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--text)}
@media(max-width:620px){#detail .detail-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px;padding-top:14px}#detail .detail-price{text-align:left;margin-left:0}}
#detail .detail-stat{padding:0 18px;border-right:1px solid var(--line)}#detail .detail-stat:nth-child(3n+1){padding-left:0}#detail .detail-stat:nth-child(3n){border-right:0}
#detail .detail-stat strong{font-size:21px}.range-bar{background:var(--line)}
@media(max-width:620px){#detail .detail-stat{padding:12px 12px!important;border-right:0;border-bottom:1px solid var(--line)}#detail .detail-stat:nth-child(odd){padding-left:0!important}#detail .detail-stat strong{font-size:18px}}
/* Legend swatches are small inline SVGs: no chart sizing applies to them. */
.attribution-legend svg,.comparison-legend svg{width:22px;height:6px;min-height:0;flex-shrink:0}
.sector-table-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:34px 0 10px}.sector-table-heading h3{font-size:16px;font-weight:600;margin:0}.sector-table-heading h3 span{font-weight:400;font-size:12px;color:var(--muted)}.sector-table-heading .sector-controls{display:flex;align-items:center;gap:12px}
@media(max-width:620px){.sector-table-heading{flex-direction:column;align-items:flex-start}}

/* Column order is independent of the order of rows. */
.column-handle{display:inline-grid;place-items:center;vertical-align:middle;width:18px;height:28px;padding:0!important;font-size:16px!important;color:var(--muted);opacity:.45;cursor:grab;touch-action:none;user-select:none}
.column-handle:hover,.column-handle:focus-visible{opacity:1}.column-handle:active{cursor:grabbing}
.column-dragging{opacity:.45}.column-drop-target{box-shadow:inset 2px 0 var(--text);background:var(--soft)!important}
#column-options{display:flex;flex-direction:column;gap:0;max-height:51dvh;overflow:auto;scrollbar-width:none}#column-options::-webkit-scrollbar{display:none}
.column-option{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line)}.column-option label{flex:1}#column-options .column-handle{width:25px;height:36px}
.sort-mode-label{display:block;margin:16px 0 10px}.sort-mode-label select{width:100%;height:38px;background:var(--soft);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:0 10px;font:inherit;font-size:13px}
.sort-content>p{line-height:1.6;min-height:58px}.index-rank{font-size:10px;font-weight:400;color:var(--muted);white-space:nowrap;margin-left:5px;letter-spacing:0}#detail-name .index-rank{font-size:14px;vertical-align:middle}.balance-tile a{color:inherit;text-decoration:underline;text-underline-offset:2px}

.column-handle:disabled{opacity:.12;cursor:default}

.fundamental-grid a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}

.scanner-table .companyname{display:flex;align-items:baseline;gap:3px}/* The text column shrinks with its cell, so a long name ends in an ellipsis instead of crossing into the next column. */.company>div{min-width:0}.company-name-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.companyname .index-rank{flex:none;margin-left:0}@media(max-width:620px){.scanner-table .company-name-text{white-space:normal;overflow:visible;overflow-wrap:anywhere}}

/* Reserve independent space for the drag handle, label and sort direction. */
.scanner-table>thead>tr>th.metric-col{width:var(--column-width,96px)!important}
.column-heading{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0}
.column-heading>.column-handle{flex:0 0 18px;line-height:1}
.column-heading>[data-sort]{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0;line-height:1.4;padding:8px 0}
.column-heading .column-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:inherit}
.column-heading .sort-arrow{flex:none;min-width:15px;text-align:right;line-height:1.4}

#dividends-panel{max-width:1000px;margin:auto}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.calendar-heading h2{font-size:22px;font-weight:600;letter-spacing:-.5px;margin:0}.calendar-heading .market-note{margin:6px 0 0}.calendar-heading select{font:inherit;font-size:12px;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:8px;min-height:36px;padding:0 10px}
.calendar-toolbar{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:24px}.calendar-search{flex:1}.calendar-search input{width:100%;background:var(--soft);border:1px solid var(--line);border-radius:9px;padding:11px 13px;color:var(--text);font:inherit;font-size:13px}.calendar-toolbar .textbtn{font-size:12px}.calendar-toolbar [aria-pressed=true]{color:var(--text);text-decoration:underline;text-underline-offset:5px}
.dividend-calendar-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:40px;align-items:start}.calendar-month-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.calendar-month-nav h3{margin:0;font-size:15px;font-weight:600;text-transform:capitalize}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekday{text-align:center;font-size:10px;color:var(--muted);padding:5px}.calendar-day{position:relative;border:1px solid transparent;border-radius:9px;min-height:42px;font-size:12px;color:var(--muted);padding:5px}.calendar-day:hover{background:var(--soft)}.calendar-day small{display:block;font-size:9px;margin-top:3px;color:var(--text)}.calendar-day.today{border-color:var(--line);color:var(--text)}.calendar-day.selected{background:var(--on);color:var(--on-fg)}.calendar-day.selected small{color:inherit}.calendar-month-footer{display:flex;justify-content:space-between;margin-top:15px}.calendar-month-footer button{font-size:11px}
.calendar-date-group h3{font-size:12px;font-weight:500;color:var(--muted);margin:0 0 10px}.calendar-date-group+.calendar-date-group{margin-top:27px}.calendar-event{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;border-bottom:1px solid var(--line);padding:15px 0}.calendar-company{display:flex;align-items:center;gap:11px;text-align:left;padding:0;min-width:0}.calendar-company>span{min-width:0}.calendar-company b{display:block;font-size:13px;font-weight:600}.calendar-company small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.calendar-company .avatar{width:30px;height:30px;min-width:30px;border:0;border-radius:50%;overflow:hidden;position:relative}.calendar-event-amount{text-align:right;white-space:nowrap}.calendar-event-amount b{font-size:15px;font-weight:600;display:block}.calendar-event-amount a{display:block;font-size:10px;color:var(--muted);margin-top:6px}.calendar-event-dates{grid-column:1/-1;display:flex;gap:22px;font-size:10px;color:var(--muted)}.calendar-event-dates b{font-weight:400;color:var(--text);margin-left:5px}.calendar-empty{font-size:13px;color:var(--muted);line-height:1.7;margin:0;padding:10px 0}.calendar-note{border-top:1px solid var(--line);margin-top:30px;padding-top:16px;font-size:10px;max-width:760px}
@media(max-width:760px){.dividend-calendar-layout{grid-template-columns:1fr;gap:30px}.calendar-month-box{max-width:400px;width:100%;margin:auto}.calendar-heading{align-items:flex-start}.calendar-heading h2{font-size:20px}.calendar-heading select{max-width:140px;font-size:11px}.calendar-event-dates{flex-wrap:wrap;gap:10px 22px}.calendar-toolbar{margin-bottom:18px}.topbar .navlink{white-space:nowrap}.calendar-day{min-height:40px}}

.calendar-jump{font-size:12px;text-decoration:underline;text-underline-offset:4px;margin-top:10px}

.calendar-event-dot{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);width:6px;height:6px;border-radius:50%;background:var(--positive)}
.calendar-day.selected .calendar-event-dot{box-shadow:0 0 0 2px var(--on)}
.calendar-event{display:block;border:1px solid var(--line);border-radius:13px;padding:18px 20px;margin-bottom:12px;background:var(--bg)}
.calendar-event-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.calendar-event .calendar-company{flex:1;align-items:center}.calendar-event .calendar-company b{font-size:15px;line-height:1.4}.calendar-event .calendar-company small{font-size:11px;line-height:1.5}.calendar-event .calendar-company .avatar{width:34px;height:34px;min-width:34px}
.calendar-source{flex-shrink:0;color:var(--muted);font-size:10px;white-space:nowrap;margin-top:4px}.calendar-payout{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:21px 0 18px}.calendar-payout>div{display:flex;flex-direction:column;gap:7px}.calendar-payout span{font-size:11px;color:var(--muted);line-height:1.4}.calendar-payout strong{font-size:25px;font-weight:600;letter-spacing:-.6px;line-height:1.2}.calendar-payout small{font-size:10px;color:var(--muted);line-height:1.5}.calendar-event .calendar-event-dates{border-top:1px solid var(--line);padding-top:13px;font-size:11px;line-height:1.6;gap:12px;justify-content:space-between}.calendar-event-dates b{display:block;margin-left:0;margin-top:3px;font-size:12px;font-weight:500}.calendar-event .calendar-event-dates>span{flex:1}
@media(max-width:620px){.calendar-event{padding:16px}.calendar-event-header{gap:8px}.calendar-event .calendar-company b{font-size:14px}.calendar-source{font-size:9px}.calendar-payout strong{font-size:24px}.calendar-payout{gap:12px}.calendar-payout span{font-size:10px}}

/* The current-session quote belongs to TradingView; the dated close remains the
   reference for NeuroFi's snapshot metrics and dividend-payment percentages. */
.detail-close-label{display:block;font-size:10px;color:var(--muted);font-weight:400;letter-spacing:0;margin-bottom:5px;line-height:1.4}


.quote-loading{font-size:12px;color:var(--muted);padding:20px 0;margin:0}
@media(max-width:620px){.detail-close-label{font-size:10px;max-width:none;margin-left:0}}

/* Ranking header: what the visitor is looking at, in one sentence. */
.market-hero{max-width:680px;margin:0 auto 22px}
.market-hero h1{font-size:25px;font-weight:650;letter-spacing:-.5px;line-height:1.25;margin:0 0 9px}
.market-hero p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}
/* Shortcuts */
.presets{max-width:680px;margin:14px auto 0;display:flex;gap:7px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}.presets::-webkit-scrollbar{display:none}.preset{flex:none}
.preset{font-size:13px;color:var(--muted);padding:6px 12px;border:1px solid var(--line);border-radius:99px;background:var(--bg);white-space:nowrap}
.preset:hover{color:var(--text);border-color:var(--muted)}
.preset.active{background:var(--on);color:var(--on-fg);border-color:var(--on)}
/* Advanced filters: each bound pair on one line */
.advanced{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.advanced fieldset{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0}
.advanced legend{font-size:12px;color:var(--muted);padding:0;margin:0 0 6px;float:left;width:100%}
.advanced fieldset>span{font-size:12px;color:var(--muted)}
.advanced fieldset input{flex:1 1 0;min-width:0;width:auto}
@media(max-width:620px){.advanced{grid-template-columns:1fr}}
/* Rank by market cap: its own column on wide screens, next to the name on phones */
.scanner-table>thead>tr>th.rankcol,.scanner-table>tbody>tr.stock>td.rankcol{width:46px!important;text-align:right;padding-left:2px;padding-right:12px;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}
.scanner-table>thead>tr>th.rankcol button{margin-left:auto}
.scanner-table .companyname .index-rank{display:none}
@media(max-width:620px){.scanner-table>thead>tr>th.rankcol,.scanner-table>tbody>tr.stock>td.rankcol{display:none!important}.scanner-table .companyname .index-rank{display:inline}}
.scanner-table .metric-spark .spark{width:98px;height:30px;display:block}
@media(max-width:620px){.scanner-table>tbody>tr.stock>td.metric-spark{display:none!important}}
/* Column handles show on hover; touch screens reorder from the Columns dialog */
.scanner-table th .column-handle,.sector-table th .column-handle{opacity:0;transition:opacity .15s}
.scanner-table th:hover .column-handle,.sector-table th:hover .column-handle,.scanner-table th .column-handle:focus-visible,.sector-table th .column-handle:focus-visible{opacity:.6}
@media(hover:none){.scanner-table th .column-handle,.sector-table th .column-handle{display:none}}
/* Live prices */
.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--positive);margin-right:6px;vertical-align:1px;animation:live 2s ease-in-out infinite}
@keyframes live{50%{opacity:.3}}
[data-live-price]{border-radius:4px;transition:background-color .8s ease-out}
[data-live-price].tick{background-color:var(--soft);transition:none}
@media(prefers-reduced-motion:reduce){.live-dot{animation:none}[data-live-price]{transition:none}}
.quote-value{display:flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}
.session-icon{display:inline-flex;flex-shrink:0;color:var(--muted)}
.session-icon svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.detail-price .detail-close-label{display:block;font-size:11px;font-weight:400;letter-spacing:0;color:var(--muted);margin-bottom:5px}
.detail-price .detail-price-value{display:flex;gap:8px}.detail-price-value .session-icon svg{width:18px;height:18px}
@media(max-width:620px){.detail-price .detail-price-value{justify-content:flex-start}}
#detail-total{font-size:12px;color:var(--muted);margin:10px 0 0}
#detail-total b{font-weight:600}
/* Sectors: three blocks; methodology behind "Cómo se calcula" */
.how{margin-top:10px}
.how>summary{font-size:12px;color:var(--muted);cursor:pointer;width:max-content}
.how>summary:hover{color:var(--text)}
.how .comparison-note{margin-top:8px}
.sector-visuals>section{min-width:0}
.sector-weights.wide,.sector-weights.wide+.sector-health{grid-column:1/-1}
.sector-visuals .dominance-heading h3{margin:0}
.sector-detail{border-top:1px solid var(--line);padding-top:18px;margin-top:6px}
.sector-detail>summary{font-size:15px;font-weight:600;cursor:pointer}
.sector-detail .sector-table-heading{margin:12px 0 10px}
.sector-detail .sector-table-heading p{margin:0}
/* Dividend calendar: one compact row per payment */
.calendar-event{display:grid;grid-template-columns:minmax(0,2fr) repeat(4,minmax(0,1fr)) 24px;align-items:center;gap:12px;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 0;margin:0;background:none}
.calendar-event .calendar-company .avatar{width:30px;height:30px;min-width:30px}
.calendar-event .calendar-company b{font-size:13px}
.calendar-cell{min-width:0}
.calendar-cell span{display:block;font-size:10px;color:var(--muted);margin-bottom:3px;white-space:nowrap}
.calendar-cell b{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.calendar-event .calendar-source{font-size:13px;margin:0;text-align:center}
@media(max-width:620px){.calendar-event{grid-template-columns:repeat(4,minmax(0,1fr)) 22px;padding:14px 0}.calendar-event .calendar-company{grid-column:1/-1}}
.calendar-month-nav h3{text-transform:none}
/* Header: language switch */
.lang-switch{display:flex;gap:2px}
.lang-switch button{font-size:11px;padding:3px 7px;border-radius:6px;color:var(--muted)}
.lang-switch button.active{background:var(--soft);color:var(--text);font-weight:600} /* Phones: only the other language, so the switch stays on the brand row. */ @media(max-width:620px){.topright{flex:none}.lang-switch button.active{display:none}.topinner .market-button{max-width:min(200px,calc(100% - 160px))}}
.method-list{margin:6px 0 8px;padding-left:18px}
.method-content #method-body dd{margin-bottom:4px}
#data-status.stale{color:#c39049}
/* The drag handle sits in the column's left padding, so labels keep their full width. */
.scanner-table .column-heading,.sector-table th{position:relative}
.scanner-table .column-heading>.column-handle,.sector-table th>.column-handle{position:absolute;left:-12px;top:50%;transform:translateY(-50%);flex:none}
@media(max-width:620px){.market-hero{margin-bottom:18px}.market-hero h1{font-size:21px}.market-hero p{font-size:13px}.presets{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:12px -20px 0;padding:0 20px}.presets::-webkit-scrollbar{display:none}.resultsbar .compact-export{display:none}}
.return-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
@media(max-width:620px){.return-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
/* Advanced filters: each range is one control (from – to, unit), in a compact grid */
.advanced{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px 16px!important;padding:16px!important;border-radius:14px}
.advanced .range-field{border:0;margin:0;padding:0;min-width:0;display:block}
.advanced .range-field.wide{grid-column:span 2}
.advanced .range-field legend{float:left;width:100%;padding:0;margin:0 0 6px;font-size:11px;color:var(--muted)}
.advanced .range-inputs{clear:both;display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;background:var(--bg);border:1px solid var(--line);border-radius:10px;transition:border-color .15s}
.advanced .range-inputs:focus-within{border-color:var(--muted)}
.advanced .range-inputs input{flex:1 1 0;min-width:0;width:100%;height:100%;min-height:0;border:0;border-radius:0;background:transparent;padding:0;font-size:14px;color:var(--text);box-shadow:none;outline:0;color-scheme:light dark}
.advanced .range-inputs input::placeholder{color:var(--muted);opacity:.7}
.advanced .range-inputs input[type=number]{-moz-appearance:textfield;appearance:textfield}
.advanced .range-inputs input::-webkit-outer-spin-button,.advanced .range-inputs input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.advanced .range-inputs>span{flex:none;color:var(--muted);font-size:13px}
.advanced-footer{grid-column:1/-1;display:flex;justify-content:flex-end;margin-top:-4px}
.advanced-footer .textbtn{font-size:12px}
@media(max-width:620px){.advanced{grid-template-columns:repeat(2,minmax(0,1fr))!important}.advanced .range-field.wide{grid-column:1/-1}}
/* Valuation details collapsed by default; full sector table controls */
.sector-detail .sector-controls select{font:600 12px 'Hanken Grotesk',sans-serif;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:9px;height:34px;min-height:34px;padding:0 30px 0 10px;max-width:none}
.sector-detail .sector-table-heading{flex-wrap:wrap}
.sector-detail>summary{list-style:none;display:flex;align-items:center;justify-content:space-between}
.sector-detail>summary::-webkit-details-marker{display:none}
.sector-detail>summary:after{content:"+";font-weight:400;color:var(--muted);font-size:18px}
.sector-detail[open]>summary:after{content:"−"}
/* Phones: returns on one line that slides sideways, without a scrollbar */
@media(max-width:620px){.detail-returns .return-grid{display:flex!important;flex-wrap:nowrap;overflow-x:auto;gap:22px;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:0 -20px;padding:0 20px;scroll-padding-inline:20px;scroll-snap-type:x proximity}.detail-returns .return-grid::-webkit-scrollbar{display:none}.detail-returns .period-return{flex:none;scroll-snap-align:start}}
/* Dividends of one stock (window opened from the dividend box): summary, year by year, timeline */
.dividend-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:18px 0 6px}
.dividend-stats label{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}
.dividend-stats strong{display:block;font-size:20px;font-weight:600;letter-spacing:-.3px}
.dividend-stats small{display:block;font-size:10px;color:var(--muted);margin-top:3px}
svg.dividend-years{display:block;width:100%;height:auto;max-height:210px;margin:14px 0 4px;fill:none;stroke:none}
.dividend-years rect{stroke:none}
.dividend-years .paid{fill:var(--positive)}
.dividend-years .announced{fill:var(--positive);opacity:.35}
.dividend-years text{font-size:11px;fill:var(--muted);stroke:none;font-variant-numeric:tabular-nums}
.dividend-years text.current{fill:var(--text);font-weight:600}
.dividend-timeline{list-style:none;margin:14px 0 0 5px;padding:0;border-left:1px solid var(--line)}
.dividend-timeline li{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.8fr) minmax(0,.8fr);gap:10px;align-items:center;padding:10px 0 10px 18px;border-bottom:1px solid var(--line);font-size:13px;font-variant-numeric:tabular-nums}
.dividend-timeline small{display:block;font-size:10px;color:var(--muted);margin-bottom:2px}
.dividend-dot{position:absolute;left:-5px;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;background:var(--muted)}
.dividend-timeline li.upcoming .dividend-dot{background:var(--bg);border:2px solid var(--positive)}
.dividend-amount b{font-weight:600;margin-right:8px}
.dividend-amount em{font-style:normal;font-size:11px;color:var(--muted);white-space:nowrap}
.dividend-timeline li.upcoming .dividend-amount em{color:var(--positive)}
.dividend-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}
.dividend-actions .textbtn{font-size:12px}
.dividend-actions [data-open-calendar]{color:var(--text);font-weight:600}
#calendar-symbol{font-size:12px;padding:4px 10px}
@media(max-width:620px){.dividend-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dividend-timeline li{grid-template-columns:minmax(0,1fr) auto;row-gap:6px}.dividend-timeline li .dividend-amount{grid-column:1/-1}.dividend-actions{flex-direction:column;align-items:flex-start}}

/* Stock against its index: shown in the place of the main chart */
.chart-stage{position:relative}
.vs-index-view{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:14px 16px;overflow:hidden}
.vs-index-view #vs-index-chart{flex:1;min-height:0;display:flex}
.vs-index-view #vs-index-chart>svg{width:100%;height:100%;min-height:0}
#vs-index-summary{font-size:13px;line-height:1.55;color:var(--muted);margin:0 0 6px}
#vs-index-summary b{color:var(--text);font-weight:600}
.chart-mode{display:flex;gap:4px}
/* Calendar icon of the dividend box */
.detail-stat{position:relative}
.tile-icon{position:absolute;top:-6px;right:12px;display:grid;place-items:center;width:30px;height:30px;padding:0;border-radius:8px;color:var(--muted)}
.tile-icon:hover,.tile-icon:focus-visible{background:var(--soft);color:var(--text)}
.tile-icon svg{width:16px;height:16px}
@media(max-width:620px){.tile-icon{top:6px;right:4px}}
#dividend-dialog{width:min(820px,calc(100vw - 32px));max-height:92dvh;overflow:auto}
#dividend-dialog .dividend-stats{padding-top:0}
/* Header figures: one line, label over value */
.market-stats{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:4px}
.market-stats>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.market-stats small{font-size:11px;color:var(--muted)}
.market-stats b{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.market-stats>span:first-child{flex-basis:100%;margin-bottom:2px}
.market-stats>span:first-child b{font-size:14px;font-weight:500;color:var(--muted)}
@media(max-width:620px){.market-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.market-stats>span:first-child{grid-column:1/-1}}
/* While TradingView loads, its frame keeps the page background instead of flashing white. */
.chart iframe{background:var(--bg);color-scheme:normal}

/* Crypto uses the same scanner, with pair currencies and no equity-only controls. */
.crypto-view .filters .search{flex:1;max-width:600px}.crypto-view .sort-mode-label{display:flex;flex-direction:column;gap:8px;margin:18px 0}.crypto-view .sort-mode-label>span{font-size:12px;color:var(--muted)}
.crypto-view .detail-price small{display:block;font-size:10px;color:var(--muted);margin-top:6px}.crypto-view .detail-price>span{display:block;font-size:13px;margin-top:6px}.crypto-view .detail-title h2 small{font-size:16px;color:var(--muted);font-weight:400}.crypto-view .detail-stat strong{overflow-wrap:anywhere}.crypto-view .return-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.crypto-view .detail-stats{margin-top:24px}.crypto-view .market-stats a{color:inherit}.crypto-view.crypto-live footer .eod-dot{background:var(--positive)}
@media(max-width:620px){.crypto-view .mobile-quote b{font-size:12px;max-width:145px;overflow-wrap:anywhere}.crypto-view .scanner-table .company{grid-template-columns:29px minmax(0,1fr) minmax(80px,auto)}.crypto-view .detail-title>.avatar{width:40px;height:40px;min-width:40px}.crypto-view .detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.crypto-view .detail-stats>.detail-stat:last-child{grid-column:1/-1}.crypto-view .companymeta{overflow-wrap:anywhere}.crypto-view .detail-price strong{font-size:25px}}
/* Breakout badge in the list. */
.breakout.up{color:var(--positive)}.breakout.down{color:var(--negative)}.breakout{font-size:11px;white-space:nowrap}
.topbar nav[hidden]{display:none}
/* Index chart button by the market title; all markets: index returns and sector split side by side. */
.hero-title{display:flex;align-items:center;gap:8px}.hero-title h1{margin-bottom:9px}.hero-title .iconbtn{margin-bottom:9px;flex-shrink:0}#index-chart svg,.index-chart-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.index-compare{display:grid;gap:4px;padding:6px 0}.index-row{display:grid;grid-template-columns:minmax(120px,190px) 30px 1fr 64px;align-items:center;gap:8px;min-height:30px}.index-name{background:none;border:0;padding:0;color:var(--text);font:inherit;font-size:13px;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.index-name:hover{text-decoration:underline;text-underline-offset:3px}.index-name small{font-size:9px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 3px;margin-left:4px}.index-row .iconbtn{height:28px;min-width:28px}.index-bar{position:relative;height:12px;background:linear-gradient(var(--line),var(--line)) center/1px 100% no-repeat}.index-bar i{position:absolute;top:0;bottom:0;border-radius:2px}.index-bar i.up{background:var(--positive)}.index-bar i.down{background:var(--negative)}.index-row b{font-size:13px;font-weight:600;text-align:right}
.index-sectors{display:grid;gap:7px;padding:6px 0}.index-sector-row{display:grid;grid-template-columns:minmax(110px,170px) 1fr;align-items:center;gap:10px}.index-stack{display:flex;height:14px;border-radius:3px;overflow:hidden}.index-stack i{display:block;height:100%}.index-sector-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11px;color:var(--muted);margin:12px 0 4px}.index-sector-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:-1px}
@media(max-width:620px){.index-row{grid-template-columns:minmax(90px,120px) 28px 1fr 56px;gap:6px}.index-sector-row{grid-template-columns:90px 1fr}}
/* Price and breakout alerts (Web Push). */
#detail-bell.saved{color:#c8a154}#detail-bell svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#detail-bell.saved svg{fill:currentColor}
/* Alerts: a switch for breakouts, the target price with its distance, suggestion chips and the list. */
#alert-dialog{width:min(420px,calc(100vw - 32px))}.alert-content{padding:22px 22px 16px}.alert-content h2{font-size:18px;margin:0}.alert-now{margin:2px 0 18px;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.alert-box{border:1px solid var(--line);border-radius:12px;margin-bottom:18px}.alert-switch{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;cursor:pointer}.alert-scale{display:flex;gap:2px;margin:0 14px 12px;padding:3px;background:var(--soft);border-radius:9px}.alert-scale button{flex:1;font:inherit;font-size:12px;padding:6px 0;border:0;border-radius:7px;background:none;color:var(--muted);cursor:pointer}.alert-scale button[aria-checked=true]{background:var(--bg);color:var(--text);font-weight:600;box-shadow:0 1px 2px #0000001f}.alert-switch b{display:block;font-size:14px;font-weight:600}.alert-switch small{display:block;font-size:12px;color:var(--muted);line-height:1.4}
.alert-switch input,.levels-panel input{appearance:none;-webkit-appearance:none;flex:none;width:38px;height:22px;margin:0;border-radius:11px;background:var(--line);position:relative;cursor:pointer;transition:background .15s}.alert-switch input::after,.levels-panel input::after{content:'';position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s}.alert-switch input:checked,.levels-panel input:checked{background:#3987e5}.alert-switch input:checked::after,.levels-panel input:checked::after{transform:translateX(16px)}.alert-switch input:focus-visible,.levels-panel input:focus-visible{outline:2px solid #3987e5;outline-offset:2px}
.alert-add{display:flex;gap:8px}.alert-field{flex:1;position:relative}.alert-field input{width:100%;font:inherit;font-size:16px;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;height:44px;padding:0 84px 0 12px;font-variant-numeric:tabular-nums}.alert-field input:focus{outline:none;border-color:#3987e5}.alert-away{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:12px;font-variant-numeric:tabular-nums;pointer-events:none}.alert-away.up{color:var(--positive)}.alert-away.down{color:var(--negative)}.alert-add .btn{min-height:44px}
.alert-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:10px -22px 0;padding:0 22px;overscroll-behavior-x:contain}.alert-chips::-webkit-scrollbar{display:none}.alert-chip{flex:none;white-space:nowrap;font:inherit;font-size:12px;color:var(--muted);background:var(--soft);border:0;border-radius:999px;padding:5px 10px;cursor:pointer;font-variant-numeric:tabular-nums}.alert-chip:hover{color:var(--text)}
.alert-list{list-style:none;padding:0;margin:18px 0 0;border-top:1px solid var(--line)}.alert-list li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px;font-variant-numeric:tabular-nums}.alert-list small{color:var(--muted);font-size:12px;margin-right:auto}.alert-dir{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;background:var(--soft)}.alert-dir.up{color:var(--positive)}.alert-dir.down{color:var(--negative)}.alert-remove{background:none;border:0;color:var(--muted);cursor:pointer;padding:6px;border-radius:8px;display:grid}.alert-remove:hover{color:var(--negative);background:var(--soft)}
.alert-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:16px 0 0;font-size:12px;color:var(--muted)}.alert-status{font-size:12px;color:var(--muted);min-height:1em;margin:4px 0 0}
/* Top strip of indices and coins, as on a market terminal: dark in both themes, moves on its own, stops under the pointer. */
.ticker-bar{position:relative;z-index:30;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;background:#141414;border-bottom:1px solid #262626;height:30px;font-size:12px;line-height:30px;white-space:nowrap;font-variant-numeric:tabular-nums}
.ticker-bar::-webkit-scrollbar{display:none}.tk-track{display:inline-flex}.tk-copy{display:inline-flex}
.tk{display:inline-flex;align-items:center;gap:6px;background:none;border:0;border-right:1px solid #232323;color:#ececec;font:inherit;padding:0 14px;height:30px;cursor:pointer}.tk:hover{background:#1d1d1d}.tk b{color:#3987e5;font-weight:600;letter-spacing:.2px}.tk img{display:block;border-radius:50%}.tk-change.up{color:#3fcf8e}.tk-change.down{color:#ff6b6b}.tk-quote{cursor:default}.tk-quote:hover{background:none}.tk-etf{font-size:9px;color:#9a9a9a;border:1px solid #333;border-radius:3px;padding:0 3px;line-height:13px}
@media(prefers-reduced-motion:reduce){.tk-copy{display:none}}
/* The list grows as it scrolls; the button is there for keyboards and is pressed by itself on the way down. */
.pagination .load-more{min-height:36px;font-size:13px}
/* The chart's levels panel, under its toolbar button: switches and how many daily and weekly levels a side. */
.levels-panel{position:absolute;z-index:5;width:250px;padding:6px;background:var(--paper);color:var(--text);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px #0000002e;font-size:13px}.levels-panel[hidden]{display:none}
.lv-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px;border-radius:8px}label.lv-row{cursor:pointer}label.lv-row:hover{background:var(--soft)}.lv-main{font-weight:600}.lv-row small{display:block;font-size:11px;color:var(--muted);font-weight:400}.lv-off{opacity:.5}.lv-sub{padding-left:22px}
.lv-step{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden}.lv-step button{width:28px;height:28px;border:0;background:none;color:var(--text);font:inherit;font-size:15px;cursor:pointer}.lv-step button:hover:not(:disabled){background:var(--soft)}.lv-step button:disabled{opacity:.35;cursor:default}.lv-step output{min-width:44px;text-align:center;font-variant-numeric:tabular-nums}
.lv-reset{display:block;width:100%;margin-top:2px;padding:8px;font:inherit;font-size:12px;text-align:left;color:var(--muted);background:none;border:0;border-top:1px solid var(--line);border-radius:0 0 8px 8px;cursor:pointer}.lv-reset:hover{color:var(--text)}
/* Phones: an expanded row's metrics in one line that scrolls sideways, as the filter chips do. */
.scanner-table>tbody>tr.stock>td.metric-strip{display:none!important}
@media(max-width:620px){.scanner-table>tbody>tr.stock>td.metric-col{display:none!important}.scanner-table>tbody>tr.stock.expanded>td.metric-strip{display:block!important;grid-column:1/-1!important;grid-row:auto!important;border:0;padding:0!important;min-width:0}
.strip{display:flex;gap:22px;overflow-x:auto;scrollbar-width:none;margin:0 -20px;padding:2px 20px;overscroll-behavior-x:contain}.strip::-webkit-scrollbar{display:none}.strip-item{flex:none;text-align:left}.strip-item>span{display:block;color:var(--muted);font-size:9px;margin-bottom:5px;white-space:nowrap}.strip-item .num{font-size:13px;font-weight:600;white-space:nowrap;line-height:1.3}.strip-item .subnum{font-size:9px;white-space:nowrap;margin-top:4px;color:var(--muted)}}
.drag-scroll{cursor:grab}.drag-scroll:active{cursor:grabbing;user-select:none}
/* Phones: compare and favourite right after the ticker, one size and one line; their own column and corner hide. */
.row-actions{display:none}
@media(max-width:620px){.scanner-table>tbody>tr.stock>td.starcol,.scanner-table .company>.compare-rowbtn{display:none!important}.scanner-table .ticker{display:flex;align-items:center;gap:10px}
.row-actions{display:inline-flex;align-items:center;gap:6px}.row-actions .compare-rowbtn,.row-actions .favorite{position:static;margin:0!important;opacity:1;width:24px;min-width:24px;height:24px;padding:0;display:grid;place-items:center;line-height:1}.row-actions .favorite{font-size:18px}.row-actions .compare-rowbtn{font-size:14px}.row-actions .compare-rowbtn.selected{font-size:11px}
.scanner-table>tbody>tr.stock>td.companycol{padding-right:0!important}}
.compare-rowbtn{display:inline-grid;place-items:center;padding:0}.compare-rowbtn svg{display:block}
/* Market picker: the header button with the market's flag, name and day change, and its panel, a sheet on phones. */
.market-button{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:260px;height:34px;padding:0 9px 0 8px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--text);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.market-button:hover{background:var(--soft)}
.mb-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mb-change{font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.mb-chevron{flex:none;width:14px;height:14px;fill:none;stroke:var(--muted);stroke-width:2}
.mp-flag{flex:none;width:18px;height:18px;border-radius:50%;display:block}.mp-globe{fill:none;stroke:var(--text);stroke-width:1.5}.mp-up{color:var(--positive)}.mp-down{color:var(--negative)}
dialog.mp-dialog{width:min(560px,calc(100vw - 32px));max-width:none;max-height:min(680px,calc(100vh - 96px));margin:72px auto auto;padding:0;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--text);box-shadow:0 20px 50px #00000040;overflow:hidden}dialog.mp-dialog[open]{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}
.mp-head{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--line)}.mp-search{flex:1;display:flex;align-items:center;gap:8px;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.mp-search:focus-within{border-color:#3987e5}.mp-search svg{flex:none;width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:1.8}.mp-search input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--text);font:inherit;font-size:16px}
.mp-close{flex:none;width:36px;height:36px;border:0;border-radius:8px;background:none;color:var(--muted);font-size:22px;cursor:pointer}.mp-close:hover{background:var(--soft);color:var(--text)}
.mp-body{flex:1;overflow-y:auto;padding:6px 8px 12px;overscroll-behavior:contain}.mp-label{margin:14px 8px 4px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.mp-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 8px}.mp-chips::-webkit-scrollbar{display:none}.mp-jump{margin-top:12px}.mp-chip{flex:none;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px 0 8px;border:0;border-radius:999px;background:var(--soft);color:var(--text);font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}.mp-jump .mp-chip{padding:0 11px}.mp-chip .mp-flag{width:16px;height:16px}
.mp-row{display:flex;align-items:center;gap:12px;width:100%;padding:9px 8px;border:0;border-radius:9px;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.mp-row:hover,.mp-row.is-active{background:var(--soft)}.mp-row[aria-selected=true]{background:color-mix(in srgb,#3987e5 12%,transparent)}
.mp-name{flex:1;min-width:0}.mp-name b{display:block;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mp-name small{display:block;font-size:12px;color:var(--muted)}.mp-change{flex:none;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.mp-empty{padding:28px 12px;text-align:center;font-size:13px;color:var(--muted)}.mp-foot{padding:10px 16px;border-top:1px solid var(--line)}.mp-compare{border:0;background:none;padding:0;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}.mp-compare:hover{color:var(--text)}
@media(max-width:620px){dialog.mp-dialog{width:100vw;max-height:88vh;margin:auto 0 0;border-radius:18px 18px 0 0;border-bottom:0}.market-button{max-width:200px;font-size:12px;height:32px}}
/* Sectors as chips under the search, each with its weight in the market; the select stays for the state. */
.filters{grid-template-columns:minmax(0,1fr) auto!important}
.sector-chips{max-width:680px;margin:14px auto 0;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}.sector-chips::-webkit-scrollbar{display:none}
.sector-chip{flex:none;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--text);font:inherit;font-size:12px;white-space:nowrap;cursor:pointer}.sector-chip:hover{background:var(--soft)}.sector-chip i{flex:none;width:7px;height:7px;border-radius:50%}.sector-chip small{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.sector-chip[aria-pressed=true]{background:var(--on);color:var(--on-fg);border-color:var(--on)}.sector-chip[aria-pressed=true] small{color:inherit;opacity:.7}
@media(max-width:620px){.sector-chips{margin:12px -20px 0;padding:0 20px}}
/* Crypto has no alerts yet: no bell on its pages. */
.crypto-view #detail #detail-bell{display:none}
/* Strips that bleed to the screen's edges inside the stock page don't make the page itself scroll sideways. */
#detail .detail-shell{overflow-x:clip}
/* The stock page's toolbar once the name has scrolled away: ticker, price and day change. */
.detail-compact{display:inline-flex;align-items:baseline;gap:8px;min-width:0;overflow:hidden;white-space:nowrap;font-size:13px;animation:compact-in .18s ease-out}.detail-compact[hidden]{display:none}.detail-compact b{font-weight:700}.detail-compact span{font-weight:600;font-variant-numeric:tabular-nums}.detail-compact small{font-size:12px;font-variant-numeric:tabular-nums}
@keyframes compact-in{from{opacity:0;transform:translateY(4px)}}@media(prefers-reduced-motion:reduce){.detail-compact{animation:none}}
/* Compact ranking header: underlined tabs, a one-line summary, search and filters in one row, one row of chips
   with sectors as a menu at its end, and active filters as removable chips only while filtering. */
.topinner{padding-top:18px}
.topbar nav{height:40px;margin-top:2px;padding:0;background:none;border-radius:0;border-bottom:1px solid var(--line)}
.topbar .navlink{border-radius:0;padding:0 4px;font-size:14px;font-weight:550;box-shadow:none}
.topbar .navlink.active{background:none;color:var(--text);box-shadow:inset 0 -2px 0 var(--text)}
main{padding-top:18px}
.market-hero{margin-bottom:14px}
.market-hero h1,.hero-title h1{font-size:20px;line-height:1.3;margin:0 0 2px}
.hero-title .iconbtn{margin-bottom:2px;height:28px;min-width:28px}
.market-line{margin:0;font-size:13px;line-height:1.5;color:var(--muted);font-variant-numeric:tabular-nums}
.market-line>span:not(.sep),.stat-link{white-space:nowrap}
.stat-link{padding:0;font:inherit;color:inherit;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.stat-link:hover{color:var(--text);text-decoration-color:currentColor}
.filters{display:flex!important;flex-wrap:nowrap;align-items:center;gap:8px!important}
.filters .search{flex:1 1 auto;width:auto;min-width:0;max-width:none;height:40px;min-height:40px}
.filters .selectwrap{flex:none;min-width:0}
.filters .selectwrap select{width:auto;max-width:190px;height:40px;min-height:40px;font-size:13px;field-sizing:content}
.filters>.btn{flex:none;height:40px!important;min-height:40px!important}
.chip-row{max-width:680px;margin:10px auto 0;display:flex;align-items:center;gap:7px}
.chip-row .presets{flex:1 1 auto;min-width:0;margin:0;padding:0;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
.sector-menu{position:relative;flex:none}
.sector-trigger{display:inline-flex;align-items:center;gap:3px;max-width:200px}
.sector-trigger span{overflow:hidden;text-overflow:ellipsis}
.sector-trigger svg{flex:none;width:14px;height:14px}
.sector-menu .sector-chips{position:absolute;right:0;top:calc(100% + 6px);z-index:30;margin:0;padding:6px;width:max-content;min-width:230px;max-width:min(320px,calc(100vw - 40px));max-height:min(380px,60vh);overflow-y:auto;display:flex;flex-direction:column;gap:1px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #00000030}
.sector-menu .sector-chips[hidden]{display:none}
.sector-menu .sector-chip{width:100%;height:34px;border:0;border-radius:8px;justify-content:flex-start}
.sector-menu .sector-chip small{margin-left:auto;padding-left:14px}
.resultsbar{padding:12px 0 8px}
.resultsbar.idle{padding:0}
.result-summary{flex-wrap:wrap;gap:6px 10px}
.active-filters{display:flex;flex-wrap:wrap;gap:6px}
.active-filters[hidden]{display:none}
.filter-chip{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--soft);color:var(--text);font-size:12px;white-space:nowrap}
.filter-chip span{font-size:10px;color:var(--muted)}
.filter-chip:hover span{color:var(--text)}
.company-heading{display:flex;align-items:center;gap:6px}
.table-tools{margin-left:auto;display:inline-flex;gap:2px}
.table-tools .iconbtn{height:28px;min-width:28px;display:inline-grid;place-items:center}
.table-tools svg{width:16px;height:16px}
/* Wider screens sort from the table's headings; the sort and columns buttons stay for phones' cards. */
@media(min-width:621px){body:not(.crypto-view) .sortlabel{display:none}}
@media(max-width:620px){.topinner{padding-top:16px}.topbar .navlink{font-size:13px}main{padding-top:16px}.market-hero h1,.hero-title h1{font-size:19px}.market-line{font-size:12px}
 .filters .search{height:40px;min-height:40px}.filters{gap:6px!important}.filters .selectwrap select{width:84px;max-width:84px;padding-right:20px;font-size:12px}.filters .search{padding:0 12px;gap:8px}.filters .search input{font-size:14px}
 .chip-row{margin-top:10px}.resultsbar{padding:12px 0 6px}body:not(.crypto-view) .resultsbar{flex-wrap:wrap;row-gap:4px}body:not(.crypto-view) .resultsbar:not(.idle) .result-summary{flex-basis:100%}body:not(.crypto-view) .resultsbar:not(.idle) .sortlabel{margin-left:auto}.resultsbar.idle{padding:8px 0 4px}}
/* Size select in the filter row: our own chevron, clear of the border (Chrome draws the native one on it). */
.filters .selectwrap select{-webkit-appearance:none;appearance:none;padding-right:34px;background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%238a919c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center/12px}
@media(max-width:620px){.filters .selectwrap select{width:96px;max-width:96px;padding-right:26px;background-position:right 9px center}}
/* Filter panel: a popover anchored to the Filters button (a bottom sheet on phones), grouped ready-made choices,
   «Personalizado» for the number fields, and a fixed footer with the live count. The table doesn't move. */
.filters{position:relative}
.advanced.filter-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:392px;max-width:calc(100vw - 40px);max-height:min(640px,calc(100dvh - 150px));margin:0;padding:0!important;display:flex!important;flex-direction:column;gap:0!important;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 40px #0000003d;text-align:left}
.advanced.filter-panel[hidden]{display:none!important}
.fp-head{display:flex;align-items:center;justify-content:space-between;padding:10px 10px 2px 18px}
.fp-head h2{margin:0;font-size:15px;font-weight:650}
.fp-head .iconbtn{font-size:20px}
.fp-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 18px 6px}
.fp-section{padding:12px 0 14px}
.fp-section+.fp-section{border-top:1px solid var(--line)}
.fp-section h3{margin:0 0 9px;font-size:13px;font-weight:650;color:var(--text)}
.fp-group+.fp-group{margin-top:12px}
.fp-label{display:block;margin:0 0 6px;font-size:12px;color:var(--muted)}
.fp-options{display:flex;flex-wrap:wrap;gap:6px}
.fp-options button{display:inline-flex;align-items:baseline;gap:5px;min-height:32px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--text);font-size:13px;line-height:1.2;white-space:nowrap}
.fp-options button:hover{border-color:var(--muted)}
.fp-options button small{font-size:11px;color:var(--muted)}
.fp-options button[aria-pressed=true]{background:var(--on);color:var(--on-fg);border-color:var(--on)}
.fp-options button[aria-pressed=true] small{color:inherit;opacity:.75}
.fp-options [data-option=custom]{border-style:dashed}
.fp-options [data-option=custom][aria-pressed=true]{border-style:solid}
.advanced .fp-custom{margin-top:8px}
.advanced .fp-custom[hidden]{display:none}
.fp-foot{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid var(--line)}
.fp-foot .textbtn{font-size:13px}
.fp-foot .primary{height:40px;min-height:40px;padding:0 18px;border:0;border-radius:10px;background:var(--on);color:var(--on-fg);font-size:13px;font-weight:600;white-space:nowrap}
.filter-backdrop{display:none}
/* The active-filter count on the Filters button, legible in both themes. */
.filters #filter-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--on);color:var(--on-fg);font-size:10px;font-weight:650;line-height:1}
.filters #filter-count[hidden]{display:none}
@media(max-width:620px){
 .advanced.filter-panel{position:fixed;top:auto;left:0;right:0;bottom:0;z-index:70;width:auto;max-width:none;max-height:86dvh;border-radius:18px 18px 0 0;border-bottom:0;box-shadow:0 -10px 40px #00000040;padding-bottom:env(safe-area-inset-bottom)!important;animation:sheet-up .22s ease-out}
 .fp-head{padding:14px 12px 2px 20px}.fp-body{padding:0 20px 6px}.fp-foot{padding:12px 20px}
 .fp-options button{min-height:36px}
 .filter-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:69;background:#00000073}
 body.filter-sheet-open{overflow:hidden}}
@keyframes sheet-up{from{transform:translateY(100%)}}
@media(prefers-reduced-motion:reduce){.advanced.filter-panel{animation:none}}
/* Phones: an expanded row's metrics spread across the row's width when they fit, so the last one ends where the
   price does; when they don't, they slide sideways and fade into the screen's edges. */
.strip{justify-content:space-between;gap:16px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent);mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent)}
/* The header, the title and the search, filter and shortcut rows, and the dividend calendar, span the list's width;
   the tabs still share it in equal parts, as in the narrower column. */
.topinner{max-width:1280px}
.scanner>.market-hero,.scanner>.filters,.scanner>.chip-row{max-width:none;margin-left:0;margin-right:0}.crypto-view .filters .search{max-width:none}#dividends-panel{max-width:none}
/* Room between the shortcut chips and the table's headings. */
.scanner>.chip-row{margin-bottom:16px}
@media(max-width:620px){.scanner>.chip-row{margin-bottom:6px}}
