.push-prompt{
    position:fixed;
    bottom:20px;
    left:20px;
    right:20px;
    max-width:400px;
    margin:0 auto;
    background:#17212b;
    border-radius:12px;
    padding:16px;
    box-shadow:0 4px 20px rgba(0,0,0,0.3);
    z-index:10000;
    opacity:0;
    transform:translateY(20px);
    transition:opacity 0.3s ease,transform 0.3s ease;
    border:1px solid rgba(255,255,255,0.1);
}
.push-prompt.show{
    opacity:1;
    transform:translateY(0);
}
.push-prompt-content{
    display:flex;
    align-items:center;
    gap:12px;
}
.push-prompt-icon{
    font-size:24px;
    flex-shrink:0;
}
.push-prompt-text{
    flex:1;
}
.push-prompt-title{
    font-size:15px;
    font-weight:500;
    color:#ffffff;
    margin-bottom:4px;
}
.push-prompt-desc{
    font-size:13px;
    color:#708499;
    line-height:1.4;
}
.push-prompt-btn{
    background:#3b82f6;
    color:#ffffff;
    border:none;
    border-radius:8px;
    padding:8px 16px;
    font-size:14px;
    font-weight:500;
    cursor:pointer;
    transition:background 0.2s;
    flex-shrink:0;
}
.push-prompt-btn:hover{
    background:#2563eb;
}
.push-prompt-close{
    background:transparent;
    border:none;
    color:#708499;
    font-size:20px;
    cursor:pointer;
    padding:0;
    width:24px;
    height:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    transition:color 0.2s;
}
.push-prompt-close:hover{
    color:#ffffff;
}

.top-nav{
    position:fixed;
    top:0;
    left:0;
    right:0;
    height:calc(44px + env(safe-area-inset-top, 0px));
    padding-top:env(safe-area-inset-top, 0px);
    background:#17212b;
    backdrop-filter:blur(10px);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:100;
    border-bottom:1px solid rgba(255,255,255,0.08);
    box-shadow:0 1px 3px rgba(0,0,0,0.1);
}
.top-nav-inner{
    width:100%;
    max-width:960px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 12px;
}
.top-nav-inner > div:first-child{
    font-size:15px;
    color:#ffffff;
    font-weight:500;
}
.app-logo{
    display:flex;
    align-items:center;
    gap:8px;
    font-weight:600;
}
.app-logo img{
    width:22px;
    height:22px;
    object-fit:contain;
    display:block;
}
.header-actions{
    display:flex;
    align-items:center;
    gap:8px;
}
.refresh-btn{
    background:rgba(255,255,255,0.1);
    border:1px solid rgba(255,255,255,0.15);
    border-radius:50%;
    color:#ffffff;
    font-size:20px;
    cursor:pointer;
    padding:0;
    width:40px;
    height:40px;
    min-width:40px;
    min-height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background 0.15s ease, transform 0.1s ease;
    box-shadow:0 2px 8px rgba(0,0,0,0.2);
}
.refresh-btn:hover{
    background:rgba(255,255,255,0.15);
}
.refresh-btn:active{
    transform:scale(0.95);
}
.refresh-btn.refreshing{
    animation:spin 0.6s linear infinite;
}
@keyframes spin{
    to{ transform:rotate(360deg); }
}
.menu-toggle{
    display: none !important;
    background:rgba(255,255,255,0.1);
    border:1px solid rgba(255,255,255,0.15);
    border-radius:50%;
    color:#ffffff;
    font-size:20px;
    cursor:pointer;
    padding:0;
    width:40px;
    height:40px;
    min-width:40px;
    min-height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background 0.15s ease, transform 0.1s ease;
    box-shadow:0 2px 8px rgba(0,0,0,0.2);
}
.menu-toggle:hover{
    background:rgba(255,255,255,0.15);
}
.menu-toggle:active{
    transform:scale(0.95);
}
.top-nav-links{
    display:flex;
    gap:6px;
    font-size:13px;
}
.top-nav-links a{
    color:#ffffff;
    text-decoration:none;
    padding:6px 12px;
    border-radius:20px;
    border:none;
    background:rgba(255,255,255,0.08);
    transition:background 0.15s;
    font-weight:400;
}
.top-nav-links a:hover{
    background:rgba(255,255,255,0.12);
}
.top-nav-links a.active{
    background:rgba(51,144,236,0.2);
    color:#ffffff;
}
.mobile-menu-overlay{
    display:none;
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background:rgba(0,0,0,0.5);
    z-index:1998;
    opacity:0;
    transition:opacity 0.3s ease;
    backdrop-filter:blur(2px);
}
.mobile-menu-overlay.active{
    display:block;
    opacity:1;
}
.mobile-menu{
    position:fixed;
    top:0;
    right:-80%;
    width:80%;
    max-width:320px;
    height:100vh;
    height:calc(var(--vh, 1vh) * 100);
    background:#17212b;
    backdrop-filter:blur(20px);
    z-index:1999;
    padding:20px;
    padding-top:calc(20px + env(safe-area-inset-top, 0px));
    padding-bottom:calc(20px + env(safe-area-inset-bottom, 0px));
    overflow-y:auto;
    transition:right 0.3s ease;
    border-left:1px solid rgba(255,255,255,0.08);
    box-shadow:-4px 0 20px rgba(0,0,0,0.3);
}
.mobile-menu.active{
    right:0;
}
body.telegram-layout .mobile-menu-overlay{
    z-index:1998;
}
body.telegram-layout .mobile-menu{
    z-index:1999;
}
.mobile-menu-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:24px;
    padding-bottom:16px;
    border-bottom:1px solid rgba(255,255,255,0.08);
}
.mobile-menu-header .app-logo{
    font-size:16px;
}
.mobile-menu-close{
    background:none;
    border:none;
    color:#ffffff;
    font-size:24px;
    cursor:pointer;
    padding:4px;
    border-radius:50%;
    transition:background 0.15s;
}
.mobile-menu-close:hover{
    background:rgba(255,255,255,0.1);
}
.mobile-menu-links{
    display:flex;
    flex-direction:column;
    gap:12px;
}
.mobile-menu-links a,
.mobile-menu-links span{
    display:block;
    color:#ffffff;
    text-decoration:none;
    padding:12px 16px;
    border-radius:12px;
    border:none;
    background:rgba(255,255,255,0.05);
    transition:all 0.15s;
    font-size:15px;
    text-align:right;
}
.mobile-menu-links a:hover,
.mobile-menu-links a.active{
    background:rgba(51,144,236,0.2);
    color:#ffffff;
}
.mobile-menu-links .user-badge{
    background:rgba(15,118,110,0.15);
    color:#6ee7b7;
    border-color:rgba(34,197,164,0.4);
}
.mobile-menu-links a[href="logout.php"]{
    background:rgba(127,29,29,0.3);
    color:#f97373;
    border-color:rgba(248,113,113,0.5);
}
.mobile-menu-links a[href="logout.php"]:hover{
    background:rgba(248,113,113,0.2);
}
.user-badge{
    padding:4px 10px;
    border-radius:var(--radius-full);
    background:rgba(15,118,110,0.15);
    color:#6ee7b7;
    border:1px solid rgba(34,197,164,0.4);
}
.logout-link{
    color:var(--color-error);
    text-decoration:none;
    font-size:13px;
    border-radius:var(--radius-full);
    padding:4px 10px;
    border:1px solid rgba(248,113,113,0.5);
    background:rgba(127,29,29,0.3);
    transition:background var(--transition-base);
}
.logout-link:hover{
    background:rgba(248,113,113,0.2);
}
.footer-link{
    color:#3b82f6;
    text-decoration:none;
}
.footer{
    margin-top:var(--spacing-lg);
}
.status-dot{
    width:10px;
    height:10px;
    border-radius:999px;
    background:#22c55e;
    box-shadow:0 0 12px rgba(34,197,94,0.9);
}
.status-dot-small{
    width:7px;
    height:7px;
    border-radius:999px;
    background:#22c55e;
    box-shadow:0 0 8px rgba(34,197,94,0.8);
    margin-inline-end:4px;
}
.dot{
    width:10px;
    height:10px;
    border-radius:999px;
    background:#22c55e;
    box-shadow:0 0 12px rgba(34,197,94,0.9);
}
.back-link{
    font-size:12px;
    color:#9ca3af;
    text-decoration:none;
    border-radius:999px;
    padding:6px 12px;
    border:1px solid rgba(148,163,184,0.5);
    transition:all 0.15s;
}
.back-link:hover{
    background:rgba(148,163,184,0.1);
    color:#e5e7eb;
}
.image-lightbox{
    display:none;
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    z-index:10000;
}
.image-lightbox.active{
    display:flex;
    align-items:center;
    justify-content:center;
}
.lightbox-overlay{
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background:rgba(14,22,33,0.98);
    backdrop-filter:blur(10px);
}
.lightbox-content{
    position:relative;
    z-index:1;
    max-width:90vw;
    max-height:90vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:16px;
    background:rgba(10,15,25,0.95);
    border-radius:16px;
    box-shadow:0 20px 60px rgba(0,0,0,0.8);
    box-sizing:border-box;
}
.lightbox-content img{
    max-width:100%;
    max-height:80vh;
    object-fit:contain;
    border-radius:12px;
    box-shadow:none;
}
.lightbox-close{
    position:absolute;
    top:8px;
    right:8px;
    background:rgba(23,33,43,0.95);
    border:1px solid rgba(255,255,255,0.2);
    color:#ffffff;
    width:32px;
    height:32px;
    border-radius:50%;
    font-size:20px;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:all 0.15s;
    font-family:var(--font-family);
    z-index:2;
}
.lightbox-close:hover{
    background:rgba(51,144,236,0.3);
    transform:scale(1.1);
}