.app-layout {
    display: flex; min-height: 100vh; background: #F0F6FD;
}
.sidebar-wrap {
    width: 220px; min-height: 100vh; background: #0C447C;
    display: flex; flex-direction: column; flex-shrink: 0;
    position: fixed; top: 0; left: 0; bottom: 0; z-index: 100;
}
.sidebar-logo {
    display: flex; align-items: center; gap: 10px;
    padding: 1.5rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.1);
}
.sidebar-logo-icon {
    width: 36px; height: 36px; border-radius: 10px;
    background: rgba(255,255,255,0.15);
    display: flex; align-items: center; justify-content: center;
}
.sidebar-app-name { color: #fff; font-size: 16px; font-weight: 600; }
.sidebar-nav { flex: 1; padding: 1rem 0; overflow-y: auto; }
.nav-section {
    font-size: 10px; font-weight: 600; color: rgba(255,255,255,0.4);
    letter-spacing: 1px; padding: 0.5rem 1.25rem; margin: 0;
}
.nav-item {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 1.25rem; color: rgba(255,255,255,0.7);
    text-decoration: none; font-size: 13px; font-weight: 500;
    transition: background .15s, color .15s; border-radius: 0;
}
.nav-item:hover { background: rgba(255,255,255,0.08); color: #fff; }
.nav-item.active { background: rgba(255,255,255,0.15); color: #fff; }
.nav-icon { display: flex; align-items: center; opacity: 0.8; }
.nav-item.active .nav-icon { opacity: 1; }
.sidebar-footer {
    padding: 1rem 1.25rem; border-top: 1px solid rgba(255,255,255,0.1);
    display: flex; align-items: center; justify-content: space-between;
}
.sidebar-user { display: flex; align-items: center; gap: 10px; }
.sidebar-avatar {
    width: 34px; height: 34px; border-radius: 50%;
    background: rgba(255,255,255,0.2); color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 12px; font-weight: 600;
}
.sidebar-user-name { color: #fff; font-size: 13px; font-weight: 500; margin: 0; }
.sidebar-user-rol { color: rgba(255,255,255,0.5); font-size: 11px; margin: 0; }
.sidebar-logout {
    background: transparent; border: none; color: rgba(255,255,255,0.5);
    cursor: pointer; padding: 6px; border-radius: 6px;
    transition: background .15s, color .15s;
    display: flex; align-items: center;
}
.sidebar-logout:hover { background: rgba(255,255,255,0.1); color: #fff; }
.app-content {
    margin-left: 220px; flex: 1; min-height: 100vh;
    padding: 2rem; box-sizing: border-box;
}

.nav-empresa-info {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 1.25rem; margin: 0;
}
.nav-empresa-avatar {
    width: 32px; height: 32px; border-radius: 50%;
    background: rgba(255,255,255,0.2); color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; font-weight: 600; flex-shrink: 0;
}

.hamburger {
    display: none;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 4px;
    margin-right: 4px;
}

@media (max-width: 768px) {
    .hamburger { display: flex; align-items: center; }

    .sidebar-wrap {
        width: 100%;
        min-height: auto;
        position: relative;
        flex-direction: row;
        align-items: center;
    }
    .sidebar-wrap .sidebar-nav { display: none; }
    .sidebar-wrap .sidebar-footer { display: none; }
    .sidebar-wrap.open { flex-direction: column; }
    .sidebar-wrap.open .sidebar-nav { display: block; width: 100%; }
    .sidebar-wrap.open .sidebar-footer { display: flex; width: 100%; }

    .app-content {
        margin-left: 0;
        padding: 1rem;
    }
    .app-layout { flex-direction: column; }
}
