
:root{font-family:system-ui,-apple-system,Arial,sans-serif;color:var(--ev-text);background:var(--ev-bg)}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible{outline:4px solid var(--ev-accent);outline-offset:3px}.shell{max-width:1550px;margin:auto;padding:clamp(16px,2.5vw,36px)}h1{font-size:clamp(28px,3vw,46px);margin:3px 0}h2{font-size:clamp(20px,2vw,30px);margin:0}.subtitle,.muted{color:var(--ev-muted)}.card{background:var(--ev-surface);border:1px solid var(--ev-border);border-radius:var(--ev-card-radius);box-shadow:0 10px 36px #153a5310;padding:clamp(16px,2vw,28px)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:14px}.tile{display:flex;flex-direction:column;text-align:left;background:var(--ev-surface);border:2px solid var(--ev-border);border-radius:var(--ev-card-radius);overflow:hidden;min-height:250px;transition:transform .15s,border-color .15s,box-shadow .15s}.tile:hover{transform:translateY(-3px);border-color:var(--ev-accent);box-shadow:0 9px 24px #153a5318}.tile:active{transform:scale(.99)}.folder-tile{padding:16px;min-height:130px;justify-content:space-between;background:var(--ev-primary);color:var(--ev-primary-text);gap:10px}.folder-icon{width:48px;height:48px;display:grid;place-items:center;background:var(--ev-secondary);border-radius:18px;color:var(--ev-accent)}.folder-icon svg{width:30px;height:30px}.tile-title{font-size:clamp(19px,1.7vw,25px);font-weight:500;overflow-wrap:anywhere;line-height:1.2}.tile-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:13px;color:var(--ev-muted);font-size:15px}.arrow{font-size:27px;color:var(--ev-accent)}.thumb{height:190px;width:100%;background:var(--ev-secondary);display:grid;place-items:center;overflow:hidden;position:relative}.thumb img{position:absolute;inset:0;display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;object-position:center}.thumb canvas{position:absolute;inset:0;display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;box-shadow:0 2px 12px #153a5320;background:var(--ev-surface)}.thumb .preview-fallback{display:grid;place-items:center;gap:8px;text-align:center;color:var(--ev-muted);font-size:13px}.pdf-icon{font-weight:900;color:var(--ev-primary);font-size:29px;background:var(--ev-surface);border-radius:12px;padding:19px 13px;box-shadow:0 4px 15px #153a5315}.tile-body{padding:18px;display:flex;flex:1;flex-direction:column;justify-content:space-between}.doc-title{font-size:18px;font-weight:750;line-height:1.35;overflow-wrap:anywhere}.doc-type{font-size:13px;font-weight:700;color:var(--ev-muted);margin-top:12px}.viewer{background:var(--ev-surface);border-radius:15px;min-height:50vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.viewer iframe{width:100%;height:72vh;border:0;background:var(--ev-surface)}.pdf-pages{width:100%;height:72vh;overflow:auto;display:grid;grid-template-columns:repeat(var(--pdf-columns,1),minmax(0,1fr));align-content:start;align-items:start;gap:12px;padding:12px}.pdf-page{width:100%;display:block;background:var(--ev-surface);box-shadow:0 3px 12px #153a5320}.pdf-error{padding:24px;text-align:center;color:#a22b38}body.signage .pdf-pages{height:calc(100vh - 60px)}.viewer video{max-width:100%;max-height:72vh;width:100%;background:#101820}.office-panel{text-align:center;padding:45px 20px}.office-panel p{font-size:18px;color:var(--ev-muted)}.office-panel a{display:inline-block;background:var(--ev-primary);color:var(--ev-primary-text);border-radius:13px;padding:17px 25px;font-size:19px;font-weight:750;text-decoration:none;margin-top:12px}.controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px}.empty{text-align:center;padding:65px 20px;color:var(--ev-muted);font-size:20px}.error{padding:24px;color:#a22b38;background:#fff2f2;border-radius:12px}.hidden{display:none!important}
body.signage{background:var(--ev-surface)}body.signage .shell{max-width:none;height:100vh;padding:10px;display:flex;flex-direction:column}body.signage .card{flex:1;min-height:0;padding:8px;display:flex;flex-direction:column}body.signage .viewer{flex:1;min-height:0}body.signage .viewer iframe{height:calc(100vh - 60px)}html.kiosk-output:not(.document-output) .shell{max-width:none;min-height:100dvh}
@media(max-width:620px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.tile{min-height:160px}.folder-tile{padding:14px;min-height:130px}.folder-icon{width:50px;height:50px}.folder-icon svg{width:28px;height:28px}.tile-title{font-size:17px}.thumb{height:130px}.tile-body{padding:12px}.doc-title{font-size:15px}}


html.document-output,html.document-output body{height:100%;overflow:hidden;background:var(--ev-bg,var(--ev-surface))}

html.document-output .shell{height:100dvh;max-width:none;padding:8px;display:flex;flex-direction:column}
#documentLoading{display:none}
html.document-output:not(.document-ready) #documentLoading{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:var(--ev-bg,var(--ev-surface));color:var(--ev-text,var(--ev-text));font-size:20px;text-align:center;padding:24px}
html.document-output:not(.document-ready) .card{visibility:hidden}
html.document-output .pdf-page[role=button]{cursor:zoom-in}
html.document-output .pdf-page:focus-visible{outline:3px solid var(--ev-accent,var(--ev-primary));outline-offset:3px}
html.document-output .card{display:flex;flex-direction:column;flex:1;min-height:0;padding:0;border:0;border-radius:0;box-shadow:none}
html.document-output #detail{display:flex;flex-direction:column;flex:1;min-height:0}
html.document-output .viewer{flex:1;min-height:0;border-radius:0;background:var(--ev-surface,var(--ev-surface))}
html.document-output .viewer :is(video,iframe){width:100%;height:100%;max-height:100%;object-fit:contain}
html.document-output .pdf-pages{flex:1;height:100%;min-height:0;overflow:hidden;align-content:center}
html.document-output .pdf-page{justify-self:center;box-shadow:none}
html.document-output .controls{display:flex;flex:none;justify-content:center;gap:10px;margin:0;padding:6px}

.folder-tile .tile-foot,.folder-tile .arrow{color:inherit}

#documentNavigation{margin-bottom:12px}html.document-output #documentNavigation{padding:0;flex:none}

/* Document catalogue: theme surfaces, shared header, and viewport-sized pages. */
html[data-kiosk-app="documents"][data-output-mode] #browse .tile{
 background:var(--ev-surface)!important;color:var(--ev-text)!important;
 border:1px solid var(--ev-border)!important;border-radius:var(--ev-card-radius)!important;
 justify-content:flex-start!important;min-width:0!important;text-align:left!important;
}
html[data-kiosk-app="documents"][data-output-mode] #browse .folder-icon{
 border-radius:var(--ev-icon-radius,10px);background:var(--ev-secondary);color:var(--ev-secondary-text);
 flex:none;align-self:flex-start;
}
html[data-kiosk-app="documents"][data-output-mode] #browse .tile-foot{color:var(--ev-muted)!important}
html[data-kiosk-app="documents"][data-output-mode]:not(.web-output):not(.document-output) .shell{
 display:flex!important;flex-direction:column!important;height:100dvh!important;max-width:none!important;min-height:0!important;overflow:hidden!important;
}
html[data-kiosk-app="documents"][data-output-mode]:not(.web-output) .shell>.card{
 display:flex!important;flex-direction:column!important;flex:1 1 0%!important;min-height:0!important;
 padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important;overflow:hidden!important;
}
html[data-kiosk-app="documents"][data-output-mode]:not(.web-output) #browse{
 display:flex!important;flex-direction:column!important;flex:1 1 0%!important;min-height:0!important;overflow:hidden!important;
}
html[data-kiosk-app="documents"][data-output-mode] #browse.hidden{display:none!important}
html[data-kiosk-app="documents"][data-output-mode]:not(.web-output) #browse>.grid{
 display:grid!important;grid-template-columns:repeat(var(--docs-columns,2),minmax(0,1fr))!important;
 grid-template-rows:repeat(var(--docs-rows,2),var(--docs-card-height,280px))!important;align-content:start!important;
 gap:var(--docs-gap,16px)!important;flex:0 0 auto;min-width:0;min-height:0;width:min(100%,var(--docs-grid-width,100%))!important;max-width:100%;overflow:hidden;
}
html[data-kiosk-app="documents"][data-output-mode]:not(.web-output) #browse .tile{
 display:flex!important;flex-direction:column!important;width:100%!important;height:100%!important;min-height:0!important;
 padding:var(--docs-pad,20px)!important;gap:var(--docs-gap,16px)!important;overflow:hidden!important;transform:none;
}
html[data-kiosk-app="documents"][data-output-mode] #browse .tile[hidden]{display:none!important}
html[data-kiosk-app="documents"][data-output-mode]:not(.web-output) #browse :is(.tile-title,.doc-title){
 font:600 var(--docs-title,28px)/1.2 var(--edu-admin-font,system-ui)!important;
 white-space:normal!important;overflow-wrap:anywhere!important;flex:0 1 auto!important;margin:0!important;min-height:0;
}
html[data-kiosk-app="documents"][data-output-mode]:not(.web-output) #browse :is(.tile-foot,.doc-type){
 font:400 var(--docs-label,20px)/1.3 var(--edu-admin-font,system-ui)!important;margin:0!important;
}
html[data-kiosk-app="documents"][data-output-mode]:not(.web-output) #browse .tile-foot{margin-top:0!important;flex:none;min-width:0}
html[data-kiosk-app="documents"][data-output-mode]:not(.web-output) #browse .folder-icon{
 width:var(--docs-icon,56px)!important;height:var(--docs-icon,56px)!important;
}
html[data-kiosk-app="documents"][data-output-mode]:not(.web-output) #browse .folder-icon svg{width:60%;height:60%}
html[data-kiosk-app="documents"][data-output-mode]:not(.web-output) #browse .tile-body{
 display:flex;flex-direction:column;justify-content:flex-start;gap:var(--docs-gap,16px);padding:0;min-height:0;flex:1;
}
html[data-kiosk-app="documents"][data-output-mode]:not(.web-output) #browse .thumb{
 height:58%!important;min-height:0!important;flex:0 0 58%;border-radius:var(--ev-icon-radius,10px);
}
html[data-kiosk-app="documents"][data-output-mode]:not(.web-output) #browse[data-docs-compact] .thumb{display:none!important}
.docs-catalog-pagination{flex:none;display:flex;align-items:center;justify-content:center;gap:16px;margin-top:12px}
.docs-catalog-pagination[hidden]{display:none!important}
.docs-catalog-pagination button{min-height:max(44px,calc(var(--edu-text-label,24px)*1.5));padding:.2em .8em;font:inherit;font-size:clamp(16px,2vmin,28px);border:1px solid var(--ev-border);border-radius:var(--ev-control-radius,10px);background:var(--ev-secondary);color:var(--ev-secondary-text)}
.docs-catalog-pagination span{font-size:clamp(14px,1.6vmin,24px)}

html[data-kiosk-app="documents"][data-output-mode] #documentNavigation .edu-navigation__heading{
 flex:1 1 0%!important;max-width:none!important;padding:0!important;background:transparent!important;min-width:0!important;
}
html[data-kiosk-app="documents"][data-output-mode] #documentNavigation .edu-navigation__heading>div{flex:1;min-width:0}

html[data-kiosk-app="documents"][data-output-mode]:not(.web-output) #browse .arrow{font-size:inherit!important;color:inherit}


/* Kiosk navigation belongs outside the heading, alongside the content controls. */
html[data-kiosk-app="documents"][data-output-mode] #documentNavigation .edu-navigation__actions{display:none}
html[data-kiosk-app="documents"][data-output-mode] .edu-document-navigation button[hidden]{display:none}
html[data-kiosk-app="documents"][data-output-mode] #documentNavigation{margin-bottom:12px}
html[data-output-mode="kiosk"] #pdfTools:empty{display:none}
html[data-output-mode="kiosk"] #detail .controls{background:var(--ev-surface);gap:12px}
html[data-output-mode="kiosk"] #kioskPdfPosition:empty{display:none}

html[data-output-mode="kiosk"] #browse .thumb{background:var(--ev-bg)}


/* Loading status follows the same reading scale as the document output. */
html.kiosk-output.document-output #documentLoading{font-size:var(--edu-text-body,clamp(24px,3vmin,68px));line-height:1.4}
