.app-carga[hidden] { display: none !important; }
.app-carga {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgb(9 17 30 / 70%);
    backdrop-filter: blur(4px);
}
.app-carga-tarjeta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    width: min(100%, 280px);
    padding: 32px 24px;
    border: 1px solid rgb(255 255 255 / 16%);
    border-radius: 24px;
    background: #152337;
    color: #f3f7fc;
    box-shadow: 0 24px 64px rgb(0 0 0 / 25%);
    font: 500 16px/1.5 system-ui, sans-serif;
    text-align: center;
}
.app-carga-logo { object-fit: contain; }
.app-carga-marca { font-size: 14px; letter-spacing: .16em; }
.app-carga-rueda {
    width: 32px;
    height: 32px;
    border: 3px solid rgb(255 255 255 / 20%);
    border-top-color: #80e5d0;
    border-radius: 50%;
    animation: app-carga-girar .8s linear infinite;
}
@keyframes app-carga-girar { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    .app-carga-rueda { animation: none; }
    .app-carga { backdrop-filter: none; }
}
