.container { max-width:1200px; margin:0 auto; padding:0 1rem; }
.header {
    background:var(--black-intense); padding:0.75rem 0;
    border-bottom:1px solid var(--border);
    position:sticky; top:0; z-index:100;
}
.header .container {
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-direction:row;
    gap:0.5rem;
    flex-wrap:nowrap;
}
.header .logo-section {
    display:flex;
    align-items:center;
    gap:0.75rem;
    width:auto;
    flex-wrap:nowrap;
}
.header .logo {
    flex-shrink:0;
    min-width:0;
}
.header .logo img {
    height:40px;
    width:auto;
    max-width:100%;
}
.header .logo-text {
    min-width:0;
}
.header .logo-text h2 {
    margin:0;
    font-size:1rem;
    font-weight:600;
    color:var(--white);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.header nav {
    display:flex;
    flex-wrap:nowrap;
    gap:0.5rem;
    align-items:center;
    justify-content:flex-start;
    width:auto;
    font-size:0.85rem;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}
.header nav a {
    color:var(--gray-light);
    font-weight:500;
    padding:0 0.75rem;
    white-space:nowrap;
    flex-shrink:0;
    display:inline-flex;
    align-items:center;
    height:40px;
}
.header nav a:hover, .header nav a.active {
    color:var(--white);
    background:var(--gray-dark);
    border-radius:var(--radius-sm);
}
.header .auth-link {
    color:var(--red);
    font-weight:600;
}
.header .auth-link:hover {
    color:var(--red-hover);
}
@media (min-width:768px) {
    .header .container { flex-direction:row; gap:1rem; }
    .header .logo-section { width:auto; gap:1rem; }
    .header .logo-text h2 { font-size:1.25rem; }
    .header nav { gap:1.5rem; justify-content:flex-start; font-size:1rem; }
    .header nav a { padding:0 0.75rem; height:44px; }
    .container { padding:0 1.5rem; }
}
.footer {
    background:var(--black-intense); padding:2rem 0; text-align:center;
    border-top:1px solid var(--border); margin-top:3rem;
}
.footer p { color:var(--gray-light); font-size:.875rem; }
.sidebar {
    width:250px; min-height:100vh; background:var(--black-intense);
    border-right:1px solid var(--border); padding:2rem 1rem;
    position:sticky; top:0; height:100vh; overflow-y:auto; flex-shrink:0;
}
.sidebar .logo { text-align:center; margin-bottom:2rem; }
.sidebar .logo img { width:120px; margin:0 auto; }
.sidebar a {
    display:block; padding:.75rem 1rem; color:var(--gray-light);
    border-radius:var(--radius-sm); margin-bottom:.25rem;
    transition:background .3s,color .3s; font-weight:500;
}
.sidebar a:hover, .sidebar a.active { background:var(--gray-dark); color:var(--white); }
.sidebar .logout { margin-top:2rem; color:var(--error); }
.sidebar .logout:hover { background:var(--error); color:var(--white); }
.admin-layout { display:flex; min-height:100vh; }
.admin-content { flex:1; padding:2rem; }
@media (max-width:768px) {
    .header nav { gap:.75rem; flex-wrap:nowrap; overflow-x:auto; }
    .header .logo img { height:36px; }
    .header .logo-text h2 { font-size:1rem; white-space:normal; overflow:visible; text-overflow:clip; }
    .header nav a { height:36px; padding:0 .5rem; }
    .sidebar { width:200px; padding:1rem .5rem; }
    .admin-content { padding:1rem; }
}