:root{font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;color:#e6f2ff;background:#081524;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 90% 0,#12365244,transparent 50%),#081524}header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:21px clamp(16px,3vw,42px);background:#0c2034;border-bottom:1px solid #2b4961}h1{margin:0;font-size:clamp(21px,2.3vw,28px)}h2{font-size:19px;margin:0 0 12px}h3{font-size:15px;margin:0 0 10px}nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}a{color:#8bd4ff;text-decoration:none}a:hover{text-decoration:underline}main{max-width:1650px;margin:auto;padding:20px clamp(12px,2.5vw,36px)}.sub,.muted{color:#a4bdd0;font-size:13px}.sub{margin-top:5px}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.metric,.panel{border:1px solid #29465e;background:#10263c;border-radius:14px}.metric{padding:17px}.metric small{display:block;color:#adc5d8}.metric b{font-size:clamp(21px,2.3vw,29px);display:block;margin-top:7px}.two{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:16px}.panel{padding:18px;margin-bottom:16px;min-width:0}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.toolbar h2{margin:0}.scroll{overflow:auto}.stationScroll{height:min(70vh,730px);overflow:auto;margin-top:10px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:9px 8px;border-bottom:1px solid #28465d;text-align:left}th{color:#b6cadb}tr.station{cursor:pointer}tr.station:hover,tr.selected{background:#1b3d55}tr.fav{background:#1c3648}td.num,.num{text-align:right;font-variant-numeric:tabular-nums}.up{color:#5dd8a4}.down{color:#ff9fa4}.flat{color:#c9d7e5}.warn{color:#f6d085}.grid2{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:16px}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;align-items:end}label{display:block;font-size:13px;color:#bcd2e4}input,select,button{font:inherit;border-radius:8px;border:1px solid #41617b;color:#fff;background:#0c1e32;padding:9px 11px;max-width:100%}input:not([type=checkbox]),select{width:100%;margin-top:6px}button{cursor:pointer;background:#214f73}button:hover{background:#30688d}button:disabled{opacity:.5;cursor:not-allowed}.inline{display:inline-flex;gap:6px}.detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px}.detail>div{background:#0b1e31;padding:13px;border-radius:9px}.detail small{display:block;color:#a2bed1}.detail strong{display:block;font-size:22px;margin-top:3px}svg.chart{width:100%;height:270px;background:#0a2033;border-radius:10px;display:block}.mini{font-size:12px}.error,.success{padding:12px;border-radius:8px;background:#663344;color:#fff}.success{background:#174f45}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.tab.on{background:#237f9e}.hidden{display:none!important}#map{height:420px;border-radius:10px;background:#112a40}.leaflet-container{background:#102a40}footer{color:#a3b8ca;font-size:12px;margin:18px 0 30px}.star{border:0;background:transparent;font-size:21px;color:#ffce73;padding:2px 5px}.pill{display:inline-block;padding:7px 12px;border:1px solid #375875;border-radius:20px;font-size:12px;color:#d0e6f7}.note{font-size:12px;color:#abc2d4;line-height:1.6}.badge{display:inline-block;border-radius:6px;padding:3px 7px;background:#25465d}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.responsive{width:100%}@media(max-width:1020px){.two,.grid2{grid-template-columns:1fr}.stationScroll{max-height:350px}.metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.metrics{grid-template-columns:repeat(2,1fr)}header{align-items:start;flex-direction:column}.panel{padding:13px}.detail strong{font-size:18px}#map{height:320px}}
@media print{body{background:#fff;color:#111}header,nav,button,input,select,.tabs,.stationScroll,#map,footer{display:none!important}.two,.grid2{display:block}.panel,.metric{border-color:#aaa;background:#fff;color:#111}.sub,.muted,.note{color:#333}svg.chart{background:#fff}svg.chart text{fill:#333}}

/* 0005: Leaflet térkép kritikus elrendezési szabályai.
   Akkor is érvényesek, ha a külső leaflet.css nem töltődik be. */
#map.leaflet-container{position:relative;overflow:hidden;isolation:isolate;z-index:0;outline:0;touch-action:pan-x pan-y;background:#102a40}
.leaflet-container .leaflet-pane,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-marker-icon,.leaflet-container .leaflet-marker-shadow,.leaflet-container .leaflet-tile-container,.leaflet-container .leaflet-pane>svg,.leaflet-container .leaflet-pane>canvas,.leaflet-container .leaflet-zoom-box,.leaflet-container .leaflet-image-layer,.leaflet-container .leaflet-layer{position:absolute;left:0;top:0}
.leaflet-container .leaflet-tile{visibility:hidden;user-select:none;-webkit-user-select:none;max-width:none!important;max-height:none!important}
.leaflet-container .leaflet-tile-loaded{visibility:inherit}
.leaflet-container .leaflet-pane{z-index:400}
.leaflet-container .leaflet-tile-pane{z-index:200}
.leaflet-container .leaflet-overlay-pane{z-index:400}
.leaflet-container .leaflet-shadow-pane{z-index:500}
.leaflet-container .leaflet-marker-pane{z-index:600}
.leaflet-container .leaflet-tooltip-pane{z-index:650}
.leaflet-container .leaflet-popup-pane{z-index:700}
.leaflet-container .leaflet-map-pane canvas{z-index:100}
.leaflet-container .leaflet-map-pane svg{z-index:200}
.leaflet-container .leaflet-control{position:relative;z-index:800;pointer-events:auto}
.leaflet-container .leaflet-top,.leaflet-container .leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}
.leaflet-container .leaflet-top{top:0}.leaflet-container .leaflet-right{right:0}.leaflet-container .leaflet-bottom{bottom:0}.leaflet-container .leaflet-left{left:0}
.leaflet-container .leaflet-control-container .leaflet-control{clear:both;margin:10px}
.leaflet-container .leaflet-left .leaflet-control{float:left}.leaflet-container .leaflet-right .leaflet-control{float:right}
.leaflet-container .leaflet-control-attribution{font-size:11px;line-height:1.4;background:#ffffffcf;color:#222;padding:0 5px}
.leaflet-container .leaflet-control-zoom a{display:block;width:30px;height:30px;line-height:30px;text-align:center;background:#fff;color:#222;font-size:20px;font-weight:bold;text-decoration:none}
.leaflet-container .leaflet-control-zoom{border:2px solid #0003;border-radius:4px;overflow:hidden}
.leaflet-container .leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}
.leaflet-container .leaflet-popup-content-wrapper{background:#fff;color:#222;padding:8px 12px;border-radius:8px;box-shadow:0 3px 14px #0004}
.leaflet-container .leaflet-popup-content{margin:8px;line-height:1.5}
.leaflet-container .leaflet-popup-tip-container{position:absolute;left:50%;margin-left:-20px;width:40px;height:20px;overflow:hidden}
.leaflet-container .leaflet-popup-tip{background:#fff;transform:rotate(45deg);width:17px;height:17px;margin:-10px auto 0;box-shadow:0 3px 14px #0004}
.leaflet-container .leaflet-popup-close-button{position:absolute;right:5px;top:3px;color:#555;font-weight:bold;text-decoration:none}
.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{image-rendering:auto;border:0}
.leaflet-container .leaflet-interactive{cursor:pointer}
