@font-face{font-family:'Schibsted Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/schibsted-grotesk-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Schibsted Grotesk';font-style:normal;font-weight:500 600;font-display:swap;src:url(fonts/schibsted-grotesk-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Schibsted Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/schibsted-grotesk-latin-700-normal.woff2) format('woff2')}

:root{
  --bg:#F1F2EE;--surface:#FFFFFF;--ink:#1C2A28;--muted:#5D6966;--line:#D6DBD5;--line-strong:#B9C1BA;
  --accent:#1F5F5B;--accent-soft:#DCE8E5;--warn:#9A6410;--warn-soft:#F6ECD8;--danger:#A23B2C;--danger-soft:#F5E1DD;--good:#3C6E3A;
  --track:#E6E9E4;
  box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#131918;--surface:#1A2221;--ink:#E4EBE8;--muted:#98A6A2;--line:#2C3735;--line-strong:#3E4B48;
    --accent:#6FB3AB;--accent-soft:#1E3533;--warn:#D9A441;--warn-soft:#382D16;--danger:#E3806E;--danger-soft:#3C221E;--good:#86B97F;
    --track:#253030;color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#131918;--surface:#1A2221;--ink:#E4EBE8;--muted:#98A6A2;--line:#2C3735;--line-strong:#3E4B48;
  --accent:#6FB3AB;--accent-soft:#1E3533;--warn:#D9A441;--warn-soft:#382D16;--danger:#E3806E;--danger-soft:#3C221E;--good:#86B97F;
  --track:#253030;color-scheme:dark;
}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:15px;line-height:1.5;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit;color:inherit}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* Header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--bg);border-bottom:1px solid var(--line)}
.top-inner{max-width:1180px;margin:0 auto;padding:.75rem 1.25rem 0;display:flex;flex-direction:column;gap:.5rem}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.05rem;letter-spacing:-.01em}
.mark{display:inline-flex;flex-direction:column;gap:2px;width:18px}
.mark i{display:block;height:4px;border-radius:1px;background:var(--accent)}
.mark i:nth-child(1){width:100%}.mark i:nth-child(2){width:62%;opacity:.8}.mark i:nth-child(3){width:34%;opacity:.6}
.brand small{font-weight:400;color:var(--muted);font-size:.85rem;margin-left:.25rem}
.top-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap}
a.brand{color:inherit;text-decoration:none}
.brand .bs{display:none}
/* Phones: "LTP" alone, so the Selection / Monitoring switch fits beside it; the tab bar fades at the right edge to
   show it scrolls */
@media (max-width:560px){.brand .bl{display:none}.brand .bs{display:inline}.top-row{flex-wrap:nowrap}.top-inner{padding-top:.55rem}
  .tabs{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 2.5rem),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 2.5rem),transparent)}
  .tabs .tab:last-child{margin-right:2rem}}
.modesw .btn{padding:.25rem .7rem;font-size:.82rem}
.modesw .btn[aria-current="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
:root[data-theme="dark"] .modesw .btn[aria-current="true"]{color:#0E1514}
body[data-mode="home"] .tabs,body[data-mode="home"] .modesw{display:none}
body[data-mode="home"] .top-row{min-height:2.1rem}
body[data-mode="home"] .top-inner{padding-bottom:.75rem}
body[data-mode="sel"] #mon-tabs,body[data-mode="mon"] #sel-tabs{display:none}
body[data-mode="home"] #banner,body[data-mode="sel"] #banner{display:none}
.tab-n:not(:empty){display:inline-block;min-width:1.2rem;padding:0 .3rem;margin-left:.2rem;border-radius:99px;background:var(--accent);color:#fff;font-size:.72rem;line-height:1.2rem;text-align:center}
.home{max-width:1000px;margin:2.5rem auto 0}
.home h1{font-size:clamp(1.6rem,3.6vw,2.3rem);letter-spacing:-.02em;margin:0 0 .5rem;line-height:1.15}
.home .lead{color:var(--muted);max-width:46rem;margin:0 0 2rem;font-size:1.02rem}
.home-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.25rem}
.home-card{display:flex;flex-direction:column;gap:.8rem;text-align:left;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:1.5rem;cursor:pointer;color:inherit;font:inherit}
.home-card:hover,.home-card:focus-visible{border-color:var(--accent);box-shadow:0 6px 22px rgba(0,0,0,.08)}
.home-card h2{margin:0;font-size:1.4rem;letter-spacing:-.01em}
.home-card p{margin:0;color:var(--muted)}
.home-card ul{margin:0;padding-left:1.1rem;font-size:.92rem;display:grid;gap:.25rem}
.home-card .go{margin-top:auto;padding-top:.5rem;font-weight:600;color:var(--accent)}
.home-tag{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:650}
.home-note{color:var(--muted);font-size:.85rem;margin-top:1.5rem}
/* Screener: search on its own row, then the filters on an even grid */
/* Front page */
.home{max-width:1120px}
.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:2.5rem;align-items:center;margin:1rem 0 1rem}
@media (max-width:880px){.hero{grid-template-columns:1fr;gap:1.5rem}}
.hero h1{font-size:clamp(2rem,4.6vw,3.1rem);line-height:1.06;letter-spacing:-.03em;margin:.5rem 0 1rem}
.hero .lead{font-size:1.08rem;color:var(--muted);margin:0 0 1.5rem;max-width:36rem}
.hero .cta{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.1rem}
.hero .cta .btn{padding:.7rem 1.15rem;font-size:.98rem;text-decoration:none}
.trust{display:flex;flex-wrap:wrap;gap:.4rem 1.3rem;color:var(--muted);font-size:.86rem;list-style:none;padding:0;margin:0}
.trust li::before{content:"✓ ";color:var(--accent);font-weight:700}
.hero-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.2rem 1.35rem;box-shadow:0 14px 40px rgba(0,0,0,.08)}
.ex-tag{display:inline-block;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:.05rem .5rem;font-weight:600}
.sec-h{font-size:1.5rem;letter-spacing:-.02em;margin:3rem 0 .4rem}
.sec-sub{color:var(--muted);margin:0 0 1.2rem;max-width:46rem}
.feat-g{border-top:1px solid var(--line);padding-top:.7rem;margin-top:.2rem;display:grid;gap:.4rem;justify-items:start}
.feat-g svg{width:100%}
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1rem}
.feat{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:1.15rem 1.2rem;display:flex;flex-direction:column;gap:.45rem;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}
.feat:hover,.feat:focus-visible{border-color:var(--accent);box-shadow:0 6px 22px rgba(0,0,0,.07)}
.feat h3{margin:0;font-size:1.08rem}
.feat p{margin:0;color:var(--muted);font-size:.9rem}
.feat .feat-g{margin-top:auto}
.feat .where{font-size:.72rem;color:var(--accent);font-weight:650;text-transform:uppercase;letter-spacing:.07em}
.steps3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1rem;counter-reset:s3;list-style:none;padding:0;margin:1rem 0 0}
.steps3 li{counter-increment:s3;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:1.1rem 1.2rem;display:grid;gap:.35rem}
.steps3 li::before{content:counter(s3);display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--accent);color:#fff;font-weight:700}
:root[data-theme="dark"] .steps3 li::before{color:#0E1514}
.steps3 span{color:var(--muted);font-size:.92rem}
.datastrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:.75rem}
.datastrip div{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.85rem 1rem;display:grid;gap:.15rem}
.upd{list-style:none;padding:0 0 0 .2rem;margin:1rem 0 0;border-left:2px solid var(--line)}
.upd li{position:relative;padding:0 0 1.1rem 1.2rem}
.upd li::before{content:"";position:absolute;left:-7px;top:.3rem;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid var(--bg)}
.upd .d{font-size:.8rem;color:var(--muted);margin-bottom:.15rem}
.upd p{margin:.2rem 0 0;color:var(--muted);font-size:.92rem;max-width:52rem}
.help-strip{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;background:var(--accent-soft);border-radius:10px;padding:1rem 1.2rem;margin-top:2rem}
.help-strip .btn{text-decoration:none}
.guide details{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:.1rem 1.1rem;margin-bottom:.5rem}
.guide details[open]{padding-bottom:.6rem}
.guide summary{cursor:pointer;padding:.7rem 0;font-weight:600}
.guide ol{padding-left:1.3rem;display:grid;gap:.4rem}
.guide .tip{background:var(--accent-soft);border-radius:6px;padding:.6rem .8rem;font-size:.9rem}
.guide kbd,.help-strip kbd{border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:3px;padding:0 .3rem;font-size:.85em}
.filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.6rem .75rem;margin-bottom:.75rem}
.filters .field.grow{grid-column:1/-1}
.filters .inp{width:100%}
/* Compact so every figure fits without sideways scrolling on a laptop */
.scr{font-size:.85rem}
.scr th,.scr td{padding:.45rem .4rem}
.scr th:first-child,.scr td:first-child{padding-left:0}
.scr .cell-name{max-width:var(--name-w,12rem);white-space:nowrap}
.col-grip{position:absolute;top:0;right:-4px;width:9px;height:100%;cursor:col-resize;z-index:2;touch-action:none}
.col-grip::after{content:"";position:absolute;left:4px;top:22%;height:56%;border-left:1px solid var(--line-strong)}
.col-grip:hover::after,.col-resizing .col-grip::after{border-left:2px solid var(--accent)}
.col-resizing{cursor:col-resize;user-select:none}
.scr .cell-txt{max-width:7rem;overflow:hidden;text-overflow:ellipsis}
@media (min-width:1240px){.scr .cell-name{max-width:var(--name-w,15rem)}.scr .cell-txt{max-width:9rem}}
.scr td.c{text-align:center;color:var(--accent)}
.scr td.n{font-variant-numeric:tabular-nums}
.scr .add{padding:.15rem 0;width:4.6rem;font-size:.8rem}
.th-sort{all:unset;cursor:pointer;border-radius:3px}
.th-sort:hover{color:var(--ink)}
.th-sort:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.steps{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;margin:0;padding:0;list-style:none;counter-reset:st;font-size:.9rem;color:var(--muted)}
.steps li{counter-increment:st;display:flex;align-items:center;gap:.45rem}
.steps li::before{content:counter(st);display:inline-grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:650;font-size:.8rem;flex:none}
.steps b{color:var(--ink)}
.basket{display:flex;flex-wrap:wrap;gap:.4rem .5rem;align-items:center}
.sweep text{font-size:12px;fill:var(--muted)}
.tabs{display:flex;gap:.25rem;overflow-x:auto;scrollbar-width:none;margin:0 -1.25rem;padding:0 1.25rem}
.tabs::-webkit-scrollbar{display:none}
.tab{border:0;background:none;padding:.55rem .75rem .65rem;cursor:pointer;color:var(--muted);font-weight:500;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px}
.tab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--accent)}
.tab:hover{color:var(--ink)}

main{max-width:1180px;margin:0 auto;padding:1.25rem 1.25rem 4rem}
.view{display:none}
.view.on{display:block}

.banner{max-width:1180px;margin:1rem auto 0;padding:0 1.25rem}
.banner div{background:var(--accent-soft);border-radius:6px;padding:.7rem 1rem;display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:.92rem}

/* Type */
h2{font-size:1.25rem;letter-spacing:-.01em;margin:0 0 .25rem;font-weight:650}
h3{font-size:1rem;margin:0 0 .75rem;font-weight:600}
.sub{color:var(--muted);margin:0 0 1rem;font-size:.92rem;max-width:none}
.lede{font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.4;letter-spacing:-.02em;font-weight:400;max-width:none;margin:.5rem 0 1.5rem}
.lede b{font-weight:700}
.muted{color:var(--muted)}
.small{font-size:.85rem}

/* Layout */
.grid{display:grid;gap:1rem;align-items:start} /* each box fits its content, rather than stretching to its tallest neighbour */
.grid > .box + .box{margin-top:0} /* the grid's gap spaces its boxes: side-by-side boxes start level */
.g2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.g2x{grid-template-columns:repeat(2,minmax(0,1fr))} /* always 2x2, one column on phones */
@media (max-width:720px){.g2x{grid-template-columns:1fr}}
.box{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:1.1rem 1.15rem}
.box.flush{padding:0}
.box + .box,.grid + .box,.box + .grid,.grid + .grid{margin-top:1rem}
.box-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}
.box-head h3{margin:0}

/* KPI strip */
.kpis{display:flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:6px;background:var(--surface);overflow:hidden;margin-bottom:1rem}
/* Two rows of tiles that read as one table (Track record: amounts on top, statistics below) */
.kpis.kpis-top{margin-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}
.kpis.kpis-bottom{border-top:0;border-top-left-radius:0;border-top-right-radius:0}
.kpi{flex:1 1 150px;padding:.85rem 1rem; /* a short last row stretches instead of leaving empty tiles */border-right:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 -1px -1px 0}
.kpi .v{font-size:1.45rem;font-weight:650;letter-spacing:-.02em;line-height:1.2}
.kpi .l{color:var(--muted);font-size:.82rem}
.kpi.warn .v{color:var(--warn)}.kpi.bad .v{color:var(--danger)}

/* Bars */
.bars{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.bars li{display:grid;grid-template-columns:minmax(0,10.5rem) 1fr 3.9rem;gap:.6rem;align-items:center;font-size:.88rem}
.bl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt{position:relative;height:10px;background:var(--track);border-radius:2px}
.bf{position:absolute;left:0;top:0;bottom:0;border-radius:2px}
.thr{position:absolute;top:-4px;bottom:-4px;width:0;border-left:1.5px dashed var(--danger);opacity:.8}
.bv{text-align:right;font-weight:500}
.stack{display:flex;height:100%;border-radius:2px;overflow:hidden}
.stack span{display:block;height:100%}
.alloc{display:flex;height:26px;border-radius:4px;overflow:hidden;margin:.25rem 0 .75rem}
.alloc span{display:block;height:100%}
.legend{display:flex;flex-wrap:wrap;gap:.35rem 1rem;font-size:.82rem;color:var(--muted);margin:.25rem 0 .75rem}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:.35rem;vertical-align:-1px}

/* Exposure rows (hero) */
.expo{list-style:none;margin:0;padding:0}
.expo li{display:grid;grid-template-columns:minmax(0,11rem) 1fr 4.2rem;gap:.75rem;align-items:center;padding:.5rem 0;border-top:1px solid var(--line)}
.expo li:first-child{border-top:0}
.expo .nm{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.expo .nm small{display:block;color:var(--muted);font-weight:400;font-size:.78rem}
.expo .track{height:16px;background:var(--track);border-radius:2px;position:relative}
.expo .track .stack{position:absolute;left:0;top:0;bottom:0}
.expo .pv{text-align:right;font-weight:600}
.expo .pv small{display:block;font-weight:400;color:var(--muted);font-size:.78rem}

/* Alerts */
.alerts{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.alerts li{padding:.6rem .8rem;border-radius:4px;font-size:.9rem;border-left:3px solid}
.alerts .high{background:var(--danger-soft);border-color:var(--danger)}
.alerts .watch{background:var(--warn-soft);border-color:var(--warn)}
.alerts .ok{background:var(--accent-soft);border-color:var(--accent)}
.alerts b{font-weight:600}

/* Tables */
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-size:.88rem}
th,td{padding:.5rem .6rem;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
th{font-weight:600;color:var(--muted);font-size:.8rem;position:sticky;top:0;background:var(--surface)}
td.n,th.n{text-align:right}
tr:last-child td{border-bottom:0}
.heat td{text-align:center;min-width:3.4rem;font-size:.82rem}
.heat td.rh{text-align:left;font-weight:500;min-width:0}
.heat th{text-align:center}
.cell-name{max-width:16rem;overflow:hidden;text-overflow:ellipsis}

/* Controls */
.btn{border:1px solid var(--line-strong);background:var(--surface);padding:.45rem .8rem;border-radius:4px;cursor:pointer;font-weight:500;font-size:.88rem}
.btn:hover{border-color:var(--ink)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
:root[data-theme="dark"] .btn.primary{color:#0E1514}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn.primary{color:#0E1514}}
.btn.ghost{border-color:transparent;background:none;color:var(--muted)}
.btn.ghost:hover{color:var(--danger)}
.row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.inp{border:1px solid var(--line-strong);background:var(--surface);border-radius:4px;padding:.35rem .5rem;min-width:0}
.ptable input,.ptable select{border:1px solid transparent;background:transparent;padding:.3rem .35rem;border-radius:3px;width:100%}
.ptable select{min-width:6.2rem}
.ptable input:hover,.ptable select:hover{border-color:var(--line)}
.ptable input:focus,.ptable select:focus{border-color:var(--accent);background:var(--surface);outline:none}
.ptable td{padding:.2rem .3rem}
.ptable .w-isin{width:9.5rem}.ptable .w-name{min-width:14rem}.ptable .w-num{width:6rem;text-align:right}
.ptable input.num{text-align:right}
.field{display:grid;gap:.2rem;font-size:.85rem}
.field span{color:var(--muted)}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}
.chip{display:inline-block;padding:.08rem .45rem;border-radius:3px;font-size:.78rem;background:var(--track);color:var(--muted)}
.chip.ok{background:var(--accent-soft);color:var(--accent)}
.chip.no{background:var(--warn-soft);color:var(--warn)}
.fundlist{list-style:none;margin:0;padding:0}
.fundlist li{display:flex;gap:.75rem;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:.7rem 0;border-top:1px solid var(--line)}
.fundlist li:first-child{border-top:0}
.scen{display:grid;gap:.5rem}
.scen button{all:unset;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:.2rem 1rem;padding:.75rem .9rem;border:1px solid var(--line);border-radius:6px;background:var(--surface)}
.scen button:focus-visible{outline:2px solid var(--accent)}
.scen button[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
.scen .t{font-weight:600}.scen .d{grid-column:1/-1;color:var(--muted);font-size:.84rem}
.scen .loss{font-weight:650;color:var(--danger);text-align:right}
.scen .loss.up{color:var(--good)}
/* Performance */
.pf-search{position:relative;max-width:34rem}
.pf-search .inp{width:100%;padding:.55rem .7rem}
.pf-res{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;background:var(--surface);border:1px solid var(--line-strong);border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:22rem;overflow:auto}
.pf-res:empty{display:none}
.pf-res p{padding:0 .75rem .6rem}
.pf-opt{all:unset;box-sizing:border-box;display:grid;grid-template-columns:auto 1fr;gap:0 .6rem;width:100%;padding:.5rem .75rem;cursor:pointer;border-top:1px solid var(--line);font-size:.88rem}
.pf-opt:first-child{border-top:0}
.pf-opt:hover,.pf-opt:focus-visible{background:var(--accent-soft)}
.pf-opt[disabled]{opacity:.45;cursor:default}
.pf-opt span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pf-opt small{grid-column:1/-1;color:var(--muted);font-size:.76rem}
.btn.pf-q{padding:.15rem .6rem;color:var(--accent);border:1px solid var(--line);border-radius:99px;background:var(--surface)}
.btn.pf-q::before{content:"+ "}
.btn.pf-q:hover{color:var(--ink);border-color:var(--accent)}
.pf-q[disabled]{opacity:.4;cursor:default}
.seg{display:inline-flex}
.seg .btn{border-radius:0;margin-left:-1px;padding:.35rem .7rem}
.seg .btn:first-child{border-radius:4px 0 0 4px;margin-left:0}
.seg .btn:last-child{border-radius:0 4px 4px 0}
.pf-legend{display:flex;flex-wrap:wrap;gap:.4rem .5rem;margin:0 0 .75rem}
.pf-chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--line);border-radius:99px;padding:.15rem .3rem .15rem .6rem;font-size:.82rem;max-width:100%}
.pf-chip i{width:14px;height:3px;border-radius:2px;flex:none}
.pf-chip button{all:unset;cursor:pointer;color:var(--muted);padding:0 .3rem;font-size:1rem;line-height:1}
.pf-chip button:hover{color:var(--danger)}
.pf-wrap{position:relative;touch-action:pan-y}
.pf-tip{position:absolute;top:8px;min-width:11rem;background:var(--surface);border:1px solid var(--line-strong);border-radius:6px;box-shadow:0 6px 20px rgba(0,0,0,.14);padding:.5rem .65rem;font-size:.8rem;pointer-events:none;z-index:5}
.pf-tip div{display:grid;grid-template-columns:auto 1fr auto;gap:.45rem;align-items:center;white-space:nowrap}
.pf-tip i{width:9px;height:9px;border-radius:2px}
.pf-tip span{font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.pf-note{pointer-events:auto;z-index:4;min-width:0;font-size:.76rem;padding:.35rem .5rem;box-shadow:0 3px 10px rgba(0,0,0,.1)}
.pf-note .pf-note-h{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.15rem}
.pf-note button{all:unset;cursor:pointer;color:var(--muted);padding:0 .2rem;font-size:1rem;line-height:1}
.pf-note button:hover,.pf-note button:focus-visible{color:var(--danger)}
.pf-tip small{font-weight:400;color:var(--muted);margin-left:.35rem;font-size:.95em}
.pf-sw{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:.45rem;vertical-align:-1px}
.empty{padding:2rem 1rem;text-align:center;color:var(--muted)}
.empty p{max-width:52ch;margin:.5rem auto 1rem}
svg text{fill:var(--muted);font-family:inherit}
.toast{position:fixed;left:50%;bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:.55rem 1rem;border-radius:4px;font-size:.9rem;opacity:0;pointer-events:none;transition:opacity .2s}
.toast.on{opacity:1}
details summary{cursor:pointer;color:var(--muted);font-size:.88rem}
@media (max-width:560px){
  main{padding:1rem .9rem 3rem}
  .top-inner{padding:.6rem .9rem 0}
  .tabs{margin:0 -.9rem;padding:0 .9rem}
  .bars li{grid-template-columns:minmax(0,7.5rem) 1fr 3.4rem}
  .expo li{grid-template-columns:minmax(0,7.6rem) 1fr 3.6rem;gap:.5rem}
  .box{padding:.9rem}
  .kpi .v{font-size:1.2rem}
}
#notice .note{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between;border-radius:6px;padding:.75rem 1rem;border-left:3px solid var(--danger);background:var(--danger-soft)}
#notice .note.ok{border-color:var(--accent);background:var(--accent-soft)}#notice .note.warn{border-color:var(--warn);background:var(--warn-soft)}
#notice .note>div{flex:1;min-width:0}
dialog{border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--ink);max-width:28rem;padding:1.1rem 1.2rem}
dialog::backdrop{background:rgba(0,0,0,.35)}
/* Security details (Selection) */
dialog.sd{max-width:min(880px,calc(100% - 1.5rem));width:880px;max-height:calc(100dvh - 1.5rem);padding:0;border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,.25);overflow:hidden}
dialog.sd[open]{display:flex;flex-direction:column}
.sd-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.2rem .8rem;border-bottom:1px solid var(--line)}
.sd-head h3{margin:0;font-size:1.15rem;line-height:1.3}
.sd-head .sd-id{color:var(--muted);font-size:.82rem;margin-top:.15rem}
.sd-x{all:unset;cursor:pointer;font-size:1.5rem;line-height:1;color:var(--muted);padding:0 .2rem;border-radius:4px}
.sd-x:hover,.sd-x:focus-visible{color:var(--ink);outline:2px solid var(--accent)}
.sd-body{overflow:auto;padding:1rem 1.2rem}
.sd-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.9rem}
.sd-foot{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap;padding:.8rem 1.2rem;border-top:1px solid var(--line);background:var(--bg)}
.sd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1rem 1.5rem;margin-top:1rem}
.sd-grid h4{margin:0 0 .4rem;font-size:.9rem}
.sd-bars div{display:grid;grid-template-columns:minmax(0,1fr) 5rem 3.2rem;gap:.5rem;align-items:center;font-size:.84rem;padding:.12rem 0}
.sd-bars i{display:block;height:6px;border-radius:3px;background:var(--accent)}
.sd-bars span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sd-bars b{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
/* Help */
.top-right{display:flex;align-items:center;gap:.5rem}
.help-btn{padding:.25rem .65rem;font-size:.82rem;border-radius:99px;display:inline-flex;align-items:center;gap:.35rem}
.help-btn span{display:inline-grid;place-items:center;width:1.05rem;height:1.05rem;border-radius:50%;background:var(--accent);color:#fff;font-size:.72rem;font-weight:700}
:root[data-theme="dark"] .help-btn span{color:#0E1514}
@media (max-width:560px){.help-btn{font-size:0;gap:0;padding:.3rem .45rem}.help-btn span{font-size:.78rem;width:1.25rem;height:1.25rem}}
dialog.help{width:640px}
.help ol{margin:.2rem 0 1rem;padding-left:1.3rem;display:grid;gap:.45rem}
.help h4{margin:1rem 0 .35rem;font-size:.92rem}
.help .tip{background:var(--accent-soft);border-radius:6px;padding:.6rem .8rem;font-size:.88rem;margin-top:.8rem}
.help .lead{color:var(--muted);margin:0 0 .8rem}
.help kbd{border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:3px;padding:0 .3rem;font-size:.8em}
.linkish{all:unset;cursor:pointer;border-radius:3px}
.linkish:hover span,.linkish:focus-visible span{text-decoration:underline}
.linkish:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.foot{max-width:1180px;margin:0 auto;padding:1.5rem 1.25rem calc(2rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);color:var(--muted);font-size:.82rem;display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;justify-content:space-between}
.foot a{color:inherit}
.ack{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(1rem + env(safe-area-inset-bottom,0px));width:min(46rem,calc(100% - 2rem));background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;box-shadow:0 8px 28px rgba(0,0,0,.18);padding:.9rem 1rem;display:flex;gap:1rem;align-items:center;justify-content:space-between;z-index:50;font-size:.9rem}
.ack[hidden]{display:none}
@media (max-width:560px){.ack{flex-direction:column;align-items:stretch}}
.ack .row{flex-wrap:nowrap;flex-shrink:0;white-space:nowrap}
.legal{max-width:none}.legal h3{margin-top:1.4rem}.legal p,.legal li{line-height:1.6}.legal .ph{background:var(--warn-soft);padding:0 .25rem;border-radius:3px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
