/* A visible control is independent of the operating system's auto-hidden scrollbars. */
html body .xs-table-shell{position:relative;min-width:0;max-width:100%;width:100%;margin:0;--xs-paper:var(--xm-paper,var(--panel,#f3f8fc));--xs-ink:var(--xm-ink,#193e57);--xs-edge:var(--xm-line,#afc7d8);--xs-rail:#bccfdc;--xs-accent:#176d9b}
html body.xionia-dark .xs-table-shell,html body[data-widget-theme=dark] .xs-table-shell{--xs-paper:var(--xm-paper,#153346);--xs-ink:var(--xm-ink,#e7f4fc);--xs-edge:var(--xm-line,#526f83);--xs-rail:#587689;--xs-accent:#89d3fa}
html body .xs-table-bar{box-sizing:border-box;position:relative;top:auto;z-index:1;display:flex;align-items:center;gap:8px;width:100%;min-height:52px;margin:0 0 6px;padding:4px 8px;border:1px solid var(--xs-edge);border-radius:11px;background:var(--xs-paper);color:var(--xs-ink);box-shadow:0 3px 10px #123b5114;font:600 12px/1.3 system-ui,sans-serif;text-align:start}
html body .xs-table-bar[hidden]{display:none!important}
html body .xs-table-bar .xs-table-hint{flex:none;padding:0 3px;white-space:nowrap;color:inherit;font:inherit}
html body .xs-table-bar button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;min-width:44px;width:44px;min-height:44px;height:44px;margin:0;padding:10px;border:1px solid var(--xs-edge);border-radius:9px;background:transparent;color:var(--xs-ink);cursor:pointer;touch-action:manipulation;box-shadow:none}
html body .xs-table-bar button svg{display:block;width:22px;height:22px;flex:none}
html body .xs-table-bar button:hover:not(:disabled){background:color-mix(in srgb,var(--xs-accent) 12%,var(--xs-paper))}
html body .xs-table-bar button:disabled{opacity:.35;cursor:default}
html body .xs-table-bar .xs-table-position{flex:0 0 36px;text-align:end;font:500 11px/1.3 system-ui,sans-serif;font-variant-numeric:tabular-nums;color:inherit}
html body .xs-table-bar input.xs-table-range{box-sizing:border-box;display:block;flex:1 1 0%;width:0;min-width:50px;max-width:none;height:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;appearance:none;-webkit-appearance:none;cursor:ew-resize;touch-action:pan-y;color:var(--xs-accent);opacity:1;direction:ltr}
html body .xs-table-bar input.xs-table-range::-webkit-slider-runnable-track{height:10px;border:0;border-radius:999px;background:linear-gradient(to right,var(--xs-accent) 0 var(--xs-progress,0%),var(--xs-rail) var(--xs-progress,0%) 100%)}
html body .xs-table-bar input.xs-table-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:32px;height:24px;margin-top:-7px;border:2px solid var(--xs-paper);border-radius:8px;background:var(--xs-accent);box-shadow:0 0 0 1px var(--xs-accent);cursor:grab}
html body .xs-table-bar input.xs-table-range::-moz-range-track{height:10px;border:0;border-radius:999px;background:var(--xs-rail)}
html body .xs-table-bar input.xs-table-range::-moz-range-progress{height:10px;border-radius:999px;background:var(--xs-accent)}
html body .xs-table-bar input.xs-table-range::-moz-range-thumb{width:28px;height:20px;border:2px solid var(--xs-paper);border-radius:8px;background:var(--xs-accent);box-shadow:0 0 0 1px var(--xs-accent);cursor:grab}
html body .xs-table-bar button:focus-visible,html body .xs-table-bar input.xs-table-range:focus-visible{outline:3px solid #c88b16;outline-offset:2px}
html body .xs-table-viewport{overflow-x:auto!important;scrollbar-width:auto!important;scrollbar-color:var(--xs-accent) var(--xs-rail)!important;scrollbar-gutter:stable;max-width:100%;min-width:0;overscroll-behavior-x:contain}
html body .xs-table-viewport::-webkit-scrollbar{display:block;height:14px;width:14px}
html body .xs-table-viewport::-webkit-scrollbar-track{background:var(--xs-rail);border-radius:999px}
html body .xs-table-viewport::-webkit-scrollbar-thumb{background:var(--xs-accent);border:3px solid var(--xs-rail);border-radius:999px;min-width:32px}
@media(max-width:480px){html body .xs-table-bar{gap:5px;padding:4px 5px}html body .xs-table-bar .xs-table-hint{display:none}html body .xs-table-bar .xs-table-position{flex-basis:30px;font-size:10px}}
@media(forced-colors:active){html body .xs-table-bar{border-color:ButtonText}html body .xs-table-bar input.xs-table-range{appearance:auto;-webkit-appearance:auto;forced-color-adjust:auto}html body .xs-table-bar button{border-color:ButtonText}}
@media print{html body .xs-table-bar{display:none!important}}

html body .xs-table-bar:not([hidden])+.xs-table-viewport{margin-top:0}

/* Station home: no additional bars in legacy text/layout tables. */
html body.xionia-home .xs-table-bar{display:none!important}

/* Shared table/chart controls: one compact row, always outside the data. */
html body .xm-chart-scroll-bar{margin:6px 0;padding:2px 5px;min-height:48px;gap:6px;--xs-paper:var(--xm-soft,#eaf1f6);--xs-ink:var(--xm-ink,#193e57);--xs-edge:var(--xm-line,#afc7d8);--xs-rail:var(--xm-line,#bccfdc);--xs-accent:var(--xm-muted,#176d9b)}
html body .xm-chart-scroll-bar>span{flex:0 0 30px;width:30px;font:11px/1.3 system-ui,sans-serif;text-align:end;font-variant-numeric:tabular-nums}
html body .xm-chart-scroll-bar button{font-size:24px;line-height:1;padding:4px}
html body .xs-table-bar{overscroll-behavior:contain}
html body .xs-table-viewport,.xm-scene-scroll,.xe-plot-panel .xc-plot,.xm-chart-details .xc-plot{touch-action:pan-x pan-y;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
@media(max-width:700px){html body .xs-table-bar{min-height:48px;gap:5px;padding:2px 5px;border-radius:9px;box-shadow:none}html body .xs-table-bar .xs-table-hint{display:none}html body .xs-table-bar button{flex-basis:44px}html body .xs-table-bar .xs-table-position{flex-basis:28px}html body .xs-table-bar input.xs-table-range::-webkit-slider-runnable-track{height:7px}html body .xs-table-bar input.xs-table-range::-webkit-slider-thumb{margin-top:-8px}html body .xs-table-bar input.xs-table-range::-moz-range-track,html body .xs-table-bar input.xs-table-range::-moz-range-progress{height:7px}}

/* Wide tables: keep the row label in view on desktop and phone. */
html body .xs-table-viewport table{border-collapse:separate;border-spacing:0}
html body .xs-table-viewport :is(th,td):first-child{position:sticky;left:0;z-index:1;background:var(--xs-paper);background-clip:padding-box;box-shadow:1px 0 0 var(--xs-edge)}
html body .xs-table-viewport thead th:first-child{z-index:2}
html body .xs-table-viewport:focus-visible{outline:2px solid var(--xs-accent);outline-offset:2px}
html body #forecast-location-map{scroll-margin-top:calc(var(--xn-header-height,0px) + 12px)}
@media(max-width:700px){html body .xs-table-viewport :is(th,td):first-child{max-width:132px;overflow-wrap:anywhere}html body #forecast-location-map #greece-map{height:clamp(280px,48vh,430px);min-height:280px}html body #forecast-location-map .greece-controls{gap:6px;flex-wrap:wrap}html body #forecast-location-map .greece-controls select,html body #forecast-location-map .greece-controls button{min-height:44px;max-width:100%}}

/* The default forecast is below the overview map, without a duplicate floating card. */
html body .xionia-map-overview .xionia-map-selection{display:none}
@media(max-width:700px){html body .xionia-map-selection{max-width:min(190px,55vw);font-size:12px;padding:7px}html body .xionia-map-selection .map-selection-name{overflow-wrap:anywhere}}

/* Mouse drag begins only after a horizontal gesture; touch and controls stay native. */
@media(pointer:fine){html body .xs-mouse-scroll{cursor:grab}html body .xs-mouse-scroll :is(a,button,input,select,textarea,summary){cursor:auto}}
html body .xs-mouse-dragging,html body .xs-mouse-dragging *{cursor:grabbing!important;user-select:none!important}
