/* Layout for the persistent shell and its isolated content document. */
html.site-router-host body[data-site-page]:not(.site-router-mounted) .site-main,
html.site-router-host body[data-site-page]:not(.site-router-mounted) .portal-main{visibility:hidden}
html.site-router-host body.site-router-mounted{height:100dvh;overflow:hidden}
html.site-router-host body.site-router-mounted .site-layout{height:calc(100dvh - var(--site-header-height));min-height:0}
html.site-router-host body.site-router-mounted .site-main.site-content-stage{padding:0!important;min-height:0;height:100%;position:relative;overflow:hidden}
#site-content-frame{display:block;width:100%;height:100%;border:0;background:var(--paper);color-scheme:light}
#site-content-frame.site-frame-loading{visibility:hidden;pointer-events:none}
/* Permanent chrome must not inherit resets or typography from a content route. */
html.site-router-host body.site-workspace[data-site-page]{font:14px/1.7 var(--sans)}
:where(html.site-router-host) :is(.site-header,.site-sidebar) :where(button,input,select,textarea){font:inherit}
:where(html.site-router-host) :is(.site-header,.site-sidebar) :where(a){color:inherit;text-decoration:none}
html.site-router-host body.site-workspace>.skip-link{position:fixed;inset:auto;top:-100px;left:20px;padding:12px 18px;background:var(--ink);color:#fff;border-radius:6px;z-index:100;text-decoration:none}
html.site-router-host body.site-workspace>.skip-link:focus{top:12px}
.site-route-notice{position:absolute;inset:24px auto auto 50%;transform:translateX(-50%);display:flex;align-items:center;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:12px 18px;color:var(--muted);font-size:13px;z-index:5;white-space:nowrap}
.site-route-notice button,.site-route-notice a{font:inherit;color:var(--green);background:transparent;border:0;text-decoration:underline;cursor:pointer}
html.site-router-content body{margin:0!important;min-height:100dvh}
html.site-router-content body[data-site-page]>.site-header,
html.site-router-content body>.admin-login-header,
html.site-router-content body>.skip-link,
html.site-router-content #site-sidebar,
html.site-router-content .site-sidebar-backdrop{display:none!important}
html.site-router-content body[data-site-page] .site-layout{display:block!important;min-height:100dvh;grid-template-columns:minmax(0,1fr)!important}
html.site-router-content body[data-site-page] .site-main{width:100%;min-height:100dvh}
html.site-router-content body[data-site-page=home] .portal-main{padding-top:38px}
html.site-router-content body[data-site-page=home] .portal-footer{margin-bottom:0}
html.site-router-host .site-page-context input{font:inherit}
@media(max-width:900px){html.site-router-content body[data-site-page] .site-main{padding-top:24px}html.site-router-content body[data-site-page=home] .portal-main{padding-top:24px}.site-route-notice{gap:10px;font-size:12px;padding:10px 12px}}
