/* ===== PWA Install — единые стили установки приложения =====
 *
 * Один и тот же CSS для всех страниц (лендинг + личный кабинет).
 * Подключается там же, где модуль pwa-install.js.
 * Оформление самих кнопок лендинга (.btn-pwa-install*) живёт отдельно
 * (public/frontpagehabit/css/style.css) — здесь только общая часть.
 */

/* === Состояния триггера установки (процесс/итог) === */
[data-pwa-install].is-installing,
[data-pwa-install].is-installed {
    cursor: default;
    opacity: 0.9;
}

.pwa-btn-spinner {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(196, 181, 253, 0.35);
    border-top-color: #c4b5fd;
    border-radius: 50%;
    animation: pwa-spin 0.7s linear infinite;
    flex-shrink: 0;
}

@keyframes pwa-spin { to { transform: rotate(360deg); } }

/* === Модальное окно установки (процесс/успех) === */
.pwa-success-overlay {
    position: fixed;
    inset: 0;
    z-index: 10001;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(5, 5, 15, 0.72);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    animation: pwa-fade-in 0.25s ease-out;
}

.pwa-success-modal {
    width: 100%;
    max-width: 380px;
    background: rgba(20, 20, 40, 0.98);
    border: 1px solid rgba(124, 92, 252, 0.35);
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    padding: 28px 24px 24px;
    text-align: center;
    font-family: system-ui, -apple-system, sans-serif;
    animation: pwa-modal-in 0.3s cubic-bezier(0.18, 0.89, 0.32, 1.1);
}

.pwa-success-modal__icon {
    display: block;
    width: 72px;
    height: 72px;
    margin: 0 auto 16px;
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(124, 92, 252, 0.35);
}

.pwa-success-modal__spinner {
    width: 56px;
    height: 56px;
    margin: 0 auto 18px;
    border: 4px solid rgba(124, 92, 252, 0.25);
    border-top-color: #7C5CFC;
    border-radius: 50%;
    animation: pwa-spin 0.8s linear infinite;
}

.pwa-success-modal__title {
    margin: 0 0 10px;
    font-size: 20px;
    font-weight: 700;
    color: #fff;
}

.pwa-success-modal__text {
    margin: 0 0 22px;
    font-size: 15px;
    line-height: 1.5;
    color: rgba(200, 210, 240, 0.85);
}

.pwa-success-modal__btn {
    width: 100%;
    padding: 13px 20px;
    background: #7C5CFC;
    border: none;
    border-radius: 12px;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.2s;
}
.pwa-success-modal__btn:hover { background: #6a4bdf; }

@keyframes pwa-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes pwa-modal-in {
    from { opacity: 0; transform: translateY(16px) scale(0.96); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
    /* Декоративные анимации отключаем; лоадеры — функциональные, продолжают крутиться. */
    .pwa-success-overlay, .pwa-success-modal { animation: none; }
}
