/* FD helyzetkép: shared styles. Tokens follow the platform theme (apps/proofminder-ui/src/styles/_theme.scss). */
*{box-sizing:border-box}
.app{--bg:#101724;--panel:#1A273D;--panel2:#253247;--line:#34435A;--bar:#172C47;--tx2:rgba(255,255,255,.76);--tx3:rgba(255,255,255,.58);--yel:#FFE694;
  min-height:900px;display:flex;flex-direction:column;background:var(--bg);color:#fff;font:400 13px/1.4 'Readex Pro',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.app button,.app input{font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
.lv{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}
.lv b{display:block;font-weight:500}
.lv small{display:block;color:var(--tx3);font-size:12px}
.chev{display:flex;justify-content:center;padding:4px 0;color:var(--tx3)}
.grp{padding:16px 0 6px;color:var(--tx3);font-size:12px}
.opt{display:flex;align-items:center;gap:10px;padding:6px 0;cursor:pointer}
.opt span{margin-left:auto;color:var(--tx2)}
.app input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:#FFE694}
.app input[type=range]{width:100%;accent-color:#FFE694}
.fld{width:100%;height:36px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:#fff}
.nav{height:56px;flex:none;display:flex;align-items:center;gap:4px;padding:0 24px;background:var(--bar)}
.nav img{height:18px;width:auto;margin-right:20px}
.app ::selection{background:rgba(255,230,148,.32)}
.app :focus-visible{outline:2px solid var(--yel);outline-offset:2px}
.nav a{padding:8px 12px;border-radius:8px;color:var(--tx2)}
.nav a.on{background:rgba(255,255,255,.1);color:#fff}
.who{margin-left:auto;text-align:right;line-height:1.3}
.who b{display:block;font-weight:500}
.who span{color:var(--tx3);font-size:12px}
.sub{display:flex;align-items:center;gap:16px;padding:16px 24px 12px;flex-wrap:wrap}
.sub h1{margin:0;font-size:20px;font-weight:500}
.crumb{display:flex;align-items:center;gap:8px;color:var(--tx3);flex-wrap:wrap}
.crumb a{color:var(--tx2)}
.crumb a:hover{color:#fff}
.crumb b{color:#fff;font-weight:500}
.search{margin-left:auto;display:flex;align-items:center;gap:8px;height:36px;width:380px;max-width:100%;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--tx3)}
.search input{flex:1;min-width:0;border:0;background:none;outline:0;color:#fff}
.search input::placeholder{color:var(--tx3)}
.fil{display:flex;align-items:center;gap:8px;padding:0 24px 16px;flex-wrap:wrap}
.seg{display:inline-flex;align-items:stretch;gap:2px;height:36px;padding:3px;border:1px solid var(--line);border-radius:8px}
.seg button,.seg a{display:flex;align-items:center;border:0;border-radius:6px;background:none;padding:0 12px;color:var(--tx2);cursor:pointer}
.seg button.on{background:var(--yel);color:#101724;font-weight:500}
.pick{height:36px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--tx2);cursor:pointer}
.pick b{color:#fff;font-weight:500}
.pick.on{border-color:var(--yel)}
.btn{height:36px;padding:0 16px;border-radius:8px;border:1px solid var(--yel);background:var(--yel);color:#101724;font-weight:500;cursor:pointer}
.btn.sec{background:none;border-color:rgba(255,255,255,.62);color:#fff}
.push{margin-left:auto}
.body{flex:1;display:flex;gap:24px;padding:0 24px 24px;flex-wrap:wrap;align-items:stretch}
.map{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:16px;padding:16px;background:#0C121D;border:1px solid var(--line);border-radius:12px}
.stage{position:relative;width:100%}
.stage>img{position:absolute;inset:0;width:100%;height:100%}
.lab{position:absolute;transform:translate(-50%,-50%);text-align:center;font-size:12px;line-height:1.25;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.75)}
.lab b{display:block;font-weight:500}
.lab span{color:rgba(255,255,255,.86)}
.legend{margin-top:auto;display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;color:var(--tx2);font-size:12px}
.legend strong{font-weight:500;color:#fff;flex-basis:100%}
.sw{display:inline-block;width:14px;height:14px;border-radius:4px;margin-right:6px;vertical-align:-2px}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}
.cy{color:#F5D547}
.cr{color:#FF5A4D}
.g3{grid-template-columns:minmax(0,1fr) 150px 64px}
.sens{height:36px;display:inline-flex;align-items:center;gap:10px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--tx2);cursor:pointer}
.sens input{width:88px}
.sens b{min-width:56px;color:#fff;font-weight:500}
.tip{position:absolute;top:46px;left:0;width:340px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);box-shadow:0 10px 28px rgba(0,0,0,.4);line-height:1.5}
.tip>b{font-weight:500}
.tip p{margin:8px 0 0;color:var(--tx2)}
.tip p b{color:#fff;font-weight:500}
.ends{display:flex;justify-content:space-between;gap:12px;padding-top:6px;font-size:12px;color:var(--tx2)}
.ends small{display:block;color:var(--tx3);font-size:12px}
.box.weak{border-style:dashed;opacity:.75}
.off progress{opacity:.5}
.film{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.film a{width:72px;height:72px;border:2px solid transparent;border-radius:8px;overflow:hidden}
.film a.on{border-color:var(--yel)}
.film img{display:block;width:100%;height:100%;object-fit:cover}
.d-up{background:#8B7CF5}
.d-ok{background:#4CAF50}
.d-y{background:#F5D547}
.d-r{background:#FF5A4D}
.pc b{min-width:22px}
.g10 .pc{padding-left:20px}
.side{flex:1 1 620px;min-width:0;display:flex;flex-direction:column;gap:16px}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.kpi{background:var(--panel);border-radius:12px;padding:12px 14px}
.kpi span{display:block;color:var(--tx3);font-size:12px}
.kpi b{display:block;font-size:22px;font-weight:500;line-height:1.3}
.kpi i{font-style:normal;color:var(--tx2);font-size:12px}
.card{background:var(--panel);border-radius:12px;padding:12px 16px 14px}
.card h2{margin:0 0 8px;font-size:14px;font-weight:500}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line)}
.tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:8px 10px;color:var(--tx2);cursor:pointer}
.tabs button.on{color:#fff;border-bottom-color:var(--yel)}
.row{display:grid;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.07);text-align:right}
.row>:first-child{text-align:left;min-width:0}
.row b{font-weight:500}
.row small{display:block;color:var(--tx3);font-size:12px}
.row.head{color:var(--tx3);font-size:12px;border-bottom-color:var(--line)}
a.row:hover{background:rgba(255,255,255,.04)}
.row.off{color:var(--tx3)}
.g7{grid-template-columns:minmax(0,1fr) 52px 64px 72px 60px 40px 112px}
.g6{grid-template-columns:minmax(0,1fr) 72px 88px 88px 52px 84px}
.g4{grid-template-columns:minmax(0,1fr) 64px 104px 92px}
.g10{grid-template-columns:minmax(0,1.5fr) 76px 64px 112px 76px 92px minmax(0,1fr) 56px 56px 104px}
.srt{display:inline-flex;align-items:center;gap:4px;color:#fff}
.fun{display:grid;grid-template-columns:150px minmax(0,1fr) 132px;gap:10px 12px;align-items:center}
.fun i{display:block;height:14px;border-radius:4px}
.fun span:nth-child(3n){text-align:right}
.fun em{font-style:normal;color:var(--tx3)}
.gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.gal a{position:relative;display:block;aspect-ratio:1;border-radius:8px;overflow:hidden}
.gal img{display:block;width:100%;height:100%;object-fit:cover}
.gal span{position:absolute;left:6px;bottom:6px;padding:2px 8px;border-radius:999px;background:rgba(12,18,29,.84);font-size:12px}
.box{position:absolute;border:2px solid;border-radius:2px}
.box span{position:absolute;left:-2px;bottom:100%;padding:1px 6px;font-size:11px;font-weight:500;color:#101724;white-space:nowrap}
.kv{display:grid;grid-template-columns:132px minmax(0,1fr);gap:8px 12px}
.kv span{color:var(--tx3)}
.pc{display:flex;align-items:center;gap:8px;justify-content:flex-end}
progress{appearance:none;-webkit-appearance:none;flex:1;min-width:0;height:8px;border:0;border-radius:4px;background:#0C121D;overflow:hidden}
progress::-webkit-progress-bar{background:#0C121D}
progress::-webkit-progress-value{background:currentColor}
progress::-moz-progress-bar{background:currentColor}
.s0{color:#5E7186}
.s1{color:#9C5560}
.s2{color:#C24A45}
.s3{color:#FF5A4D}
.chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;white-space:nowrap}
.chip.s0{background:#2A3B52;color:#D5DEEA}
.chip.s1{background:#7A3E48;color:#FFE1DC}
.chip.s2{background:#C24A45;color:#fff}
.chip.s3{background:#FF5A4D;color:#1A0B0A;font-weight:500}
.chip.na{border:1px dashed var(--line);color:var(--tx3)}
.note{color:var(--tx3);font-size:12px;padding-top:10px}
.more{display:inline-block;padding-top:10px;color:var(--yel)}

/* ---- the running app: pieces the design boards did not need ---- */
html,body{margin:0;background:#101724}
.app{min-height:100vh}
.chip{font-style:normal}
.nav a.brand{padding:0;display:flex}
.nav form{margin-left:16px}
.pick.still,.pick.off{cursor:default}
.pick.off{opacity:.45}
.pick:not(.still):not(.off):hover{border-color:#5A6B85}
a.btn,a.pick,span.pick{display:inline-flex;align-items:center}
.btn:hover{filter:brightness(1.06)}
.btn.sec:hover{background:rgba(255,255,255,.08);filter:none}
.search:focus-within{border-color:var(--yel)}
.seg a{display:flex;align-items:center;border-radius:6px;padding:0 12px;color:var(--tx2)}
.seg a.on{background:var(--yel);color:#101724;font-weight:500}
.seg.small{height:32px}
.tabs a,.tabs span.on{border-bottom:2px solid transparent;padding:8px 10px;color:var(--tx2)}
.tabs a:hover{color:#fff}
.tabs a.on,.tabs span.on{color:#fff;border-bottom-color:var(--yel)}
.tabs .count{align-self:center;color:var(--tx2)}
.dd{position:relative}
.dd summary{list-style:none}
.dd summary::-webkit-details-marker{display:none}
.menu{position:absolute;z-index:20;top:42px;left:0;min-width:248px;padding:8px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);box-shadow:0 10px 28px rgba(0,0,0,.4)}
.menu.dates{display:flex;align-items:center;gap:8px;padding:12px 14px}
.fld[type=date]{color-scheme:dark;width:152px}
.senswrap{position:relative}
.senswrap .tip{display:none;z-index:20}
.senswrap:hover .tip,.senswrap:focus-within .tip{display:block}
.fil h2{margin:0;font-size:18px;font-weight:500}
.fil.wide-gap{gap:12px}
.clear{padding:0 8px}
.stage>svg{position:absolute;inset:0;width:100%;height:100%}
.stage svg a:hover path{filter:brightness(1.3)}
.stage svg a:hover circle{stroke:#fff}
a.lab:hover b{text-decoration:underline}
.empty{margin:0;padding:24px 0;color:var(--tx3);text-align:center}
.g8{grid-template-columns:minmax(0,1fr) repeat(6,minmax(60px,92px)) 84px}
.g9{grid-template-columns:minmax(0,1.5fr) 84px 96px 150px 72px minmax(170px,1fr) 60px 60px 132px}
.row.head a:hover{color:#fff}
.row.head .dot{margin-right:4px}
.row.two{grid-template-columns:minmax(0,1fr) auto}
.row.sel{background:rgba(255,255,255,.06)}
.card.wide{flex:1 1 100%;min-width:0;overflow-x:auto}
.card.wide .row{min-width:1000px}
.cardhead{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.cardhead h2{margin:0}
.pager{display:flex;align-items:center;gap:8px;padding-top:12px}
.pager .note{padding-top:0;margin-right:auto}
.leaf{width:100%;aspect-ratio:1000 / 753;border-radius:8px;background:#0C121D}
.leaflet-container{font:inherit;background:#0C121D}
.leaflet-container .leaflet-control-attribution{background:rgba(12,18,29,.82);color:rgba(255,255,255,.76)}
.leaflet-container .leaflet-control-attribution a{color:#fff}
.leaflet-bar a,.leaflet-bar a:hover{background:#1A273D;color:#fff;border-bottom-color:#34435A}
.leaflet-bar a:hover{background:#253247}
.stage.detail{aspect-ratio:1 / 1;max-width:600px;margin:0 auto}
.stage.over{max-width:600px;margin:0 auto}
.stage.detail>img,.stage.over>img{border-radius:6px}
.ring{position:absolute;width:18px;height:18px;transform:translate(-50%,-50%);border:2px solid;border-radius:50%}
.ring.sel{width:28px;height:28px;border-color:#fff!important}
.box.sel{outline:2px solid #fff;outline-offset:3px}
.nomarks .box,.nomarks .ring{display:none}
.stage.loc{max-width:260px}
.kv b{font-weight:400;overflow-wrap:anywhere}
.link{color:var(--yel)}
.link:hover,.more:hover{text-decoration:underline}
.film a{display:block}
.body.top{align-items:flex-start;padding-top:8px}
.results{flex:3 1 480px;min-width:0;padding:20px 24px 24px}
.filters{flex:2 1 400px;min-width:0;padding:20px 24px 24px}
.results h2,.filters h2{font-size:18px;margin:0 0 8px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.pair{display:flex;align-items:center;gap:8px 24px}
.ends .right{text-align:right}
.formfoot{display:flex;align-items:center;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}
.gate{align-items:center;justify-content:center;padding:24px}
.door{width:360px;max-width:100%;padding:32px;display:flex;flex-direction:column;gap:20px}
.door img{height:22px;width:auto;align-self:flex-start}
.door h1{margin:0;font-size:22px;font-weight:500}
.door p{margin:0;color:var(--tx2)}
.door .err{color:#FFB4AC}
.devlogin{display:flex;flex-direction:column;gap:12px}
.devlogin label{display:flex;flex-direction:column;gap:6px;color:var(--tx2);font-size:12px}
@media (max-width:720px){
.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
.nav{padding:0 16px}
.sub,.fil,.body{padding-left:16px;padding-right:16px}
.search{width:100%;margin-left:0}
}
.g7{grid-template-columns:minmax(0,1fr) 56px 84px 76px 60px 44px 112px}
.g8{grid-template-columns:minmax(0,1.4fr) repeat(6,minmax(0,1fr)) 110px}
.fun .dot{display:inline-block;height:9px;border-radius:50%}
.g3s{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1.2fr);text-align:left}
.g3s span{text-align:left}
.card.wide h2{font-size:18px;margin:4px 0 8px}
