/* ============================================================================ TV_APP - Navbar Styles Navigation bar used across all pages ============================================================================ */ .navbar { background: white; color: black; padding: 8px 25px; display: flex; align-items: center; justify-content: space-between; border-bottom: 2px solid #ccc; height: auto; min-height: 50px; box-sizing: border-box; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); position: sticky; top: 0; z-index: var(--z-sticky); } /* ============================================================================ Navbar Sections ============================================================================ */ .navbar-brand { display: flex; align-items: center; gap: var(--spacing-md); flex-shrink: 0; } .navbar-brand img, .logo { height: 40px; width: auto; max-width: 160px; object-fit: contain; margin-right: var(--spacing-md); } .navbar-title { font-size: 1.3rem; font-weight: 600; color: var(--text); white-space: nowrap; } .navbar-center { position: absolute; left: 50%; transform: translateX(-50%); text-align: center; flex-grow: 1; } .navbar-controls { display: flex; gap: var(--spacing-md); align-items: center; justify-content: flex-end; flex-wrap: wrap; } /* ============================================================================ Navigation Buttons ============================================================================ */ .nav-btn { background: #f8f9fa; border: 2px solid #e9ecef; cursor: pointer; padding: 12px 20px; border-radius: 8px; transition: all 0.2s ease; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); color: #333; text-decoration: none; font-weight: bold; font-size: 0.9rem; white-space: nowrap; display: inline-flex; align-items: center; gap: var(--spacing-sm); line-height: 1; height: 44px; } .nav-btn:hover { background: #e9ecef; border-color: #28a745; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15); transform: translateY(-1px); color: #28a745; text-decoration: none; } .nav-btn:active { transform: translateY(0); box-shadow: var(--shadow-sm); } .nav-btn:disabled { opacity: 0.5; cursor: not-allowed; transform: none !important; } /* ============================================================================ Button Variants ============================================================================ */ .nav-btn.active { background: #28a745; border-color: #1e7e34; color: white; } .nav-btn.active:hover { background: #1e7e34; color: white; } .nav-btn.secondary { background: var(--secondary); border-color: var(--secondary); color: white; } .nav-btn.secondary:hover { background: #545b62; border-color: #545b62; } .nav-btn.success { background: var(--success); border-color: var(--success); color: white; } .nav-btn.success:hover { background: #218838; border-color: #218838; } .nav-btn.danger { background: #dc3545; border-color: #c82333; color: white; } .nav-btn.danger:hover { background: #c82333; color: white; } /* ============================================================================ Hamburger Menu (Mobile) ============================================================================ */ .hamburger-menu { background: #f8f9fa; border: 2px solid #e9ecef; cursor: pointer; padding: 10px; flex-direction: column; justify-content: space-around; width: 42px; height: 42px; border-radius: 8px; transition: all 0.2s ease; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); display: flex; } .hamburger-menu:hover { background: #e9ecef; border-color: #28a745; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15); transform: translateY(-1px); } .hamburger-line { width: 100%; height: 2px; background: #333; border-radius: 1px; transition: all 0.2s ease; } .hamburger-menu:hover .hamburger-line { background: #28a745; } /* ============================================================================ Settings/Actions in Navbar ============================================================================ */ .nav-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: var(--radius-md); background: #f8f9fa; border: none; cursor: pointer; font-size: 1.2rem; transition: all var(--transition-normal); } .nav-icon:hover { background: var(--primary); color: white; } /* ============================================================================ Status Display (Tournament/League Info) ============================================================================ */ .navbar-status { padding: 8px 12px; background: #f0f8ff; border: 1px solid var(--primary); border-radius: var(--radius-md); font-size: 0.9rem; color: var(--text); } .navbar-status strong { color: var(--primary); } /* ============================================================================ Responsive Navbar ============================================================================ */ @media (max-width: 768px) { .navbar { padding: 12px 15px; flex-direction: column; gap: var(--spacing-md); height: auto; } .navbar-brand { width: 100%; justify-content: center; } .navbar-center { position: static; transform: none; width: 100%; order: 3; margin-top: var(--spacing-sm); } .navbar-controls { justify-content: center; width: 100%; } .nav-btn { padding: 10px 15px; font-size: 0.85rem; } } @media (max-width: 480px) { .navbar { padding: 8px 10px; } .navbar-title { font-size: 1rem; } .nav-btn { padding: 8px 12px; font-size: 0.75rem; } } @media (max-height: 500px) and (orientation: landscape) { .navbar { padding: 8px 15px; height: 50px; } .navbar-title { font-size: 1rem; } .nav-btn { padding: 6px 12px; font-size: 0.8rem; } }