@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("../fonts/inter-latin-variable.woff2") format("woff2");
}

:root {
    --ario-boot-accent: #5c63f2;
    --ario-boot-accent-soft: rgba(92, 99, 242, .14);
    --ario-boot-background: #f4f6fb;
    --ario-boot-card: rgba(255, 255, 255, .94);
    --ario-boot-text: #20283a;
    --ario-boot-muted: #738097;
}

html,
body {
    margin: 0;
    min-height: 100%;
    font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html[data-ario-booting],
html[data-ario-booting] body {
    overflow: hidden;
}

html[data-ario-app="Admin"] {
    --ario-boot-accent: #5c63f2;
    --ario-boot-accent-soft: rgba(92, 99, 242, .14);
}

html[data-ario-app="Agenti"] {
    --ario-boot-accent: #5964ee;
    --ario-boot-accent-soft: rgba(89, 100, 238, .14);
}

html[data-ario-app="Dipendenti"] {
    --ario-boot-accent: #198754;
    --ario-boot-accent-soft: rgba(25, 135, 84, .14);
}

html[data-ario-app="Fornitori"] {
    --ario-boot-accent: #0f7f9b;
    --ario-boot-accent-soft: rgba(15, 127, 155, .14);
}

html[data-ario-app="Grafica"] {
    --ario-boot-accent: #d24b2b;
    --ario-boot-accent-soft: rgba(210, 75, 43, .14);
}

html[data-ario-app="Industria"] {
    --ario-boot-accent: #1a7cdb;
    --ario-boot-accent-soft: rgba(26, 124, 219, .14);
}

.ario-boot-splash {
    position: fixed;
    z-index: 2147483000;
    inset: 0;
    display: grid;
    place-items: center;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
    box-sizing: border-box;
    padding: 24px;
    background:
        radial-gradient(circle at 50% 0, var(--ario-boot-accent-soft), transparent 42%),
        var(--ario-boot-background);
    background:
        radial-gradient(circle at 50% 0, var(--ario-boot-accent-soft), transparent 42%),
        color-mix(in srgb, var(--ario-boot-background) 92%, transparent);
    -webkit-backdrop-filter: blur(10px) saturate(1.04);
    backdrop-filter: blur(10px) saturate(1.04);
    color: var(--ario-boot-text);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.ario-boot-card {
    display: flex;
    width: min(100%, 360px);
    box-sizing: border-box;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    padding: 30px 28px 26px;
    border: 1px solid rgba(117, 132, 164, .18);
    border-radius: 22px;
    background: var(--ario-boot-card);
    box-shadow: 0 20px 60px rgba(43, 56, 92, .14);
    text-align: center;
    animation: ario-boot-card-in .42s cubic-bezier(.22, .8, .3, 1) both;
    -webkit-backdrop-filter: blur(18px) saturate(1.08);
    backdrop-filter: blur(18px) saturate(1.08);
}

.ario-boot-brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: var(--ario-boot-accent);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: -.01em;
}

.ario-boot-icon {
    display: inline-block;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    object-fit: contain;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    animation: ario-boot-icon-breathe 3.8s ease-in-out infinite;
    will-change: transform;
}

.ario-boot-message,
.ario-boot-hint {
    margin: 0;
    color: var(--ario-boot-muted);
    font-size: .9rem;
}

.ario-boot-progress-meta {
    display: flex;
    width: 100%;
    justify-content: space-between;
    margin-bottom: -10px;
    color: var(--ario-boot-muted);
    font-size: .72rem;
    letter-spacing: .02em;
}

.ario-boot-progress-value {
    color: var(--ario-boot-accent);
    font-variant-numeric: tabular-nums;
    font-weight: 700;
}

.ario-boot-hint {
    margin-top: -8px;
    color: #b13b42;
}

.ario-boot-progress {
    position: relative;
    width: 100%;
    height: 4px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--ario-boot-accent-soft);
}

.ario-boot-progress-bar {
    position: absolute;
    top: 0;
    left: 0;
    width: var(--blazor-load-percentage, 4%);
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--ario-boot-accent), rgba(255, 255, 255, .34), var(--ario-boot-accent));
    background-size: 200% 100%;
    animation: ario-boot-progress-sheen 2.8s ease-in-out infinite;
    transition: width .35s ease-out;
}

@keyframes ario-boot-card-in {
    from {
        opacity: 0;
        transform: translateY(8px) scale(.985);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes ario-boot-icon-breathe {
    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.035);
    }
}

@keyframes ario-boot-progress-sheen {
    0%,
    100% {
        background-position: 100% 0;
    }

    50% {
        background-position: 0 0;
    }
}

#blazor-error-ui {
    position: fixed;
    z-index: 2147483001;
    right: 16px;
    bottom: 16px;
    display: none;
    align-items: center;
    gap: 12px;
    max-width: min(calc(100vw - 32px), 460px);
    box-sizing: border-box;
    padding: 12px 14px;
    border: 1px solid rgba(177, 59, 66, .2);
    border-radius: 12px;
    background: #fff5f5;
    color: #7f2830;
    box-shadow: 0 10px 30px rgba(65, 31, 36, .14);
    font: 14px/1.35 Inter, ui-sans-serif, system-ui, sans-serif;
}

#blazor-error-ui .reload {
    color: inherit;
    font-weight: 700;
    white-space: nowrap;
}

#blazor-error-ui .dismiss {
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
}

@media (max-width: 480px) {
    .ario-boot-splash {
        padding: 16px;
    }

    .ario-boot-card {
        width: min(100%, 330px);
        padding: 26px 22px 23px;
        border-radius: 18px;
    }
}

html[data-ario-theme="dark"] {
    --ario-boot-background: #111522;
    --ario-boot-card: rgba(28, 34, 51, .96);
    --ario-boot-text: #eef2ff;
    --ario-boot-muted: #a8b2c8;
}

html[data-ario-theme="dark"] .ario-boot-card {
    border-color: rgba(194, 205, 235, .15);
    box-shadow: 0 20px 60px rgba(0, 0, 0, .28);
}

html[data-ario-theme="light"] {
    --ario-boot-background: #f4f6fb;
    --ario-boot-card: rgba(255, 255, 255, .94);
    --ario-boot-text: #20283a;
    --ario-boot-muted: #738097;
}

/* Il boot segue la preferenza già risolta da ario-ui.js; non il tema OS in autonomia. */
html[data-ario-theme="dark"] .ario-boot-icon {
    filter: brightness(1.08) saturate(.92);
}

@media (prefers-reduced-motion: reduce) {
    .ario-boot-card,
    .ario-boot-icon,
    .ario-boot-progress-bar {
        animation: none;
    }
}
