.app-error.app-error{color:var(--notice-ink,var(--wa-color-danger-on-quiet,var(--c-hazard)));font-family:var(--font-sans,sans-serif);font-size:var(--wa-font-size-xs,.75rem);text-align:start;padding-inline-start:1.25rem;line-height:1.2;position:relative}.app-error:before{content:"";background:currentColor;block-size:.9375rem;inline-size:.9375rem;position:absolute;inset-block-start:.1em;inset-inline-start:0;-webkit-mask:url(/icons/triangle-exclamation.svg) 50%/contain no-repeat;mask:url(/icons/triangle-exclamation.svg) 50%/contain no-repeat}.app-error[hidden],.app-error:empty{display:none}.app-error.app-error--panel{background:var(--wa-color-danger-fill-quiet,var(--c-hazard-bg));border-radius:var(--radius,.75rem);font-size:var(--wa-font-size-m,1rem);padding:.75rem .75rem .75rem 3.5rem;line-height:1.6}.app-error--panel:before{block-size:1.25rem;inline-size:1.25rem;inset-block-start:1rem;inset-inline-start:1.125rem}.app-error--panel button{margin-block-start:.75rem;display:block}.app-error--warning{--notice-ink:var(--wa-color-warning-on-quiet,var(--c-flag));background:var(--wa-color-warning-fill-quiet,var(--c-flag-bg))}.app-load-error{text-align:center;min-block-size:16rem;color:var(--text);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}.app-load-error>wa-icon{color:var(--text-secondary);font-size:1.25rem}.app-load-error>p{margin:0}.app-load-error>strong{font-size:1.25rem;line-height:1.2}.app-error--entry{margin-inline-start:.75rem}.app-connection-banner,.connection-banner-copy{z-index:110;padding:calc(1.25rem + env(safe-area-inset-top,0px)) 1.25rem 1.25rem;background:var(--wa-color-neutral-fill-quiet,var(--group-grey,#e9eaea));color:var(--text,#171717);align-items:center;gap:.75rem;font-size:.875rem;line-height:1.2;display:flex;position:sticky;inset-block-start:0}.app-connection-banner[hidden]{display:none}.app-connection-banner--online{background:var(--wa-color-success-fill-quiet,var(--c-ok-bg));color:var(--wa-color-success-on-quiet,var(--c-ok))}:is(.app-connection-banner,.connection-banner-copy) button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex-shrink:0;margin-inline-start:auto;padding:.5rem;font-weight:600;text-decoration:underline}:is(.app-connection-banner,.connection-banner-copy) button[hidden]{display:none}.app-connection-banner button:focus-visible{outline-offset:2px;outline:2px solid}.app-error--neutral{--notice-ink:var(--text);background:var(--surface-3)}.app-error--neutral:before{-webkit-mask-image:url(/icons/rotate.svg);mask-image:url(/icons/rotate.svg)}connection-banner[popover]{width:auto;color:inherit;background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0 0 auto}connection-banner[popover] .app-connection-banner{position:static}.connection-banner-space{visibility:hidden;pointer-events:none;inline-size:100%}.connection-banner-space[hidden]{display:none}.connection-banner-space .connection-banner-copy{position:static}app-toasts:has(>.connection-banner-space:not([hidden])){row-gap:0;padding-block-start:0}app-toasts:has(>.connection-banner-space:not([hidden])) .app-toast+.app-toast{margin-block-start:.75rem}.app-route-load-error{padding:1rem}.app-route-load-error__actions{justify-content:center;align-items:flex-start;display:flex}:is(.app-connection-banner,.connection-banner-copy) button[aria-busy=true]:not([hidden]){cursor:wait;align-items:center;gap:.5rem;text-decoration:none;display:inline-flex}:is(.app-connection-banner,.connection-banner-copy) wa-spinner{--indicator-color:currentColor;font-size:1rem}.app-recovery-actions{justify-content:flex-start;padding:.75rem;display:flex}
