/* Footer, bottom navigation, search modal, and account panel module.
   Legacy inline footer rules will be moved here page by page. */

.guest-account-copy {
    margin-bottom: 20px;
    color: var(--text-color);
    font-size: 0.9rem;
}

.guest-account-login,
.guest-account-register {
    display: block;
    text-align: center;
    padding: 12px;
    border-radius: 8px;
}

.guest-account-login {
    margin-bottom: 10px;
    background-color: var(--primary-color);
    color: #fff;
}

.guest-account-register {
    background-color: #f0f2f5;
    color: #333;
}

.impersonation-float {
    position: fixed;
    bottom: 85px;
    right: 20px;
    z-index: 10005;
    background: linear-gradient(135deg, #d63384 0%, #e90052 100%);
    color: #fff;
    padding: 10px 20px;
    border-radius: 50px;
    box-shadow: 0 10px 25px rgba(214, 51, 132, 0.3);
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: inherit;
    animation: slideIn 0.3s ease-out;
    border: 1px solid rgba(255, 255, 255, 0.2);
    pointer-events: none;
}

.impersonation-float span {
    font-size: 0.85rem;
}

.impersonation-link {
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    background: rgba(0, 0, 0, 0.2);
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    pointer-events: auto;
}

.global-progress-bar {
    position: fixed;
    top: 0;
    left: 0;
    height: 4px;
    background: linear-gradient(to right, var(--primary-color), var(--secondary-color), var(--accent-color));
    width: 0%;
    transition: width 0.2s ease, opacity 0.2s ease;
    opacity: 0;
    z-index: 10002;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.search-modal-content {
    max-width: 600px;
}

.search-modal-field {
    margin-bottom: 15px;
}

.global-search-input {
    padding: 12px;
    font-size: 1.1rem;
}

.global-search-results {
    max-height: 60vh;
    overflow-y: auto;
}

.empty-search-state {
    padding: 20px;
    text-align: center;
    color: #888;
}

.notifications-modal-content {
    max-width: 500px;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
}

.notifications-modal-header {
    flex-shrink: 0;
}

.notification-list-scroll {
    overflow-y: auto;
    flex-grow: 1;
}

.footer-account-trigger {
    position: relative;
}

.footer-notification-badge {
    top: 5px;
    right: 20%;
    width: 16px;
    height: 16px;
    font-size: 0.65rem;
    border: 2px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-wallet-badge {
    top: 5px;
    right: 20px;
    background-color: #27ae60;
    width: auto;
    padding: 2px 6px;
    border-radius: 10px;
    font-size: 0.6rem;
}

.footer-panel-badge {
    top: 5px;
    right: 20px;
}

.footer-club-switch-block {
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--border-color);
}

.footer-club-switch-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    color: #999;
    margin-bottom: 8px;
    font-weight: 700;
    display: block;
}

.footer-club-select-wrap {
    position: relative;
}

.footer-club-select {
    width: 100%;
    padding: 10px 30px 10px 35px;
    border-radius: 8px;
    border: 1px solid var(--border-color);
    background-color: var(--bg-color);
    color: var(--text-color);
    font-size: 0.9rem;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.footer-club-select-icon-left,
.footer-club-select-icon-right {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: #999;
    pointer-events: none;
}

.footer-club-select-icon-left {
    left: 12px;
}

.footer-club-select-icon-right {
    right: 12px;
    font-size: 0.8rem;
}

.impersonation-panel-actions {
    margin-top: 15px;
    border-top: 1px solid var(--border-color);
    padding-top: 15px;
}

.impersonation-panel-button {
    display: block;
    width: 100%;
    text-align: center;
    background-color: #d63384;
    color: #fff;
    border-radius: 8px;
    padding: 10px;
    text-decoration: none;
}

.guest-account-menu {
    padding: 20px;
    text-align: center;
}

.guest-account-actions {
    grid-template-columns: 1fr 1fr;
    margin-bottom: 20px;
    border-bottom: none;
    padding: 0;
}

.guest-system-info {
    margin-top: 20px;
    text-align: left;
}

.guest-system-list {
    list-style: none;
    padding: 0;
}

.guest-system-heading {
    margin-top: 10px;
    border-top: 1px solid var(--border-color);
    padding-top: 10px;
    font-size: 0.75rem;
    text-transform: uppercase;
    color: #999;
    font-weight: 700;
}

.guest-system-link {
    text-decoration: none;
    color: var(--text-color);
    display: block;
    padding: 8px 0;
}

/* Migrated from app/includes/footer.php */
/* Bottom Navigation Styling */
        .bottom-nav {
            position: fixed; 
            bottom: 25px; 
            left: 50%; 
            transform: translateX(-50%);
            width: calc(100% - 40px); 
            max-width: 500px;
            height: var(--bottom-nav-height, 75px);
            background: linear-gradient(135deg, var(--footer-club-primary, var(--nav-bg)), var(--footer-club-secondary, var(--nav-bg)));
            border: 1px solid rgba(255, 255, 255, 0.18);
            border-radius: 30px;
            display: flex; 
            justify-content: space-around; 
            align-items: center; 
            z-index: 1001; /* Above overlay (999) and panel (1000) */
            box-shadow: 0 15px 35px rgba(0,0,0,0.2); 
            backdrop-filter: blur(20px); 
            -webkit-backdrop-filter: blur(20px);
            padding: 0 15px;
        }
        .nav-item {
            display: flex; flex-direction: column; align-items: center; text-decoration: none;
            color: var(--footer-club-text, #94a3b8); font-size: 0.7rem; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            opacity: 0.78;
            flex: 1; padding: 8px 0; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px;
        }
        .nav-icon-wrapper {
            width: 48px; height: 48px; min-width: 48px; min-height: 48px; 
            display: flex; align-items: center; justify-content: center;
            border-radius: 50%; margin-bottom: 2px; 
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            background: transparent;
            aspect-ratio: 1 / 1;
        }
        .nav-item i { font-size: 1.4rem; transition: transform 0.3s ease; }
        .nav-item.active { color: var(--footer-club-active-bg, var(--primary-color, #3498db)); }
        .nav-item.active .nav-icon-wrapper { background: var(--footer-club-active-bg, var(--primary-color)); color: var(--footer-club-active-text, #fff); transform: translateY(-22px); box-shadow: 0 12px 24px rgba(0,0,0,0.25); border: 4px solid var(--bg-color); }
        .nav-item.active i { transform: scale(1.1); color: var(--footer-club-active-text, #fff); }
        .nav-item.active span { opacity: 1; transform: translateY(-10px); color: var(--footer-club-text, var(--text-color)); }
        .nav-item.active { opacity: 1; }
        .nav-item span { font-size: 10px; transition: all 0.3s ease; }

        .notification-footer a { text-decoration: none; color: var(--primary-color, #3498db); font-weight: 600; font-size: 0.9rem; }

        /* New Account Panel Styles */
        .account-panel-overlay {
            position: fixed; top: 0; left: 0; right: 0; 
            bottom: calc(var(--bottom-nav-height, 75px) + 50px); /* Stop above footer */
            background-color: rgba(15, 23, 42, 0.7); backdrop-filter: blur(6px);
            opacity: 0; visibility: hidden; z-index: 999; transition: all 0.4s ease;
            pointer-events: auto;
        }
        .account-panel-overlay.visible { opacity: 1; visibility: visible; }
        .account-panel {
            visibility: hidden; 
            position: fixed; 
            bottom: calc(var(--bottom-nav-height, 75px) + 35px); /* Just above footer */
            left: 50%;
            transform: translateX(-50%) translateY(100%);
            width: calc(100% - 40px);
            max-width: 500px;
            max-height: calc(85vh - var(--bottom-nav-height, 75px) - 60px);
            background: var(--glass-bg); 
            backdrop-filter: blur(25px); 
            -webkit-backdrop-filter: blur(25px);
            border-radius: 30px;
            transition: all 0.5s cubic-bezier(0.32, 0.72, 0, 1);
            z-index: 1000; /* Below overlay but panel sits on top via stacking context */
            overflow-y: auto; 
            padding: 0; 
            padding-bottom: 20px;
            box-shadow: 0 -10px 40px rgba(0,0,0,0.3);
            border: 1px solid rgba(255, 255, 255, 0.1);
        }
        .account-panel.visible { visibility: visible; transform: translateX(-50%) translateY(0); }
        .account-panel::before {
            content: ''; display: block; width: 50px; height: 5px; background: rgba(128, 128, 128, 0.5); border-radius: 10px; margin: 12px auto 10px;
        }
        .account-panel .account-dropdown-header {
            background: linear-gradient(135deg, var(--primary-color, #3498db) 0%, var(--secondary-color, #2980b9) 100%);
            margin: 0; padding: 20px 20px 25px; display: flex; align-items: center; gap: 15px;
            position: relative;
            border-radius: 30px 30px 0 0;
        }
        .account-panel .account-dropdown-header .dropdown-avatar {
            width: 60px; height: 60px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.3);
            object-fit: cover; position: relative; z-index: 1;
        }
        .account-panel .account-dropdown-header .dropdown-user-info {
            flex: 1; color: white; position: relative; z-index: 1;
        }
        .account-panel .account-dropdown-header .dropdown-user-info strong {
            display: block; font-size: 1.1rem; margin-bottom: 4px;
        }
        .account-panel .account-dropdown-header .dropdown-user-info span {
            font-size: 0.85rem; opacity: 0.9; text-transform: uppercase; letter-spacing: 0.5px;
        }
        .account-panel .account-dropdown-actions { padding: 15px; grid-template-columns: repeat(4, 1fr); position: relative; z-index: 1; }
        .account-panel .dropdown-action-item span { font-size: 0.7rem; }
        .account-panel .account-dropdown-menu { padding: 0 20px; position: relative; z-index: 1; }
        .panel-close-btn { 
            margin-left: auto; background: rgba(255,255,255,0.25); border: 2px solid rgba(255,255,255,0.3); 
            color: white; width: 38px; height: 38px; border-radius: 50%; 
            display: flex; align-items: center; justify-content: center; 
            cursor: pointer; transition: all 0.2s ease; font-size: 1.1rem;
            position: relative; z-index: 2; backdrop-filter: blur(4px);
        }
        .panel-close-btn:hover { background: rgba(255,255,255,0.4); transform: scale(1.1); }
        .account-panel .account-dropdown-header .panel-close-btn { flex-shrink: 0; }

        /* Search Modal Results */
        #global-search-results h3 { font-size: 0.9rem; text-transform: uppercase; color: #999; margin: 15px 0 5px 0; padding-bottom: 5px; border-bottom: 1px solid var(--border-color); }
        .search-result-item { display: flex; align-items: center; gap: 15px; padding: 10px; border-radius: 8px; text-decoration: none; color: var(--text-color); }
        .search-result-item:hover { background-color: var(--bg-color); }
        .search-result-item img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
        .search-result-item .player-name, .search-result-item .team-name { font-weight: 600; }
        .search-result-item .club-name, .search-result-item .player-position { font-size: 0.85rem; color: #777; }

        /* Notification Modal List */
        .notification-list .notification-item { border-bottom: 1px solid var(--border-color); }
        .notification-list .notification-item:last-child { border-bottom: none; }

.sticky-table-header {
            position: fixed;
            left: 0;
            top: 0;
            z-index: 95;
            display: none;
            overflow: hidden;
            pointer-events: none;
            background: var(--card-bg, #fff);
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
        }

        .sticky-table-header table {
            border-collapse: separate;
            border-spacing: 0;
            margin: 0;
        }

        .sticky-table-header th {
            box-sizing: border-box;
        }
