/* Mobile-first administrator workspace. */
:root{--admin-safe-top:env(safe-area-inset-top,0px);--admin-safe-right:env(safe-area-inset-right,0px);--admin-safe-bottom:env(safe-area-inset-bottom,0px);--admin-safe-left:env(safe-area-inset-left,0px);--admin-pad:clamp(1rem,5vw,1.5rem);--admin-tap:2.75rem}
html{max-inline-size:100%;overflow-x:hidden;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{max-inline-size:100%;overflow-x:hidden;overflow-x:clip;font-size:1rem;line-height:1.6}
img,video{max-inline-size:100%}
button{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
:is(input,select,textarea){font-size:1rem;line-height:1.4;min-block-size:var(--admin-tap)}
:is(button,a):active{opacity:.76}
.login-view{min-block-size:100vh;min-block-size:100dvh;grid-template-columns:minmax(0,1fr);padding:var(--admin-safe-top) var(--admin-safe-right) var(--admin-safe-bottom) var(--admin-safe-left)}
.login-brand{min-block-size:9.5rem;padding:1.5rem var(--admin-pad)}
.login-brand img{inline-size:min(72vw,17rem)}
.login-card{inline-size:calc(100% - 2*var(--admin-pad));max-inline-size:32.5rem;margin:0 auto 1.5rem;padding:clamp(1.5rem,7vw,2.25rem) var(--admin-pad)}
.login-card h1{font-size:clamp(2.75rem,14vw,4rem);margin:1rem 0 1.75rem;overflow-wrap:anywhere}
.login-card label{margin-top:1rem}
.login-card button{min-block-size:var(--admin-tap);margin-top:1.5rem}
.workspace-header{min-block-size:5rem;height:auto;padding:1rem max(var(--admin-pad),var(--admin-safe-right)) 1rem max(var(--admin-pad),var(--admin-safe-left));gap:1rem}
.workspace-brand{inline-size:clamp(6.5rem,34vw,8.5rem);flex:0 0 auto}
.account{min-inline-size:0;gap:.75rem}
.account>span{min-inline-size:0}
.account b{max-inline-size:34vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account button,.workspace-nav button,.media-filters button,.media-actions button,.user-row button{min-block-size:var(--admin-tap);-webkit-tap-highlight-color:transparent}
.workspace-nav{padding-inline:var(--admin-pad);overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.workspace-nav button{flex:0 0 auto;margin-right:1.5rem;padding-block:1rem}
.workspace-panel{padding:clamp(2.25rem,10vw,4rem) var(--admin-pad) calc(4rem + var(--admin-safe-bottom))}
.panel-heading{display:block;margin-bottom:clamp(2rem,8vw,3rem)}
.panel-heading h2{font-size:clamp(2.75rem,13vw,4.25rem);overflow-wrap:anywhere}
.panel-heading>p,.role-explainer{margin-top:1.5rem;font-size:clamp(1rem,4vw,1.1rem);line-height:1.7}
.upload-zone,.upload-zone>button{min-block-size:11rem}
.media-toolbar{align-items:flex-start;flex-direction:column;gap:1rem}
.media-filters{gap:.5rem}
.media-filters button{padding:.65rem .75rem}
.media-grid{grid-template-columns:minmax(0,1fr)}
.media-preview{aspect-ratio:4/5}
.media-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.media-actions select{grid-column:1/-1;min-inline-size:0}
.media-actions button{inline-size:100%;justify-content:center}
.user-create{grid-template-columns:minmax(0,1fr);padding:1.25rem}
.user-create button{inline-size:100%;min-block-size:var(--admin-tap)}
.user-row{grid-template-columns:minmax(0,1fr) auto;gap:.75rem}
.user-row strong,.user-row span{min-inline-size:0;overflow-wrap:anywhere}
@supports(content-visibility:auto){.media-card,.user-row{content-visibility:auto;contain-intrinsic-block-size:auto 35rem}}
@media(min-width:375px){:root{--admin-pad:clamp(1.25rem,5.5vw,1.75rem)}}
@media(min-width:390px){.login-brand img{inline-size:min(65vw,18rem)}.media-actions{grid-template-columns:minmax(0,1fr) auto auto}.media-actions select{grid-column:auto}}
@media(min-width:414px){:root{--admin-pad:clamp(1.4rem,5.8vw,2rem)}}
@media(min-width:768px){:root{--admin-pad:clamp(2.25rem,5vw,4rem)}.login-brand{min-block-size:12rem}.login-card{padding:2.5rem}.workspace-panel{padding-inline:var(--admin-pad)}.panel-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.85fr);align-items:end;gap:3rem}.panel-heading>p,.role-explainer{margin:0}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.user-create{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.login-view{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.login-brand{min-block-size:100dvh;padding:3rem}.login-brand img{inline-size:min(38vw,33.75rem)}.login-card{margin:auto}.media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.user-create{grid-template-columns:1fr 1.2fr .8fr 1fr auto}}
@media(min-width:1280px){.workspace-panel{padding-inline:clamp(4rem,4.5vw,6rem)}}
@media(min-width:1440px){.media-grid{gap:clamp(1.5rem,2vw,2.75rem)}}
@media(min-width:1920px){.workspace-header,.workspace-nav,.workspace-panel{padding-inline:max(6rem,calc((100vw - 112.5rem)/2))}.media-grid,.panel-heading,.upload-zone,.media-toolbar,.users-list,.user-create{max-inline-size:112.5rem;margin-inline:auto}}
@media(orientation:landscape) and (max-height:500px) and (max-width:900px){.login-view{grid-template-columns:minmax(12rem,.72fr) minmax(21rem,1.28fr)}.login-brand{min-block-size:100dvh;padding:1.25rem}.login-brand img{inline-size:min(28vw,14rem)}.login-card{inline-size:calc(100% - 1.25rem);max-block-size:calc(100dvh - 1rem);margin:.5rem;padding:1.15rem 1.6rem;overflow:auto}.login-card h1{font-size:clamp(2.15rem,6vw,3rem);margin:.5rem 0 .8rem}.login-card label{margin-top:.5rem}.login-card input{min-block-size:2.4rem;padding:.4rem 0}.login-card button{margin-top:.75rem}.workspace-panel{padding-block:2rem}.media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
