/* ==========================================================
   PWA TOAST
   ========================================================== */

#pwa-toast{

    position:fixed;
    top:20px;
    left:50%;
    transform:translateX(-50%) translateY(-20px);

    width:min(420px, calc(100vw - 32px));

    background:rgba(22,22,32,.88);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);

    border-radius:18px;

    box-shadow:
        0 12px 40px rgba(0,0,0,.35);

    overflow:hidden;

    opacity:0;
    visibility:hidden;

    transition:
        opacity .35s ease,
        transform .35s ease,
        visibility .35s;

    z-index:99999;
}

#pwa-toast.show{

    opacity:1;
    visibility:visible;
    transform:translateX(-50%) translateY(0);

}

.pwa-toast-content{

    display:flex;
    align-items:flex-start;
    gap:16px;

    padding:18px 20px 16px;

}

.pwa-toast-icon{

    font-size:28px;
    line-height:1;

    flex-shrink:0;

    color:#35d46d;

}

.pwa-toast-text{

    flex:1;

}

.pwa-toast-title{

    font-size:24px;
    font-weight:600;
    color:#fff;

    margin-bottom:4px;

}

.pwa-toast-message{

    font-size:15px;
    color:rgba(255,255,255,.82);

    line-height:1.45;

}

.pwa-toast-actions {

    display: flex;

    justify-content: flex-end;

    align-items: center;

    margin-top: 10px;

    padding: 0 18px 8px 0;

}

.pwa-toast-button {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-width: 150px;

    height: 44px;

    padding: 0 24px;

    border-radius: 22px;

    border: 1px solid rgba(108,92,255,.55);

    background: rgba(108,92,255,.18);

    color: #ffffff;

    font-size: .95rem;

    font-weight: 600;

    cursor: pointer;

    transition: all .25s ease;

    backdrop-filter: blur(8px);

    -webkit-backdrop-filter: blur(8px);

}

.pwa-toast-button:hover {

    background: rgba(108,92,255,.30);

    border-color: rgba(108,92,255,.90);

    box-shadow: 0 0 18px rgba(108,92,255,.30);

    transform: translateY(-1px);

}

.pwa-toast-button:active {

    transform: translateY(0);

    box-shadow: none;

}

.pwa-toast-button:focus {

    outline: none;

    box-shadow:
        0 0 0 3px rgba(108,92,255,.22),
        0 0 18px rgba(108,92,255,.28);

}

.pwa-progress{

    height:3px;

    background:rgba(255,255,255,.08);

}

.pwa-progress-bar{

    width:100%;
    height:100%;

    background:#35d46d;

    transform-origin:left center;
    transform:scaleX(1);

    transition:transform 3s linear;

}


#app-menu-toggle{

    position:relative;

}

#app-menu-panel{

    display:none;

    position:absolute;

    top: calc(100% + 25px);

    right:25px;

    width:230px;

    background:#111827;

    border:1px solid rgba(255,255,255,.08);

    border-radius:14px;

    overflow:hidden;

    box-shadow:0 18px 40px rgba(0,0,0,.45);

    z-index:9999;

    font-size:15px;

    font-weight:400;

}

#app-menu-panel.show{

    display:block;

}

.app-menu-item{

    display:flex;

    align-items:center;

    gap:12px;

    padding:14px 18px;

    color:#fff;

    text-decoration:none;

    transition:.25s;

}

.app-menu-item:hover{

    background:rgba(255,255,255,.06);

}

.app-menu-icon{

    width:22px;

    display:flex;

    align-items:center;

    justify-content:center;

    opacity:.9;

}

.app-menu-icon svg{

    width:18px;

    height:18px;

}

.app-menu-label{

    flex:1;

}

.app-menu-header{

    padding:16px 18px 12px;

    font-size:15px;

    font-weight:700;

    color:#ffffff;

    letter-spacing:.3px;

}

.app-menu-divider{

    height:1px;

    background:rgba(255,255,255,.08);

    margin:0;

}

.app-menu-status{

    text-align:center;

    font-size:12px;

    color:#8f98b7;

    padding:6px 0 10px;

    letter-spacing:.3px;

}

.app-menu-version{

    margin-top:4px;

    font-size:11px;

    color:#66718f;

    text-align:center;

    width:100%;

    display:block;

    line-height:1;

}

/* =====================================================
   AUDERO DIALOG SYSTEM
   ===================================================== */

.audero-modal-overlay {

    position: fixed;
    inset: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(0,0,0,.60);
    backdrop-filter: blur(6px);

    z-index: 999999;

    animation: auderoFadeIn .20s ease;

}

.audero-modal {

    width: 440px;
    max-width: calc(100vw - 40px);

    background: #171b2d;

    border: 1px solid rgba(255,255,255,.08);

    border-radius: 18px;

    padding: 26px;

    box-shadow:
        0 20px 60px rgba(0,0,0,.45);

    animation: auderoScaleIn .22s ease;

}

.audero-modal-title {

    font-size: 24px;
    font-weight: 700;

    color: #fff;

    margin-bottom: 18px;

}

.audero-modal-text {

    color: rgba(255,255,255,.82);

    line-height: 1.6;

    margin-bottom: 28px;

    margin: 0 0 18px;

}

.audero-modal-buttons {

    display: flex;

    justify-content: flex-end;

    gap: 12px;

}

.audero-btn {

    border: none;

    border-radius: 12px;

    padding: 12px 22px;

    cursor: pointer;

    font-size: 15px;

    font-weight: 600;

    transition: .20s;

}

.audero-btn:hover {

    transform: translateY(-1px);

}

.audero-btn-primary {

    background: #6f73ff;

    color: #fff;

}

.audero-btn-primary:hover {

    background: #8185ff;

}

.audero-btn-secondary {

    background: rgba(255,255,255,.08);

    color: #fff;

}

.audero-btn-secondary:hover {

    background: rgba(255,255,255,.15);

}

@keyframes auderoFadeIn {

    from {

        opacity: 0;

    }

    to {

        opacity: 1;

    }

}

@keyframes auderoScaleIn {

    from {

        opacity: 0;

        transform: scale(.95);

    }

    to {

        opacity: 1;

        transform: scale(1);

    }

}

.audero-modal-subtitle {

    margin-top: -8px;

    margin-bottom: 22px;

    color: #8fa8ff;

    font-size: 15px;

    font-weight: 600;

}

/* ==========================================================
   PWA APP MENU - MOBILE
   ========================================================== */

@media (max-width: 600px) {

    #app-menu-panel {

        position: fixed;

        top: 70px;
        right: 12px;

        width: 230px;

        max-height: calc(100dvh - 160px);

        overflow-y: auto;

        z-index: 99999;

    }

}