@import url('./segment-display.css?v=20261103-viewport-1');
@import url('https://skola.eduvize.cz/eduvize-styly/design-system/card-layout.css?v=1');
@import url('./web-brand.css?v=20261031-integrity-1');
/* Shared roles, applied after app components: identical viewport = identical typography. */
html[data-kiosk-app][data-output-mode]{font-family:var(--edu-admin-font,system-ui);font-size:var(--edu-text-body,18px);color:var(--ev-text);background:var(--ev-bg)}
html[data-kiosk-app][data-output-mode] body{font-family:inherit;color:var(--ev-text);background:var(--ev-bg)}
html[data-kiosk-app][data-output-mode] .edu-output-header{box-sizing:border-box!important;display:flex!important;align-items:center!important;overflow:hidden!important;min-width:0;background:var(--ev-primary)!important;color:var(--ev-primary-text)!important;border:0!important;border-radius:var(--ev-card-radius)!important}
html[data-kiosk-app][data-output-mode] .edu-output-header .edu-header-title{font-size:var(--edu-header-title)!important;line-height:1.12!important;margin:0!important;font-weight:650!important;overflow-wrap:normal}
html[data-kiosk-app][data-output-mode] .edu-output-header .edu-header-meta{font-size:var(--edu-header-meta)!important;line-height:1.2!important;margin:0!important}
html[data-kiosk-app][data-output-mode] .edu-output-header :is(.edu-app-icon,.edu-header-art){width:var(--edu-header-icon)!important;height:var(--edu-header-icon)!important;min-width:var(--edu-header-icon)!important;flex:0 0 var(--edu-header-icon)!important;padding:0!important;margin:0!important}
html[data-kiosk-app][data-output-mode] .edu-output-header :is(.edu-app-icon,.edu-header-art)>svg{width:60%!important;height:60%!important;max-height:60%!important;transform:none!important}
html[data-kiosk-app][data-output-mode] :is(.summary,.forecast-card p,.destination,.route,.route-number,.quote){font-size:var(--edu-text-body)!important;line-height:1.4!important}
html[data-kiosk-app][data-output-mode] :is(.title,.section-heading h2,.tile-title,.doc-title,.upcoming-name){font-size:var(--edu-text-title)!important;line-height:1.25!important}
html[data-kiosk-app][data-output-mode] :is(.metric-name,.upcoming-date,.hour-time,.date,.doc-type,.metric-note,.upcoming-event,.author,.stop,.countdown,.table-header span,.tile-foot,.detail){font-size:var(--edu-text-label)!important;line-height:1.3!important}
html[data-kiosk-app][data-output-mode] :is(.metric-value,.hour-temp,.time){font-size:var(--edu-text-value)!important;line-height:1.15!important}
html[data-kiosk-app][data-output-mode] :is(.section-heading>span,.hour-rain,.hour-detail){font-size:var(--edu-text-caption)!important;line-height:1.3!important}
html[data-kiosk-app][data-output-mode] :is(.metric,.calendar-card,.forecast-card,.hourly-panel,.daily-forecast-panel,.hour-cell,.daily-hour-cell){background:var(--ev-surface);color:var(--ev-text);border-color:var(--ev-border)}
html[data-kiosk-app][data-output-mode] :is(.footer,.work,.source-link,.edu-kiosk-pagination,.edu-auto-pagination,.page-indicator){font-size:var(--edu-text-footnote,16px)!important;line-height:1.3!important}
/* The standard website never clips content into a viewport or rotates pages. */
html.web-output,html.web-output body{height:auto!important;min-height:100%!important;overflow:visible!important;overscroll-behavior:auto}
html.web-output :is(.shell,.web-shell,.page){box-sizing:border-box;display:block!important;width:100%!important;max-width:1440px!important;height:auto!important;min-height:0!important;margin:0 auto!important;padding:clamp(16px,3vw,36px)!important;overflow:visible!important}
html.web-output :is(.shell>.card,.web-shell>#display,.panel,#detail,.viewer,.content){height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important}
html.web-output .edu-web-header{display:flex!important}
html.web-output :is(.edu-kiosk-pagination,.edu-pagination,.page-indicator,#pagination,#controls){display:none!important}
html.web-output :is(.grid,.metrics,.calendar-metrics,.upcoming-grid,.forecast-grid,.hourly-grid,.daily-hourly-grid){display:flex!important;flex-direction:column!important;gap:16px!important;height:auto!important;max-height:none!important;overflow:visible!important}
html.web-output :is(.card,.calendar-card,.upcoming-day,.forecast-card,.hour-cell,.daily-hour-cell,.tile){height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;container-type:normal!important;flex:none!important;break-inside:auto}
html.web-output :is(.calendar-metrics,.upcoming){margin-top:24px}
html.web-output :is(.summary,.title,.metric-value,.upcoming-name,.upcoming-event,.forecast-card p,.quote){display:block!important;-webkit-line-clamp:unset!important;max-height:none!important;overflow:visible!important;white-space:normal!important;overflow-wrap:anywhere}
html.web-output .pdf-pages{display:flex!important;flex-direction:column!important;height:auto!important;overflow:visible!important;gap:16px}
html.web-output .pdf-page{width:100%!important;height:auto!important}
html.web-output .viewer video{height:auto!important;max-height:none!important;width:100%;object-fit:contain}
html.web-output #documentLoading{display:none!important}
html.web-output #news .card{display:flex!important;flex-direction:column!important;margin-bottom:16px}
html.web-output #news .media{flex:none!important;width:100%!important;height:clamp(180px,30vw,400px)!important}
html.web-output #news .content{padding:24px;flex:none!important}
html.web-output #news .media img{object-fit:contain}
html.web-output #display>.panel{display:flex!important;flex-direction:column!important;gap:20px}
html.web-output #display .content{padding:24px}
html.web-output #display .quote{margin:0 0 24px;font-size:var(--edu-text-title)!important}
html.web-output .departures-viewport{height:auto!important;overflow:visible!important;flex:none!important}
html.web-output .body{height:auto!important;overflow:visible!important;flex:none!important}
html.web-output .weather-page{display:block!important;margin:0;height:auto!important;overflow:visible!important}
html.web-output .weather-page[hidden]{display:none!important}
html.web-output .header:not(.edu-web-header):not(.edu-output-header){display:none!important}

html.nsp-output .edu-kiosk-stage{flex:1 1 0%;min-height:0;overflow:hidden;scrollbar-width:none}
.edu-auto-pagination{min-height:24px;padding:2px 0;background:transparent;font-size:var(--edu-text-footnote,16px)}
.edu-auto-pagination button{display:none}

/* All output surfaces use the theme card radius, without kiosk-only scaling. */
html[data-kiosk-app][data-output-mode] :is(.metric,.calendar-card,.forecast-card,.hourly-panel,.daily-forecast-panel,.hour-cell,.daily-hour-cell,.upcoming-day,.school-card,.page-section,.school-intro){border-radius:var(--ev-card-radius)!important}

/* Ordinary pages always keep the complete document in the normal scrolling flow. */
html.web-output .edu-kiosk-stage{height:auto!important;max-height:none!important;overflow:visible!important;flex:none!important}

/* A custom kiosk page in ordinary-page mode has no viewport-sized content area. */
html.web-output :is(.wrap,#pageContent,#schoolContent,.edu-paged-panel,.edu-paged-stage,.edu-paged-content,.page-content-sheet){height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;flex:none!important}
html.web-output .wrap{display:flex!important;flex-direction:column!important}
html.web-output :is(#pageContent,#schoolContent){grid-area:auto!important;width:100%!important}
html.web-output .edu-paged-content{position:static!important;transform:none!important;width:100%!important}

/* Responsive kiosk menus must not use cqmin after leaving a size container. */
html.web-output body:is(.menu-layout,.tiles-home) #tiles .tile{--tile-icon-size:64px;container-type:normal!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:20px!important;padding:20px!important;box-sizing:border-box}
html.web-output body:is(.menu-layout,.tiles-home) #tiles .tile .app-icon{width:64px!important;height:64px!important;flex:0 0 64px!important;margin:0!important;box-sizing:border-box}
html.web-output body:is(.menu-layout,.tiles-home) #tiles .tile strong{width:auto!important;max-width:none!important;text-align:left!important;font-size:var(--edu-text-title,24px)!important}

/* Ordinary kiosk pages use document flow, including embedded application content. */
html.web-output #contentFrame{position:static!important;transform:none!important;top:auto!important;left:auto!important;width:100%!important;min-height:480px!important;max-height:none!important;flex:none!important;grid-area:auto!important;display:block}
html.web-output #contentFrame.hidden{display:none!important}
html.web-output .wrap{max-width:1280px!important;margin-inline:auto!important;padding:24px!important;gap:24px!important}
html.web-output #tiles{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))!important;gap:16px!important}
html.web-output .wrap>header{position:static!important;height:auto!important}
#ev-preview.kiosk-preview{overflow:hidden!important}
.edu-web-preview-controls{display:flex;gap:12px;margin:0 0 16px}

/* Website menus occupy only their content height; viewport tracks belong to kiosk output. */
html.web-output #tiles{grid-template-rows:none!important;grid-auto-rows:auto!important;align-content:start!important;min-height:0!important;height:auto!important;margin:0!important;flex:none!important}
html.web-output #tiles>*{grid-row:auto!important;grid-column:auto!important;min-height:0!important}
html.web-output body.menu-layout #tiles{grid-area:auto!important}
html.web-output :is(.edu-paged-panel,.edu-paged-stage,.edu-paged-content,.edu-web-flow-section){height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
html.web-output .edu-web-flow-section:empty{display:none!important}
html.web-output .edu-web-flow-section+.edu-web-flow-section{margin-top:24px}
html.web-output :is(.edu-pagination,.edu-kiosk-pagination,.page-indicator,#pagination,#controls,.edu-auto-pagination){display:none!important}

/* Ordinary documents measure content, never a previous iframe viewport. */
html.web-output,html.web-output body{height:auto!important;min-height:0!important}
html.web-output #contentFrame{min-height:0!important;margin:0!important;align-self:stretch!important}
html.web-output [data-edu-content-surface]{--edu-content-font:18px!important;--edu-content-gap:20px!important;font-size:18px!important;overflow:visible!important;container-type:normal!important}
html.web-output :is(.school-sheet,.school-cards,.school-card,.page-content-sheet,.page-content-row,.page-section){height:auto!important;min-height:0!important;max-height:none!important;flex:none!important;align-content:start!important;justify-content:flex-start!important}
html.web-output .school-sheet{display:flex!important;gap:20px}
html.web-output .school-cards{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))!important;gap:20px}
html.web-output :is(.school-card,.page-section){padding:20px!important}
html.web-output :is(.school-text,.school-contact,.page-section p){font-size:18px!important;line-height:1.55!important}
html.web-output :is(.school-card h3,.page-section h2){font-size:24px!important;line-height:1.25!important}
html.web-output .edu-content-heading :is(h2,.edu-navigation-title){font-size:28px!important;line-height:1.2!important}
html.web-output .edu-content-heading :is(.school-motto,.edu-navigation-subtitle){font-size:18px!important}
html.web-output .school-intro{padding:20px!important}
html.web-output .school-photo{height:auto!important;max-height:180px;object-fit:cover}
html.web-output .page-content-sheet{grid-auto-rows:auto!important}
html.web-output .page-content-row{align-items:flex-start!important}
html.web-output .page-image-box{height:160px!important;flex-basis:30%!important}
html.web-output .edu-web-header{position:static!important;float:none!important;transform:none!important;height:auto!important;min-height:80px!important;gap:20px!important;box-sizing:border-box!important}
html.web-output :is(.web-shell,.shell)>.edu-web-header{padding:0!important;margin:0 0 24px!important;width:100%!important}
html.web-output .edu-web-header .edu-brand-logo{margin:0!important;position:static!important}
html.web-output .edu-output-header{height:auto!important;min-height:96px!important;max-height:none!important;flex-wrap:wrap!important;align-content:center!important}
html.web-output .edu-output-header .edu-header-title{font-size:28px!important}
html.web-output .edu-output-header .edu-header-meta{font-size:16px!important}
html.web-output .head.edu-output-header{display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:6px 16px!important;padding:20px!important}
html.web-output .head.edu-output-header>.head-icon{grid-column:1;grid-row:1 / span 2;width:48px!important;height:48px!important}
html.web-output .head.edu-output-header>.edu-header-title{grid-column:2;grid-row:1}
html.web-output .head.edu-output-header>.topic{grid-column:2;grid-row:2;margin:0!important}
html.web-output:not([data-kiosk-app="weather"]) :is(.hourly-grid,.daily-hourly-grid,.forecast-grid,.metrics){display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))!important;gap:16px!important}
html.web-output[data-kiosk-app="weather"] :is(.hourly-grid,.daily-hourly-grid,.forecast-grid,.metrics){display:grid!important;gap:16px!important}
html.web-output[data-kiosk-app="weather"] .metrics{grid-template-columns:repeat(var(--weather-metrics,3),minmax(0,1fr))!important}
html.web-output[data-kiosk-app="weather"] :is(.hourly-grid,.daily-hourly-grid){grid-template-columns:repeat(var(--weather-hours,3),minmax(0,1fr))!important}
html.web-output[data-kiosk-app="weather"] .forecast-grid{grid-template-columns:repeat(var(--weather-forecast,3),minmax(0,1fr))!important}
html.web-output :is(.hour-cell,.daily-hour-cell){padding:20px!important;gap:12px!important;justify-content:flex-start!important}
html.web-output :is(.edu-media-viewer,.edu-media-viewport,#viewer){height:auto!important;min-height:0!important;max-height:none!important;flex:none!important;overflow:visible!important}
html.web-output .edu-media-viewport .edu-document-image{margin:0 auto!important;max-width:100%!important;height:auto!important}

/* Web departure rows reserve enough width for the whole HH:MM value and line badge. */
html.web-output[data-kiosk-app="transport"] :is(.table-header,.departure){grid-template-columns:5em 4.5em minmax(0,1fr) 4em!important;font-size:18px!important;column-gap:12px!important;padding:12px!important}
html.web-output[data-kiosk-app="transport"] .time{font-size:22px!important;line-height:1.25!important}

/* Shared source metadata policy: omit secondary provenance only in long horizontal strips and small tiles.
   Author names and page/touch controls remain content, not source details. */
@media(min-aspect-ratio:27/10),(max-width:1200px) and (max-height:720px){
 html:is(.nsp-output,.kiosk-output) :is([data-edu-source-details],.work,.source-link,#source){display:none!important}
 html:is(.nsp-output,.kiosk-output) .footer:not(:has(nav,button,#page,[role="navigation"],.edu-kiosk-pagination)){display:none!important}
}

/* Light application headings belong only to kiosk output.
   All colors follow the active global theme; geometry and text scale stay shared. */
html[data-kiosk-app][data-output-mode="kiosk"].kiosk-output[data-kiosk-header="light"]:not(.edu-kiosk-header-legacy) .edu-output-header,
html[data-kiosk-app][data-output-mode="kiosk"].kiosk-output[data-kiosk-header="light"]:not(.edu-kiosk-header-legacy) body.subpage .wrap>.edu-output-header{
 background:var(--ev-bg)!important;color:var(--ev-text)!important;
 border:0!important;border-bottom:3px solid var(--ev-secondary)!important;
 border-radius:0!important;box-shadow:none!important;
}
html[data-kiosk-app][data-output-mode="kiosk"].kiosk-output[data-kiosk-header="light"]:not(.edu-kiosk-header-legacy) .edu-output-header :is(.edu-header-title,.edu-header-meta,.edu-navigation-heading,.hero-details,.condition-label){
 color:inherit!important;
}
html[data-kiosk-app][data-output-mode="kiosk"].kiosk-output[data-kiosk-header="light"]:not(.edu-kiosk-header-legacy) .edu-output-header .edu-navigation-heading{
 background:transparent!important;
}
html[data-kiosk-app][data-output-mode="kiosk"].kiosk-output[data-kiosk-header="light"]:not(.edu-kiosk-header-legacy) .edu-output-header .edu-app-icon{
 background:transparent!important;color:var(--ev-primary)!important;
}
/* The style version is visible in kiosk output only. */
.edu-kiosk-style-version{display:none}
html[data-kiosk-app][data-output-mode="kiosk"].kiosk-output:not(.edu-kiosk-header-legacy) .edu-kiosk-style-version{
 display:block;position:fixed;right:5px;bottom:4px;z-index:2147483646;
 padding:2px 5px;border:1px solid var(--ev-border);border-radius:3px;
 background:var(--ev-surface);color:var(--ev-text);
 font:10px/1.2 system-ui,sans-serif;pointer-events:none;
}

/* Kiosk text alignment: all application headings follow the visible content's left edge. */
html[data-kiosk-app][data-output-mode="kiosk"] .edu-output-header .edu-app-icon{order:-1}
html[data-kiosk-app="news"][data-output-mode="kiosk"] .edu-output-header .brand{flex:1;min-width:0}
html[data-kiosk-app][data-output-mode="kiosk"] .section-heading{
 padding-inline:var(--edu-kiosk-section-inset,var(--edu-kiosk-text-inset,var(--edu-header-inset)));
}
html[data-kiosk-app="weather"][data-output-mode="kiosk"] .edu-output-header .weather-current{order:1}
html[data-kiosk-app="weather"][data-output-mode="kiosk"] .edu-output-header .hero-art{order:2}
html[data-kiosk-app="weather"][data-output-mode="kiosk"][data-weather-portrait] .hero{
 grid-template-columns:auto minmax(0,1fr) auto!important;
}
html[data-kiosk-app="weather"][data-output-mode="kiosk"][data-weather-portrait] .weather-current{grid-column:2}
html[data-kiosk-app="weather"][data-output-mode="kiosk"][data-weather-portrait] .hero>.edu-app-icon{grid-column:1}
html[data-kiosk-app="weather"][data-output-mode="kiosk"][data-weather-portrait] .hero-art{grid-column:3}
html[data-kiosk-app="kiosk"][data-output-mode="kiosk"] .page-image-box{order:1}
html[data-kiosk-app="transport"][data-output-mode="kiosk"] .table-header{
 padding-left:calc(var(--transport-gap,12px) + 1px);
}

html[data-kiosk-app][data-output-mode="kiosk"] :is(.empty,.error){
 text-align:left;padding-inline:var(--edu-kiosk-text-inset,var(--edu-header-inset));
}

html[data-kiosk-app="transport"][data-output-mode="kiosk"] .message{
 text-align:left;padding-inline:var(--edu-kiosk-text-inset,var(--edu-header-inset));
}


html.kiosk-output .edu-output-header[hidden]{display:none!important}


/* Header skin follows the kiosk layout, including custom school pages. */
html[data-kiosk-header="dark"]:is(.kiosk-output,[data-kiosk-app="kiosk"]:not(.web-output)) .edu-output-header,
html[data-kiosk-header="dark"]:is(.kiosk-output,[data-kiosk-app="kiosk"]:not(.web-output)) body.subpage .wrap>.edu-output-header{
 background:var(--ev-primary)!important;color:var(--ev-primary-text)!important;
 border:0!important;border-radius:var(--ev-card-radius)!important;box-shadow:none!important;
}
html[data-kiosk-header="dark"]:is(.kiosk-output,[data-kiosk-app="kiosk"]:not(.web-output)) .edu-output-header :is(.edu-header-title,.edu-header-meta,.hero-details,.condition-label){color:inherit!important}
html[data-kiosk-header="dark"]:is(.kiosk-output,[data-kiosk-app="kiosk"]:not(.web-output)) .edu-output-header .edu-navigation-heading{background:transparent!important;color:inherit!important}
html[data-kiosk-header="dark"]:is(.kiosk-output,[data-kiosk-app="kiosk"]:not(.web-output)) .edu-output-header .edu-app-icon{background:var(--ev-secondary)!important;color:var(--ev-secondary-text)!important}
