/* Centered, translucent loading feedback preserves page interaction. */
#wise-loading-status {
    --wise-loading-bg: rgba(255, 255, 255, .88);
    --wise-loading-ink: #123b54;
    --wise-loading-accent: #0085ad;
    --wise-loading-line: #cfe8f2;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2147483000;
    display: flex;
    align-items: center;
    gap: 12px;
    box-sizing: border-box;
    width: max-content;
    min-width: min(248px, calc(100vw - 32px));
    max-width: min(360px, calc(100vw - 32px));
    min-height: 64px;
    padding: 14px 12px 14px 18px;
    border: 1px solid var(--wise-loading-line);
    border-radius: 18px;
    background: var(--wise-loading-bg);
    color: var(--wise-loading-ink);
    box-shadow: 0 14px 48px #123b5430;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    font: 600 13px/1.5 Arial, sans-serif;
    pointer-events: none;
    isolation: isolate;
}
#wise-loading-status[hidden], #wise-loading-bar[hidden] { display: none !important; }
#wise-loading-label { flex: 1; min-width: 0; overflow-wrap: anywhere; }
#wise-loading-status .wise-loading-spinner {
    box-sizing: border-box;
    flex: none;
    width: 24px;
    height: 24px;
    border: 2px solid var(--wise-loading-line);
    border-top-color: var(--wise-loading-accent);
    border-right-color: var(--wise-loading-accent);
    border-radius: 50%;
    animation: wise-loading-spin .8s linear infinite;
}
#wise-loading-status .wise-loading-dismiss {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    flex: none;
    width: 28px;
    height: 28px;
    margin: -2px 0 -2px 4px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--wise-loading-ink);
    font: 400 21px/1 Arial, sans-serif;
    cursor: pointer;
    pointer-events: auto;
}
#wise-loading-status .wise-loading-dismiss:hover { background: var(--wise-loading-line); }
#wise-loading-status .wise-loading-dismiss:focus-visible { outline: 2px solid var(--wise-loading-accent); outline-offset: 2px; }
#wise-loading-bar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2147483001;
    height: 3px;
    overflow: hidden;
    background: #0085ad15;
    pointer-events: none;
}
#wise-loading-bar > span {
    display: block;
    width: 34%;
    height: 100%;
    border-radius: 0 3px 3px 0;
    background: linear-gradient(90deg, #0085ad66, #0085ad, #12baa9);
    animation: wise-loading-travel 1.3s ease-in-out infinite;
}
[data-theme="dark"] #wise-loading-status,
html.dark #wise-loading-status,
body.dark #wise-loading-status {
    --wise-loading-bg: rgba(16, 45, 64, .88);
    --wise-loading-ink: #e4f5ff;
    --wise-loading-accent: #53c7f1;
    --wise-loading-line: #2d536b;
    color-scheme: dark;
    box-shadow: 0 7px 30px #0005;
}
@media (prefers-color-scheme: dark) {
    html:not([data-theme]):not(.light) #wise-loading-status {
        --wise-loading-bg: rgba(16, 45, 64, .88);
        --wise-loading-ink: #e4f5ff;
        --wise-loading-accent: #53c7f1;
        --wise-loading-line: #2d536b;
        color-scheme: dark;
        box-shadow: 0 7px 30px #0005;
    }
}
@keyframes wise-loading-spin { to { transform: rotate(360deg); } }
@keyframes wise-loading-travel { from { transform: translateX(-110%); } to { transform: translateX(400%); } }
@media (max-width: 600px) {
    #wise-loading-status { min-height: 60px; padding: 12px 10px 12px 14px; }
}
@media (prefers-reduced-motion: reduce) {
    #wise-loading-status .wise-loading-spinner, #wise-loading-bar > span { animation: none; }
    #wise-loading-bar > span { width: 100%; opacity: .65; }
}
@media print { #wise-loading-status, #wise-loading-bar { display: none !important; } }
