html{
    -webkit-text-size-adjust:100%;
}

*{
box-sizing:border-box;
}

body{
margin:0;
font-family:'Inter',sans-serif;

background:var(--bg);

color:var(--text);
min-height:100vh;
}

.container{
max-width:1500px;
margin:auto;
padding:8px;
}

.header{
    background:var(--header-bg);
    border:1px solid var(--card-border);

    padding:4px 10px 6px;
    margin-bottom:12px;

    border-radius:12px;

    box-shadow:0 20px 50px rgba(0,0,0,.15);
}

.page-content{
    min-width:0;
}

.header-inner{
    position:relative;

    display:flex;
    align-items:center;

    min-height:80px;
}

.header-center{
    position:absolute;

    top:50%;
    left:50%;

    transform:translate(-50%,-50%);

    display:flex;
    align-items:center;

    gap:12px;
}

.header-link{
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
    color:inherit;
}

.header-logo{
    width:72px;
    height:72px;
    flex-shrink:0;
}

.header-text{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
}

.header h1{
    margin:0;
    font-size:22px;
    font-weight:800;
    background:var(--header-title-gradient);

    -webkit-background-clip:text;
    background-clip:text;

    -webkit-text-fill-color:transparent;
    color:transparent;

    line-height:1.1;
}

.hero-subtitle{
    margin-top:2px;
    font-size:13px;
    font-weight:500;
    line-height:1.2;
    opacity:.9;
}

.widget-title{
    margin:0;
    padding:8px 14px;

    background:linear-gradient(
        135deg,
        rgba(0,77,152,.95),
        rgba(165,0,68,.95)
    );

    color:white;
    font-size:15px;
    font-weight:700;
    text-transform:uppercase;
    border-radius:18px;
}

.widget-card{
    background:var(--card-bg);
    backdrop-filter:blur(20px);
    border:1px solid var(--card-border);
    border-radius:24px;
    padding:14px;
    transition:.3s;
}

.widget-card h2{
margin-top:0;
font-size:18px;
color:var(--text);
}

.widget-card p{
    color:var(--muted);
    line-height:1.7;
}

.player-link,
.opponent-link{
color:var(--link-color);
text-decoration:none;
font-weight:600;
}

.player-link:hover,
.opponent-link:hover{
text-decoration:underline;
}

.menu-toggle{
    display:flex;
    align-items:center;
    justify-content:center;

    width:38px;
    height:38px;

    padding:0;

    border:none;
    border-radius:12px;

    background:var(--toggle-bg);
    color:var(--toggle-color);
    border:var(--toggle-border);
    box-shadow:var(--toggle-shadow);

    font-size:22px;
    font-weight:500;

    line-height:0;

    margin-left:8px;

    cursor:pointer;

    transition:.2s;
}

.menu-toggle:hover{
    background:var(--toggle-bg-hover);
}

.theme-toggle svg{
    display:block;
}

.theme-toggle{
    position:absolute;

    right:8px;

    display:flex;
    align-items:center;
    justify-content:center;

    width:38px;
    height:38px;

    padding:0;

    border:none;
    border-radius:12px;

    background:var(--toggle-bg);
    color:var(--toggle-color);
    border:var(--toggle-border);
    box-shadow:var(--toggle-shadow);

    font-size:18px;

    cursor:pointer;

    transition:.2s;
}

.theme-toggle:hover{
    background:var(--toggle-bg-hover);
}

.player-search-results{
    display:flex;
    flex-direction:column;
    gap:2px;
}

.search-type{
    font-size:11px;
    font-weight:700;
    padding:2px 8px;
    border-radius:999px;
}

.search-type.player{
    background:rgba(0,77,152,.15);
    color:#3b82f6;
}

.search-type.manager{
    background:rgba(165,0,68,.15);
    color:#e11d48;
}

.search-type.opponent{
    background:rgba(34,197,94,.15);
    color:#16a34a;
}

.player-search-item{
    display:flex;
    align-items:center;
    padding:8px 10px;
    border-radius:10px;
    text-decoration:none;
    color:var(--text);
    font-size:13px;
    font-weight:600;
    gap:6px;
}

.player-search-item:hover{
    background:var(--meta-bg);
}

.content-layout{
    display:flex;
    gap:10px;
    align-items:flex-start;
}

.header.sticky{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    animation: slideDown .2s ease;
}

@keyframes slideDown{
    from{
        transform: translateY(-100%);
    }
    to{
        transform: translateY(0);
    }
}

.sidebar{
    position:fixed;
    top:0;
    left:0;

    height:100vh;
    width:260px;

    background:var(--bg);

    border-right:1px solid var(--card-border);
    border-radius:0 12px 12px 0;

    overflow-y:auto;

    transform:translateX(-100%);
    transition:.25s ease;

    z-index:9999;
}

.sidebar.open{
    transform:translateX(0);
}

.sidebar-nav{
    display:flex;
    flex-direction:column;
}

.sidebar-nav a{
    display:flex;
    align-items:center;
    min-height:30px;
    padding:8px 16px 8px 24px;
    color:var(--text);
    text-decoration:none;
    border-bottom:
    1px solid var(--meta-border);
    font-weight:600;
	font-size:14px;
}

.sidebar-nav a:hover{
    background:var(--meta-bg);
}

.sidebar-nav a.active{
    background:rgba(0,77,152,.10);
    color:var(--nav-active);
}

.sidebar-search{
    position:relative;
    padding:12px;
    border-bottom:1px solid var(--meta-border);
}

.sidebar-search input{
    width:100%;
    height:44px;
    padding:0 14px;
    border-radius:14px;
    border:1px solid var(--meta-border);
    background:var(--meta-bg);
    color:var(--text);
    font-size:16px;
    box-sizing:border-box;
}

.sidebar-overlay{
    position:fixed;
    inset:0;

    background:rgba(0,0,0,.45);

    opacity:0;
    visibility:hidden;

    transition:.2s ease;

    z-index:9998;
}

.sidebar-overlay.show{
    opacity:1;
    visibility:visible;
}

.sidebar-brand{
    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:12px 16px;

    background:linear-gradient(
        135deg,
        var(--barca-blue),
        var(--barca-red)
    );

    border-bottom:1px solid rgba(255,255,255,.15);
}

.sidebar-brand-link{
    display:flex;
    align-items:center;
    gap:10px;

    text-decoration:none;
    color:#fff;
}

.sidebar-brand-text{
    font-size:15px;
    font-weight:700;
    letter-spacing:.2px;
    color:#fff;
}

.sidebar-close{
    display:flex;
    align-items:center;
    justify-content:center;

    width:38px;
    height:38px;

    border:none;
    border-radius:12px;

    background:rgba(255,255,255,.15);

    color:white;

    cursor:pointer;

    transition:.2s;
}

.sidebar-close:hover{
    background:rgba(255,255,255,.25);
}

.sidebar-brand-logo{
    width:38px;
    height:38px;

    object-fit:contain;
}

.sidebar-brand-text{
    font-size:15px;
    font-weight:700;
    letter-spacing:.2px;
}

.sidebar-section{
    padding:16px 16px 6px;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--section-color);
    opacity:.8;
    border-bottom:1px solid var(--meta-border);
}

@media (min-width:821px){

    #sidebar{
        left:0;
        transform:translateX(-100%);
        transition:transform .3s ease;
    }

    #sidebar.open{
        transform:translateX(0);
    }

    .page-content{
        transition:margin-left .3s ease;
    }

    body.sidebar-open .page-content{
        margin-left:260px;
    }

    .sidebar-preload #sidebar,
    .sidebar-preload .page-content{
        transition:none !important;
    }
}

@media(max-width:820px){

    .sidebar{
        position:fixed;
        top:0;
        left:0;
        height:100vh;
        width:260px;
        min-width:260px;
        background:var(--bg);
		backdrop-filter:none;
        border-right:1px solid var(--card-border);
		border-radius:0 12px 12px 0;
        transform:translateX(-100%);
        transition:.25s ease;
        z-index:9999;
    }

    .sidebar-overlay{
        position:fixed;
        inset:0;

        background:rgba(0,0,0,.45);

        opacity:0;
        visibility:hidden;

        transition:.2s ease;

        z-index:9998;
    }

    .sidebar-overlay.show{
        opacity:1;
        visibility:visible;
    }

    .sidebar.mobile-open{
        transform:translateX(0);
    }

.widget-title{
    font-size:14px;
}
      
.header-text{
    flex:1;
}

.header{
    position:sticky;
    top:0;
    z-index:9997;
}

.content-layout{
    display:flex;
    flex-direction:column;
	gap:0;
}
}
