/* Purpose-ID: HOTEL-CSS-046 | Purpose: Display global foreground processing feedback plus recoverable page-module errors without blocking server-rendered content. */
.ui-load-error { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin:0 0 1rem; padding:1rem; color:var(--color-text); background:var(--color-warning-soft); border:1px solid var(--color-warning); border-radius:12px; }
.page-actions { display:flex; flex-wrap:wrap; gap:.65rem; }
[aria-busy="true"] { cursor:progress; }

.global-activity-loader {
 position:fixed; z-index:2147483000; top:max(14px,env(safe-area-inset-top)); left:50%;
 display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:12px;
 width:min(560px,calc(100vw - 28px)); min-height:64px; padding:12px 14px 16px;
 color:var(--color-text,#10261f); background:color-mix(in srgb,var(--color-surface,#fff) 92%,transparent);
 border:1px solid color-mix(in srgb,var(--color-accent,#1f8f68) 32%,var(--color-border,#ccd8d3));
 border-radius:16px; box-shadow:0 18px 55px rgba(2,16,11,.28); backdrop-filter:blur(18px) saturate(1.12);
 transform:translate(-50%,-14px) scale(.98); opacity:0; pointer-events:none;
 transition:opacity .18s ease,transform .18s ease;
}
.global-activity-loader[hidden] { display:none!important; }
.global-activity-loader.is-visible { opacity:1; transform:translate(-50%,0) scale(1); pointer-events:auto; }
.global-activity-ring { width:28px; height:28px; border:3px solid color-mix(in srgb,var(--color-accent,#1f8f68) 20%,transparent); border-top-color:var(--color-accent,#1f8f68); border-radius:50%; animation:global-activity-spin .75s linear infinite; }
.global-activity-cancel{display:grid;place-items:center;min-height:34px;padding:0 11px;border:1px solid var(--color-border-strong,var(--color-border));border-radius:10px;background:var(--color-surface-subtle,var(--color-surface));color:var(--color-text);font:700 .76rem/1 system-ui;white-space:nowrap;cursor:pointer}.global-activity-cancel:hover,.global-activity-cancel:focus-visible{border-color:var(--color-danger,#b42318);color:var(--color-danger,#b42318);outline:none}
.global-activity-copy { display:grid; gap:2px; min-width:0; }
.global-activity-copy strong { font-size:.9rem; line-height:1.2; letter-spacing:.01em; }
.global-activity-copy small { color:var(--color-text-muted,#60746c); font-size:.74rem; line-height:1.35; overflow-wrap:anywhere; }
.global-activity-time { min-width:32px; color:var(--color-text-muted,#60746c); font-size:.72rem; font-variant-numeric:tabular-nums; text-align:right; }
.global-activity-bar { position:absolute; left:14px; right:14px; bottom:7px; height:3px; overflow:hidden; border-radius:99px; background:color-mix(in srgb,var(--color-accent,#1f8f68) 12%,transparent); }
.global-activity-bar i { display:block; width:38%; height:100%; border-radius:inherit; background:var(--color-accent,#1f8f68); animation:global-activity-bar 1.15s cubic-bezier(.42,0,.58,1) infinite alternate; }
html[data-global-activity="1"] { cursor:progress; }
@keyframes global-activity-spin { to { transform:rotate(360deg); } }
@keyframes global-activity-bar { from { transform:translateX(-105%); } to { transform:translateX(265%); } }
@media(max-width:560px){.global-activity-loader{top:max(8px,env(safe-area-inset-top));width:calc(100vw - 16px);min-height:58px;padding:10px 12px 14px;gap:10px;border-radius:13px}.global-activity-ring{width:24px;height:24px}.global-activity-copy small{font-size:.69rem}.global-activity-bar{left:12px;right:12px;bottom:6px}}
@media(max-width:420px){.global-activity-time{display:none}.global-activity-cancel{padding-inline:9px}}
@media(prefers-reduced-motion:reduce){.global-activity-loader{transition:none}.global-activity-ring{animation-duration:1.8s}.global-activity-bar i{animation:none;width:100%;opacity:.72}}
