/* Keep the actual layout measurable while covering its initial assembly. */
:is(.app-content,.admin-content):has(> .dme-page-loader){position:relative;min-height:10rem}
:is(.app-content,.admin-content):has(> .dme-page-loader:not([data-page-state="ready"])) > :not(.dme-page-loader),
:is(.app-content,.admin-content):has(> .dme-page-loader:not([data-page-state="ready"])) > :not(.dme-page-loader) *{visibility:hidden!important}
:is(.app-layout,.admin-layout):has(.dme-page-loader:not([data-page-state="ready"])) :is(.app-header,.admin-header),
:is(.app-layout,.admin-layout):has(.dme-page-loader:not([data-page-state="ready"])) :is(.app-header,.admin-header) *{visibility:hidden!important}
.dme-page-loader{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--rz-base-background-color);color:var(--rz-text-color)}
.dme-page-loader[data-page-state="ready"]{display:none}
.dme-page-loading-status,.dme-page-loading-error{display:flex;align-items:center;justify-content:center;gap:.65rem;font-size:.85rem}
.dme-page-loading-status{flex-direction:column;gap:.5rem;text-align:center;padding:1.5rem}
.dme-page-loading-title{font-size:1rem;font-weight:600;line-height:1.5}
.dme-page-loading-hint{font-size:.85rem;line-height:1.5;color:color-mix(in srgb,var(--rz-text-color) 75%,var(--rz-base-background-color))}
.dme-page-loading-error{display:none;flex-wrap:wrap}
.dme-page-loader[data-page-state="error"] .dme-page-loading-status{display:none}
.dme-page-loader[data-page-state="error"] .dme-page-loading-error{display:flex}
.dme-page-loading-error button{padding:.3rem .65rem;border:1px solid var(--rz-text-color);border-radius:.3rem;color:var(--rz-text-color);background:var(--rz-base-background-color);font:inherit;cursor:pointer}
.dme-page-loading-error button:hover{background:color-mix(in srgb,var(--rz-primary) 12%,var(--rz-base-background-color))}
.dme-page-loading-error button:focus-visible{outline:2px solid var(--rz-primary);outline-offset:2px}
.dme-page-loading-dots{display:flex;align-items:center;justify-content:center;gap:.6rem;height:2.5rem;margin-bottom:.65rem}
.dme-page-loading-dots > span{width:.65rem;height:.65rem;border-radius:50%;background:var(--rz-primary);animation:dme-page-pulse 1.4s ease-in-out infinite}
.dme-page-loading-dots > span:nth-child(2){animation-delay:.16s}
.dme-page-loading-dots > span:nth-child(3){animation-delay:.32s}
@keyframes dme-page-pulse{0%,60%,100%{transform:translateY(0) scale(.85);opacity:.55}30%{transform:translateY(-.5rem) scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.dme-page-loading-dots > span{animation:none;opacity:1}}
